Sending a transactional email
By API call, by agent, or bound to an event.
First, create the template: a template with category: "transactional", any
key you like (lowercase, digits, underscores, unique to your organization),
and a subject. Then send it one of these ways.
By API call
POST /api/v1/transactional_emails scope: transactional:send
{
"template": "donation_receipt",
"to": "[email protected]",
"from": "[email protected]",
"variables": { "amount": "$50", "receipt_number": "1042" }
}
to does not need to be a contact. from must be an address on a verified
sending domain. The message is queued to the outbox and counts toward your
weekly cap. A 202 means queued, not delivered.
By agent
The send_transactional_email tool takes the same arguments. Useful when an
assistant is doing a one-off send on your behalf.
Bound to an event
Give the template a trigger event name and a from address, and every
POST /api/v1/events with that name sends the email once, to the event's
contact, with the payload available as {{ event.* }}. No API call per send.
One template per event name; a sequence can
be bound to the same event and both will run.
System mail
Password resets, team invitations, and the welcome email are transactional templates too, under reserved keys. You can edit their wording and design, but the required merge tag (the reset link, the accept link) has to stay or the save is refused.