Send outbound email from Zendesk?



  • Thor

    Link doesnt work...

    I am trying to allow my agents to send an outbound email to customers through zendesk.


  • Jessie Schutz

    Hey Thor!

    Here's the link to Colin's tip:

    I'll update his comment with the correct link as well.

    This scenario is a little odd because Zendesk isn't built to work like an email client. If that tip doesn't help you get where you're going, please give us some more detail about your use case and why this functionality is important to you; we might be able to help you with another solution. 

  • Matt Savage

    It is possible to set the sender manually (via the app link below) or via the API Unfortunately, I don't think there's a way to default map Group1 -> Email1, Group2 -> Email2, etc. yet- but that would be a great feature!

    First, you'll want to go to the 'Email' tab in the Agent interface to add your selected email address ( there.

    You may need to install to see the actual address on a ticket if you're not familiar with viewing ticket values via the API.

    If you are creating/updating tickets via the API you can edit this ticket field inside of the ticket's JSON values:

                'ticket': {
                    "recipient": ""}


    When you view the ticket in Zendesk, check out the 'Select an Address' tab: it should now be set to the address you specified via the API above.

  • Michael Ichioka

    Madison from ZenDesk helped me find a work-around for this:

    I also added Other: Current User > Is Not > Agent as a condition to the standard "Notify requester of received request" trigger to avoid overlap.

  • Jessie Schutz

    Thanks for sharing your solution, Michael!

  • Patrick B.

    Is there still no way to send an outbound email out of Zendesk?

    Example use case: need to reach out to new applicant to request further documentation.

    Is Zendesk really not designed for that sort of thing?

  • Jessie Schutz

    Hi Patrick!

    Are you creating a ticket for these outbound communications?

  • Patrick B.

    Yes, but would prefer not to.

  • Jessie Schutz

    Hey Patrick,

    Zendesk isn't made to be an email client, so the only way to manually send a communication out of Zendesk is to create a ticket.

    If you're sending these messages out in bulk, I'd suggest that you check out our MailChimp Campaign integration. You can set it up so that any response creates a ticket in Zendesk, to make sure the response doesn't fall through the cracks.

    That said, though, I think that you could really leverage our Macros, Triggers, and Automations to streamline these requests and keep an accurate record of the communication in the form of the ticket you created.


  • Patrick B.

    I have a new job and once again we are trying to figure out how to originate a contact to a customer. For example, if I took a phone call and need to send a follow up. Or if my new accounts team needs to request additional documentation.

    What is the best way, if any, to do this in Zendesk?

  • Jessie Schutz

    Hi Patrick!

    If you're doing this on a case-by-case basis (not in bulk), the best way is to simply create a new ticket in Zendesk, with your customer as the requester. Add whatever information you need to communicate to them in the Description of the ticket. When you submit the ticket, an email will automatically go out to that customer. Provided that you haven't changed any of the formatting on your default triggers, your customer will see your message in that email.

  • Matthieu ETIENNE


    through a spoke account, tickets are submitted by customers who are (by default) only registered on such spoke account, but not on hub account.

    Is there anyway to send new ticket(email), via the hub account to these customers as it was sent from the spoke account?


  • Michel

    Bonjour Mathieu, 


    It would be a possibility to create a proactive ticket within your Hub. This would create this end-user in your Hub as well as in your Hub as well. The only point of conflict would be the email address this ticket would be sent from a different email address since you cannot add the same support address across different Zendesk accounts.

    You can definitely brand you email template and make it look like it has been sent out from the spokes but you will not be able to use the same email address.

    I hope this makes sense to you. 


  • David Debreczeni

    I came to the same conclusion as Michael I. in this thread and it works beautifully!

    see above:

  • Cristian Fernández

    Hi Everyone,

    Regarding this subject, we are currently deploying Zendesk, we finished a full configuration, deactivated the notifications, bulk imported end users so no notifications to end users during this pre-production stage while agents learn to work with Zendesk, and now we are ready to go live with agents working in tickets migrated during this pre-production stage, and we need to notify all the end users (1500+) with a welcome message and a link to our Guide and another to set their passwords, but we don't know how to notify all them.

    We don't see a button or functionality to notify all end users to start to work with Zendesk.

    How we can achieve this? any ideas?


  • Matt Savage

    Cristian, you can accomplish this via an automation. Assuming these tickets are all in the new or open status and you didn't import them today, something like this should work:

    Status < pending
    Ticket created > 24 hours ago
    Tags don't include "new_user_welcome"

    Notify email to (requester) -
    *Insert your own welcome message in email subject / body*
    Add tags: "new_user_welcome"

    It will notify all requesters once, then you can disable it tomorrow after it runs. You can also seamlessly switch over to the currently disabled triggers for any new requests by enabling the notifications or creating temporary ones.

  • Cristian Fernández

    Thanks for your quick answer Matt :-)

    Sadly it won't work for us, this pre-production period included about 10% of the end users, and only 50% of ends users has tickets at all.

    Please let me know if you have any other sugestion. I run out of ideas.

  • Matt Savage

    Cristian- Gotcha.  Your use case sounds like it'd be perfect for a campaign manager.  Lucky for you, Zendesk acquired a company that does just this earlier in 2017, Outbound.  Maybe give that a shot?

    If you're able to take a more technical route within Zendesk directly, you can write some code to send notifications through the Zendesk API.  Exporting a list of your users into a csv, then looping through it to create tickets sending them the same welcome messaging is pretty straightforward.  Here's a basic Python script to bulk create tickets via the Zendesk API.

    # -*- coding: utf-8 -*-
    # Import these Python modules to simplify Zendesk API interactions
    import json
    import requests
    import pprint
    import csv

    #Set the request parameters get credentials from environ variables in ~/.bash_profile.
    email = [your_email]
    token = '/token'
    user = email + token # you can ignore this line and the one above if you're not using an API token to authenticate (i.e. you're using email/password - not recommended for security reasons
    headers = {'content-type': 'application/json'}
    endpoint = 'tickets'
    url_end = endpoint + '.json'

    # PROD
    url = https://[your_subdomain] + url_end
    pwd= [your_password]

    # Set session variables
    session = requests.Session()
    session.auth = (user, pwd)
    session.headers = headers

    # upload file (static upload), can change this to user input if desired
    ifile = open('user_list.csv', 'rU', encoding='utf-8')
    reader = csv.reader(ifile)
    header = next(reader)

    # CSV will have the following components
    # Email_of_Owner | First_Name | Last_Name

    # Iterate over all elements in the main dictionary of Account SIDs
    for row in reader:

    # Variables from csv that will be used for Zendesk JSON
    requester_email = row[0]
    requester_name = row[1] + ' ' + row[2]
    friendly_name = row[3]

    # New Ticket Info
    subject = 'Welcome to our new community'
    tags = 'new_user_welcome'
    status = 'solved'
    greeting = 'Hi {{ticket.requester.first_name}},'
    body = greeting + """\n Your Welcome Message Goes Here. \n <- use this to start new lines"""

    new_ticket = {
    'ticket': {
    "requester": {"name": requester_name, "email" : requester_email},
    "subject": subject,
    "comment":{"body": body},
    "status": status,
    "tags": tags

    # Encode the data to create a JSON payload
    payload = json.dumps(new_ticket)
    pp = pprint.PrettyPrinter(indent = 4)
    # pp.pprint(payload)

    # Create ticket via tickets API endpoint
    response =, data=payload)

    # Check for HTTP codes other than 201 (Created)
    # Ideally, log errors to another csv to make debugging/retrial easier but this is a quick hack so terminal feedback will suffice
    if response.status_code != 201:
    print('Status:', response.status_code, 'Error:', response.text, 'Problem with the request for ' + email)

    # Report success
    print('Successfully created the ticket for ' + email)
  • Cristian Fernández

    Thanks Matt,

    Sorry for the late response.

    We've developed a small app for Zendesk to do this and your code was very helpful.


  • Jennifer Zou

    I am having the same error: An app has timed out and has prevented the submission of the ticket.

    Don't know how to fix it...

  • Ryan

    Hey Jennifer,

    This is due to some condition within an app that is causing this. We'd be glad to take a look, but this will likely be dependant on the apps you have installed. 

    I'll follow up in a ticket shortly!





  • HDM Contact

    Hey Patrick,

    Recently, we created a Proactive Campaigns application for Zendesk Support, which enables you to reach a specific list of customers without leaving Zendesk. This way you can send updates, offers or requests to the right audience at the right time. Finally, customers’ answers will be automatically raised as new tickets and picked up by Zendesk.


    It’s only a part of what Proactive Campaigns’ can do. You can find more information and install the app on Zendesk marketplace.


    We would also appreciate if you shared your experience with us after testing Proactive Campaigns app.


    Hopefully, we answered your question.

  • Team Fluz

    Hello HDM Contract,

    I tried your app. If it was able to send an email to just a single person, it would be perfect. Is this a feature you plan on adding in the future?

    Also would be nice if we could select the email to be the sender. 

    Add those features, and I would pay money to use it!

  • GrowthDot

    Team Fluz,

    I think this could be done in Proactive Campaigns.

    Please, give us some time to investigate and I will notify you ASAP!

  • Mahfuz Rasel

    Someone help me.
    I need a wifi password


Please sign in to leave a comment.

Powered by Zendesk