- Integrations
- /
- Brevo
- /
- Actions
- /
- Create Contact
ActionBrevoUpdated May 2026
How do I add a contact to Brevo?
Short answer: Drop the "Brevo → Create Contact" action anywhere in your workflow, map the inputs from upstream nodes, and publish.
Inputs
The fields this action accepts.
Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.
| Field | Type | Required | Description |
|---|---|---|---|
Email email | string | Required | Contact email address |
First Name first_name | string | Optional | First Name. e.g. "John" |
Last Name last_name | string | Optional | Last Name. e.g. "Doe" |
SMS Phone sms | string | Optional | Phone number in E.164 format for SMS campaigns |
List IDs list_ids | string | Optional | Comma-separated list IDs to add the contact to |
Update if Exists updateEnabled | options | Optional | Update the contact if the email already exists |
Sample request
{"email": "user@example.com","first_name": "John","last_name": "Doe","sms": "+15551234567","list_ids": "e.g. 2,5"}
Returns
{"id": 12345}
Use these fields in downstream nodes for routing, logging, or error handling.
Triggered by
Apps that pair well as the trigger for Create Contact.
Any of these apps can fire this action as part of a workflow.
FAQ
Questions about Create Contact.
What does the Create Contact action do in Brevo?
Creates or upserts (when updateEnabled=true) a contact with email, attributes, and initial list memberships. The base hook for "form submission → push to Brevo" sync workflows.
What inputs does Create Contact require?
Required: Email. Every input accepts a static value or a variable from any upstream node in your workflow.
Can I use dynamic inputs from earlier workflow nodes?
Yes. Any field on this action can pull values from upstream nodes, whether that's a form response, a trigger payload, an AI output, or a lookup result.
What happens if Brevo returns an error?
The workflow pauses on the failed node, the error message is captured in the run log, and you can retry the run with one click. Auto-retry policies are configurable per workflow with exponential backoff up to 5 attempts.
Does Create Contact support batch operations?
Yes. Run Create Contact inside a Loop node to process arrays. Tiny Command handles Brevo's rate limits automatically so you don't have to throttle manually.
More actions
Other Brevo actions.
Action
Add Contact to List
Adds an existing contact to a specific Brevo list. If the contact isn't in the account, this fails — use Create Contact first or the upsert pattern. List membership drives campaign targeting.
ActionDelete Contact
Hard-deletes the contact and history. Irreversible — for GDPR right-to-erasure compliance workflows. For soft removal that preserves engagement history, unsubscribe or move to a suppression list instead.
ActionGet Contact
Returns the contact by email or ID with all attributes and list memberships. The standard lookup for enrichment workflows or for resolving "is this email in Brevo already" before downstream decisions.
ActionList Contacts
Paginated contacts with filters by list, segment, modified date. For sync workflows that mirror Brevo into a warehouse, paginate with the modifiedSince filter to incrementally pull only touched records.
ActionList Brevo Lists
Returns every list in the connected account with name, contact count, folder. Useful for populating list-pickers at workflow setup or for inventorying audience structure.
ActionRemove Contact from List
Removes a contact from a specific list while preserving the contact record overall. Useful for "campaign ended → remove from the campaign list" lifecycle hygiene workflows.
Send create contact from your workflows.
Triggered by anything in the catalog. Free tier available. No credit card.