How to email a list of customers from a CSV in Zendesk

By Jake Marsh · Updated

To email a list of customers from Zendesk, open Heralder, choose New campaign and Upload a CSV with one row per person and an email column. Every other column becomes a merge field, so {{order_id}} or {{renewal_date}} fills in per customer. Write the message once, pick the ticket settings and the support address it's sent from, check the dry run and a test ticket, then send.

Prepare the CSV

ColumnRequiredWhat it does
emailYesWho gets the ticket. Without it Heralder says "No email column found. Name one column "email"."
name, first_name, last_nameNoRecognized for the requester's name and the {{first_name}} merge field
localeNoPicks the matching language version, such as de or pt-br
Anything elseNoBecomes a merge field with the column's name, such as {{order_id}}

One row per person. A second row with the same email is skipped as "Duplicate email in this audience".

Steps

  1. Open Heralder and choose New campaign.
  2. Upload a CSV under Who should get a ticket? Heralder reads the file in your browser and lists the people and columns it found.
  3. Write the message. Give the campaign a name for your team, such as "Delayed orders, October 6". Write a subject like "Your order {{order_id}} is delayed" and the message. Click a merge field to insert it.
  4. Use fallbacks. {{first_name|there}} writes "there" when a first name is blank, so nobody gets "Hi ,". **bold** and links work.
  5. Add language versions for each locale in your file. People whose locale matches get that version.
  6. Or start from a macro with Start from a macro (optional) to reuse wording you already have.
  7. Set the ticket and delivery: status, priority, type, group, assignee, brand, Ticket form, Send from (your support address) and Extra tags, then how customers hear about it.
  8. Review and send. The dry run shows the first tickets exactly as Zendesk will create them, merge fields filled in. Send a test ticket, then send.

Delivery choices

ChoiceWhat happens
Public reply, emailed by your account's triggersMost accounts: the standard "Notify requester of new proactive ticket" trigger emails each customer
Public reply, emailed by the Heralder triggerAn admin turns on the Heralder trigger once from this step
Internal note onlyTickets are created, nobody is emailed, and agents reply when ready

Who to skip

SkipSetting
People who opted outOpt-out tag, heralder_opt_out by default
Your own teamAgents and admins
Blocked accountsSuspended users
Certain companiesEmail domains to skip
People you just wrote toContacted by Heralder in the last N days

Sending

The send rate is 20 to 1,000 tickets per minute (default 300), up to 100 tickets per API call. Keep the tab open while it sends. Pause after this batch stops cleanly, and Stop ends the campaign. If it stops early, choose the same CSV under Resume or retry: Heralder reads the campaign's tickets back from Zendesk and sends only to people who don't have one yet.

What it costs

Heralder is billed monthly by Zendesk after a 14-day free trial: Team $120 a month per Zendesk account for up to 1,000 tickets per campaign and 5 senders, Professional $199 for 5,000 and 10, Enterprise $349 for 15,000 and 20. The Heralder documentation covers every step.

Heralder

Bulk proactive tickets: one personal ticket per customer from a CSV or Zendesk search, with undo. From $120 a month per Zendesk account.


Questions

Can I use placeholders from my CSV in the subject?

Yes. Merge fields work in the subject and the message, for example "Your order {{order_id}} is delayed".

Is this a mass email or separate tickets?

Separate tickets. Each customer gets their own ticket, and their reply lands on it like any other conversation.

Does the CSV leave my computer?

Only as the tickets Heralder creates in your Zendesk. The file is read in your browser, and nothing is stored outside Zendesk.

Can I add CCs to campaign tickets?

No. Each ticket goes to one requester from the list.


More Heralder guides


More Zendesk guides