When the same kind of notice has to go to many customers at once (shipments held at customs, duties to pay, an address that's incomplete), Bulk email sends one of your templates to everyone on a list. Each customer gets their own email, with their own details filled in, and their own ticket, so their reply comes back to the right place.
You can send from a CSV or Excel file in the app, or from your own systems through the API. Both work the same way.
1. Set up a sending template
Bulk email uses your saved replies (Settings → Templates). A template can be sent in bulk once it has two extra things, under Proactive sending:
- Email subject, for example
Your shipment {{awb}} needs attention. - Key, a short name for the template, such as
duties_payable. Your systems use it to say which template to send.
Write your own values in the subject or message with double braces: {{awb}}, {{exception_type}}, {{amount_due}}. Anything that isn't a built-in placeholder (such as {{contact_first_name}} or {{ticket_id}}) is a value each customer's row must supply. The template shows the list under Variables the sender must supply.
If a row is missing one of those values, that email isn't sent and the row shows why. IntelliDesk never sends an email with a blank where a value should be.
2. Give your desks a code (if you send from several)
If one list covers several desks, give each desk a short code on its settings page (Settings → Help Desks → the desk → Desk code), for example KHI or LHE. Each row then says which desk to send from.
Each desk also has a Bulk sends limit: how many emails a minute go out through its mailbox. It's 30 by default. Lower it if your mail server is strict about bulk sending.
3. Send from a file
Go to Bulk email in the sidebar (under Customers).
- Template. Choose the template. The subject and the values it needs are shown.
- File. Upload a
.csvor.xlsxfile with a header row and one row per email, up to 500 rows. Each row needs:- a reference that's unique to that email, such as the AWB number plus the exception,
- the customer's email address,
- a column for each value the template needs,
- and optionally a name and a desk code. If the file has no desk column, choose the desk under Send from.
- Columns. IntelliDesk matches the columns by their headers ("E-mail", "Exception Type", …). Change any that it got wrong.
- Check and send. You'll see the first emails exactly as they'll go out, and a list of every row that has a problem, such as a bad email address, a missing value, an unknown desk code, or a reference that's repeated in the file or was already sent. Rows with a problem are left out. Nothing is sent until you press Send.
The emails then go out in the background, at each desk's bulk limit, and the counts update as they do.
Never sent twice
Every row has its own reference. If a reference was already sent, or is waiting to be sent, that row is skipped as Already sent and nothing goes out. So you can safely upload the same file again, or retry a call that timed out. A reference that only ever failed can be sent again once you've fixed the problem.
What each status means
- Waiting: queued, about to go out.
- Sent: handed to the desk's mailbox. A ticket was started for the customer, waiting on their reply.
- Failed: not sent, with the reason. That can be a problem in the row, or the mailbox refusing the email (for example, the mail server rejected the login).
- Already sent: the reference was used before, so nothing was sent.
History and export
Bulk email → History lists every batch, from uploads and from the API. Open one to see each row's status, the reason for any failure, and a link to the ticket it started. Filter by status, and use Export CSV to download the whole batch with every value.
Agents see the batches they started and the rows on desks they work on. Managers see everything.
The emails and tickets
- Each email goes out from the desk's own mailbox, with the ticket number in the subject.
- It ends with the sender's email signature (the person who uploaded the file, or the agent linked to the API key) when they have one. Otherwise it ends with the desk's name.
- The ticket is like one started with New email: it's waiting on the customer, and it counts as a proactive email in Reports.
Sending from your own systems
Your systems can send the same notices automatically:
- REST API:
POST /api/v1/notifications/batchessends up to 500 records per call and returns each row's outcome straight away.GET /api/v1/notifications/batches/{id}andGET /api/v1/notifications/records/{reference}show where they stand. - One key for every desk: a manager can create an All desks key under Settings → Developer → Help desks. It can only send notifications (it can't read or change tickets), and every record names its desk by code. A desk's own API key works too, and sends from that desk.
- One email at a time:
POST /api/v1/tickets/outboundalso acceptstemplateKey,variablesandexternalRef(or anIdempotency-Keyheader). - MCP:
list_templates,send_proactive_batchandget_proactive_batch.
The full reference, with examples, is at intellidesk.co/api/docs.