- Integrations
- /
- Braze
- /
- Actions
- /
- Send Messages
ActionBrazeUpdated May 2026
How do I send a Braze message directly?
Short answer: Drop the "Braze → Send Messages" 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 |
|---|---|---|---|
External User IDs external_user_ids | array | Required | — |
Campaign ID (optional, for analytics) campaign_id | string | Optional | — |
Messages object (JSON) messages_json | string | Required | See Braze /messages/send docs for full message schema |
Sample request
{"external_user_ids": "{{trigger.external_user_ids}}","campaign_id": "{{trigger.campaign_id}}","messages_json": "{\"apple_push\":{\"alert\":\"Hi!\"}}"}
Returns
{"message": "success","dispatch_id": "abc-123"}
Use these fields in downstream nodes for routing, logging, or error handling.
Triggered by
Apps that pair well as the trigger for Send Messages.
Any of these apps can fire this action as part of a workflow.
FAQ
Questions about Send Messages.
What does the Send Messages action do in Braze?
Sends a message immediately to a specific user list (bypasses Canvas/Campaigns). Compose the message in the API call — channel, content, sender. For one-off transactional sends; for templated production messaging, prefer Trigger API Campaign with a pre-built campaign.
What inputs does Send Messages require?
Required: External User IDs, Messages object (JSON). 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 Braze 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 Send Messages support batch operations?
Yes. Run Send Messages inside a Loop node to process arrays. Tiny Command handles Braze's rate limits automatically so you don't have to throttle manually.
More actions
Other Braze actions.
Action
Track Custom Event
Pushes a custom behavioural event for a user with optional properties. Braze Canvas journeys can trigger on these events for engagement automation. The hook for "server-side action happened → fire Braze event to start the matching journey" workflows.
ActionUpdate User Attributes
Upserts user-level attributes (plan tier, country, signup_date, lifetime_value). Drives Braze segmentation. The standard "external state changed → reflect in Braze" sync action for keeping audience filters accurate.
ActionTrigger API Campaign
Fires an API-triggered campaign (designed and reviewed in Braze UI) at a specified user set with optional trigger_properties merged into the templates. The recommended pattern for production messaging — keeps content review in Braze, just invokes from the workflow.
Send send messages from your workflows.
Triggered by anything in the catalog. Free tier available. No credit card.