Integration reference
Brevo Trigger and Action reference
Automate contact and list changes, react to email delivery events, and send transactional emails with Brevo.
Authentication
Connect with a Brevo API v3 key from SMTP & API → API Keys. FastHook validates the key and stores it encrypted.
- Trigger account type:
api_key; reconnect byreplace_credentials. - Action connection type:
api_key; available modes: Connected Brevo account.
Create or reuse the account from a Trigger or Action dialog, or manage it under Settings → Connected accounts. See Authentication and permissions for scopes and access diagnostics, or Connected accounts for reuse, reconnect, revocation, and credential rotation.
Scopes and permissions
The Trigger manifest does not declare a fixed base OAuth scope list. Installation access, API credentials, or the selected event configuration can still control available resources.
Operation-specific requirements appear in the tables below. Custom event selections can add scopes dynamically, so the current Trigger or Action dialog remains authoritative for the exact consent request.
Use Brevo as a Trigger
The current provider manifest contains 24 available Trigger definitions. Representative definitions include:
- Marketing List Addition
- Marketing Contact Updated
- Transactional Delivered
- Transactional Click
View all 24 available Trigger definitions
| Trigger | Manifest key | Delivery | Additional scopes |
|---|---|---|---|
| Marketing Spam | brevo.marketing_spam.instant | instant | None declared |
| Marketing Opened | brevo.marketing_opened.instant | instant | None declared |
| Marketing Click | brevo.marketing_click.instant | instant | None declared |
| Marketing Hard Bounce | brevo.marketing_hard_bounce.instant | instant | None declared |
| Marketing Soft Bounce | brevo.marketing_soft_bounce.instant | instant | None declared |
| Marketing Unsubscribe | brevo.marketing_unsubscribe.instant | instant | None declared |
| Marketing List Addition | brevo.marketing_list_addition.instant | instant | None declared |
| Marketing Delivered | brevo.marketing_delivered.instant | instant | None declared |
| Marketing Contact Updated | brevo.marketing_contact_updated.instant | instant | None declared |
| Marketing Contact Deleted | brevo.marketing_contact_deleted.instant | instant | None declared |
| Transactional Request | brevo.transactional_request.instant | instant | None declared |
| Transactional Delivered | brevo.transactional_delivered.instant | instant | None declared |
| Transactional Hard Bounce | brevo.transactional_hard_bounce.instant | instant | None declared |
| Transactional Soft Bounce | brevo.transactional_soft_bounce.instant | instant | None declared |
| Transactional Blocked | brevo.transactional_blocked.instant | instant | None declared |
| Transactional Spam | brevo.transactional_spam.instant | instant | None declared |
| Transactional Invalid Email | brevo.transactional_invalid_email.instant | instant | None declared |
| Transactional Deferred | brevo.transactional_deferred.instant | instant | None declared |
| Transactional Click | brevo.transactional_click.instant | instant | None declared |
| Transactional Opened | brevo.transactional_opened.instant | instant | None declared |
| Transactional Unique Opened | brevo.transactional_unique_opened.instant | instant | None declared |
| Transactional Unsubscribed | brevo.transactional_unsubscribed.instant | instant | None declared |
| Any Brevo Event | brevo.any_event.instant | instant | None declared |
| Custom Brevo Events | brevo.custom_webhook_events.instant | instant | None declared |
Choose the narrowest event definition that fits the Workflow. Configure provider-specific resource and event filters in the Source dialog before adding broader Workflow Filters.
Use Brevo Actions
The current Action manifest contains 11 operations. Representative Actions include:
- Create or Update Contact
- Get Contact
- Add Contacts to List
- Send Transactional Email
View all 11 available Action definitions
| Action | Manifest key | Access and auth | Manifest rate limit |
|---|---|---|---|
| Create or Update Contact | brevo.upsert_contact | None declared FastHook-managed account | 1/second |
| Get Contact | brevo.get_contact | None declared FastHook-managed account | 1/second |
| Update Contact | brevo.update_contact | None declared FastHook-managed account | 1/second |
| Delete Contact | brevo.delete_contact | None declared FastHook-managed account | 1/second |
| Add Contacts to List | brevo.add_contacts_to_list | None declared FastHook-managed account | 1/second |
| Remove Contacts from List | brevo.remove_contacts_from_list | None declared FastHook-managed account | 1/second |
| Create List | brevo.create_list | None declared FastHook-managed account | 1/second |
| Get List | brevo.get_list | None declared FastHook-managed account | 1/second |
| Send Transactional Email | brevo.send_transactional_email | None declared FastHook-managed account | 1/second |
| Get Account | brevo.get_account | None declared FastHook-managed account | 1/second |
| Custom API Request | brevo.custom_api_request | None declared FastHook-managed account | 1/second |
The Action editor reads its required permissions, fields, remote resource pickers, output schema, and rate limit from the provider manifest. Available fields can change with the selected operation and authentication mode.
Build a Workflow
- Create a Source using a Brevo Trigger definition.
- Create a Workflow with that Source as its Trigger.
- Add the required Brevo Action and select the connected account.
- Map Trigger or earlier-Step data into the Action fields with the field picker.
- Add a Filter, Paths, Delay, or Transformation when the route needs it.
- Activate the Workflow, produce a controlled event, and verify the run in Audit and in Brevo.
Troubleshooting Brevo
- The account is missing or cannot be selected
- Confirm the active FastHook team, provider, account status, and authentication mode. A disabled or revoked account cannot execute an Action.
- A resource picker is empty
- Verify that the connected provider identity can access the resource itself. OAuth consent does not add workspace, repository, channel, drive, project, base, or record permissions.
- The editor asks for additional scopes
- Reconnect the same account from the affected Trigger or Action so FastHook can request its current manifest scopes. Then reopen the editor and select the resource again.
- An active Workflow returns 401, 403, or a permission error
- Compare the selected operation’s access requirements below with the account recorded in Audit. Check provider-side membership and object access before repeating the Action.
- The provider returns 429 or a temporary 5xx
- Inspect the Step attempt and retryability in Audit. FastHook can retry temporary failures, but provider quotas and idempotency rules still apply.
Provider-specific checks
- Brevo currently restricts OAuth apps to users inside their own organization. External FastHook customers connect with their own API v3 key.
- FastHook manages separate marketing and transactional email webhooks, verifies Bearer authentication, and deduplicates repeated event deliveries.
- Transactional emails require a verified sender and sufficient Brevo credits. Subscription status and consent must match your contact's preferences.
- Contact attributes vary by account. Use attributes defined in Brevo, such as FIRSTNAME; list IDs are numeric JSON values.
- Brevo may restrict API access by IP. If a valid key is denied, check the account's authorized IP settings.
- Webhook schemas come from official examples. Optional fields vary by event; triggers retain the original event payload.