Braze logo

Braze

Braze is a customer engagement platform for managing user data, messaging, campaigns, analytics, catalogs, templates, and workspace automation.

119 actions Integration catalog
Request access
Connect Braze once you're in Boring.
01 · WHAT THE AGENT CAN DO

Actions

Every capability is a discrete, logged action the agent calls by name — scoped to what you authorize and recorded in the run trace.

Blocklist EmailsBRAZE_BLOCKLIST_EMAILS
HIGH IMPACT: globally unsubscribe and mark as hard bounced one to 50 exact email addresses. This can affect every profile sharing an address and prevent delivery across campaigns. Success is rejected unless Braze explicitly returns message=success. Default rate limit: 250,000 requests/hour.
Cancel Segment ExportsBRAZE_CANCEL_SEGMENT_EXPORTS
Ask Braze to cancel all ongoing exports for a segment. Braze documents no response confirmation schema, so a successful call is only the provider response and must not be treated as proof that cancellation completed.
Schedule Campaign TriggerBRAZE_CREATE_CAMPAIGN_TRIGGER_SCHEDULE
HIGH IMPACT: schedule one durable API-triggered campaign dispatch. Provide up to 50 recipients, optionally intersected with a Connected Audience. Audience-only targeting requires broadcast=true, which cannot include individual recipients. Recipient trigger properties override shared keys. Requires a dashboard API-triggered campaign and campaigns.trigger.schedule.create. Acceptance and a schedule ID do not prove delivery.
Schedule Canvas TriggerBRAZE_CREATE_CANVAS_TRIGGER_SCHEDULE
HIGH IMPACT: schedule one durable API-triggered Canvas entry. Provide up to 50 recipients, optionally intersected with a Connected Audience. Audience-only targeting requires broadcast=true, which cannot include individual recipients. Per-recipient context overrides shared context. Requires a dashboard API-triggered Canvas and canvas.trigger.schedule.create. Users are recorded as entries only at scheduled time; acceptance is not delivery.
Create CatalogBRAZE_CREATE_CATALOG
Create one persistent catalog in the connected Braze workspace. The catalog name must be unique and identifies the resource for later reads or deletion.
Create Catalog FieldsBRAZE_CREATE_CATALOG_FIELDS
Asynchronously create up to 50 fields in one Braze catalog. Requires the immutable catalogs.create_fields API-key permission and shares a 50 requests/minute limit with asynchronous catalog field and selection endpoints. A 202 response only confirms acceptance; Braze documents no job ID or terminal result.
Create Catalog ItemBRAZE_CREATE_CATALOG_ITEM
Synchronously create one Braze catalog item by exact item ID. Requires the immutable catalogs.create_item API-key permission and shares a 50 requests/minute synchronous item limit. Existing IDs and body-level id fields are rejected.
Create Multiple Catalog ItemsBRAZE_CREATE_CATALOG_ITEMS
Asynchronously create up to 50 Braze catalog items. Requires the immutable catalogs.add_items API-key permission and shares a 16,000 requests/minute limit with asynchronous catalog item endpoints. A 202 response confirms acceptance only; Braze documents no job ID, per-item result, or terminal completion.
Create Catalog SelectionBRAZE_CREATE_CATALOG_SELECTION
Asynchronously create one Braze catalog selection. Requires the immutable catalogs.create_selection API-key permission and shares a 50 requests/minute limit with asynchronous field and selection endpoints. Geo filters force nearest-first ordering. Storage and selection-count gates may reject the request. A 202 response confirms acceptance only and includes no documented job result.
Create Content BlockBRAZE_CREATE_CONTENT_BLOCK
Persist a reusable HTML or text Content Block in the connected Braze workspace. This creates content only; it does not send or deliver a message.
Create Email TemplateBRAZE_CREATE_EMAIL_TEMPLATE
Persist an HTML email template on Braze's Templates & Media page. This creates template content only; it does not send or deliver an email.
Create Media Library AssetBRAZE_CREATE_MEDIA_LIBRARY_ASSET
Upload one asset to Braze from a public HTTP(S) URL or local file. URL mode sends JSON; local-file mode uses the multipart asset_file contract implemented by Braze's official MCP server and does not send base64. Images, vectors, and documents are limited to 5 MB; ZIP files are limited to 50 MB total and 5 MB per supported root-level file. Videos and VCF files are dashboard-only. Media Library Public APIs must be enabled; free-trial workspaces have a default 200-asset limit. Rate limit: 100/hour.
Create Message ScheduleBRAZE_CREATE_MESSAGE_SCHEDULE
HIGH IMPACT: schedule API-only channel messages for future processing. Individual targets are limited to 50 combined IDs and aliases; otherwise explicit broadcast=true is required. Requires messages.schedule.create. The returned schedule and dispatch IDs confirm acceptance only and never delivery; rendered payload size, subscription state, and channel eligibility remain gates.
Create Preference CenterBRAZE_CREATE_PREFERENCE_CENTER
HIGH IMPACT: durably create and optionally activate a Braze-hosted preference center. Its name cannot be changed after creation. Confirm HTML, state, and identifiers before calling. Limited to 10 requests/minute per workspace; Braze publishes no separate plan-tier gate.
Create SDK Authentication KeyBRAZE_CREATE_SDK_AUTHENTICATION_KEY
HIGH IMPACT SECURITY OPERATION: create an SDK Authentication key from an RSA public key for one exact app. Set make_primary only when the new key should immediately replace the current primary key. Never submit private-key material. Braze permits at most three keys per app. Success is rejected unless Braze returns a new key ID. Default rate limit: 250,000 requests/hour.
Create Send IDBRAZE_CREATE_SEND_ID
Create or assign a send ID for programmatic message-performance tracking. Every explicit campaign_id and send_id combination counts toward the workspace limit of 100 custom send IDs/day. Requires sends.id.create; this action creates tracking identity and does not send a message.
Create User AliasesBRAZE_CREATE_USER_ALIASES
Add up to 50 Braze aliases to existing external-ID users or create alias-only profiles. Requires users.alias.new. Duplicate alias-label/name pairs can return success without changing a profile; a 201-style success is acceptance, not proof that every alias was attached. Shares a 20,000 requests/minute rate limit.
Delete Campaign Trigger ScheduleBRAZE_DELETE_CAMPAIGN_TRIGGER_SCHEDULE
HIGH IMPACT: durably cancel a scheduled API-triggered campaign before send time. This cannot undo sends already processed. Last-second cancellation is best-effort and may affect all, some, or none of the target users. Requires campaigns.trigger.schedule.delete; an accepted response is not proof that no sends occurred.
Delete Canvas Trigger ScheduleBRAZE_DELETE_CANVAS_TRIGGER_SCHEDULE
HIGH IMPACT: durably cancel a scheduled API-triggered Canvas before entry time. This cannot undo entries already processed. Last-second cancellation is best-effort and may affect all, some, or none of the target users. Requires canvas.trigger.schedule.delete; acceptance is not proof that no Canvas entries occurred.
Delete CatalogBRAZE_DELETE_CATALOG
Permanently delete one Braze catalog and all of its contents by exact catalog name through DELETE /catalogs/{catalog_name}. This cannot be undone and requires catalogs.delete permission.
Delete Catalog FieldBRAZE_DELETE_CATALOG_FIELD
Asynchronously request deletion of one field by exact catalog and field name. Requires the immutable catalogs.delete_fields API-key permission and shares a 50 requests/minute field/selection limit. Fields used by a selection or as an inventory field cannot be deleted. A 202 response is acceptance, not completion.
Delete Catalog ItemBRAZE_DELETE_CATALOG_ITEM
Request deletion of one catalog item by exact catalog name and item ID. HTTP 202 with message=success confirms acceptance, not terminal deletion. Requires the immutable catalogs.delete_item API-key permission and shares a 50 requests/minute synchronous item limit.
Delete Multiple Catalog ItemsBRAZE_DELETE_CATALOG_ITEMS
Asynchronously request deletion of up to 50 catalog items by exact IDs. Requires the immutable catalogs.delete_items API-key permission and shares a 16,000 requests/minute asynchronous item limit. A 202 response is only request acceptance; Braze returns no documented job ID or per-item deletion proof.
Delete Catalog SelectionBRAZE_DELETE_CATALOG_SELECTION
Asynchronously request deletion of a selection by exact catalog and selection name. Requires the immutable catalogs.delete_selection API-key permission and shares a 50 requests/minute field/selection limit. A 202 response confirms acceptance only; Braze documents no terminal deletion result.
Delete Message ScheduleBRAZE_DELETE_MESSAGE_SCHEDULE
HIGH IMPACT: durably cancel an API-only message schedule before it is sent. This cannot undo a send already processed. Requires messages.schedule.delete. An accepted cancellation does not prove that a send already being processed was stopped.
Delete SDK Authentication KeyBRAZE_DELETE_SDK_AUTHENTICATION_KEY
HIGH IMPACT SECURITY OPERATION: permanently delete one exact non-primary SDK Authentication key from one exact app. Braze refuses deletion of the primary key; select another primary first. Success is rejected unless the returned remaining-key list excludes the exact requested key ID. Default rate limit: 250,000 requests/hour.
Delete UsersBRAZE_DELETE_USERS
Permanently queue deletion of up to 50 users using exactly one identifier type. Requires users.delete and shares a 20,000 requests/minute rate limit. This cannot be undone; success reports queued count, not completion, and cache propagation can take up to five minutes.
Duplicate CampaignBRAZE_DUPLICATE_CAMPAIGN
HIGH IMPACT: request an asynchronous, durable duplicate of a Braze campaign. The duplicate persists until explicitly deleted and can consume workspace campaign capacity. HTTP 202 confirms only that Braze accepted the request, not that campaign creation completed. Existing tags only; a supplied tag list replaces source tags. Requires campaigns.duplicate and is limited to 100 calls/minute.
Duplicate CanvasBRAZE_DUPLICATE_CANVAS
HIGH IMPACT: request an asynchronous, durable duplicate of a Braze Canvas. The duplicate persists until explicitly deleted and can consume workspace Canvas capacity. HTTP 202 confirms only acceptance, not completed Canvas creation. Existing tags only; a supplied tag list replaces source tags. Requires canvas.duplicate and is limited to 100 calls/minute.
End Live ActivityBRAZE_END_LIVE_ACTIVITY
IRREVERSIBLE: end an SDK-registered iOS Live Activity with a final ContentState. An optional past dismissal_date removes it from the UI immediately. Requires messages.live_activity.update. HTTP 201 confirms receipt only, not APNs dispatch, display, dismissal, or delivery. An ended activity cannot be resumed.
Export Global Control Group UsersBRAZE_EXPORT_GLOBAL_CONTROL_GROUP_USERS
Start an asynchronous export of all current Global Control Group users. The response only acknowledges dispatch and identifies files; completion arrives through the callback, temporary URL, or configured cloud storage. Files are generally split per 5,000 users.
Export Segment UsersBRAZE_EXPORT_SEGMENT_USERS
Start an asynchronous newline-delimited JSON export for one segment. The response acknowledges dispatch, not completion. Only one export per segment may run at once, with at most 100 concurrent segment exports company-wide; event, purchase, campaign, and Canvas history fields contain 90 days of detail.
Export Users by IdentifiersBRAZE_EXPORT_USERS_BY_IDENTIFIERS
Return user profiles matching one or more Braze, external, alias, device, email, or phone identifiers; this reads profiles and does not track events or consume data points.
Generate Preference Center URLBRAZE_GENERATE_PREFERENCE_CENTER_URL
Generate a user-specific URL for an API-created or drag-and-drop Braze preference center. HIGH IMPACT: the returned URL is a sensitive capability that can change that user's subscriptions. Do not log, publish, or share it. This does not support legacy preference centers. Limited to 1,000 requests/minute per workspace.
Get CampaignBRAZE_GET_CAMPAIGN
Return configuration and delivery details for one campaign identified by its Braze campaign ID.
Get Campaign AnalyticsBRAZE_GET_CAMPAIGN_ANALYTICS
Get up to 100 daily campaign analytics points. Dashboard and Currents aggregation definitions can differ.
Get Campaign Translation SourceBRAZE_GET_CAMPAIGN_TRANSLATION_SOURCE
Read the default source values inside translation tags for one campaign message variation. Requires campaigns.translations.get, translation tags on a multi-language message, and observes a 250,000 requests/minute limit.
Get CanvasBRAZE_GET_CANVAS
Return configuration and step details for one Canvas identified by its Braze Canvas ID.
Get Canvas AnalyticsBRAZE_GET_CANVAS_ANALYTICS
Export Canvas daily time-series analytics with optional variant, step, and deleted-step breakdowns. Dashboard and Currents definitions can differ.
Get Canvas Analytics SummaryBRAZE_GET_CANVAS_ANALYTICS_SUMMARY
Export Canvas analytics rollups with optional variant, step, and deleted-step breakdowns. Braze normalizes range timestamps to midnight in the company time zone.
Get Canvas Translation SourceBRAZE_GET_CANVAS_TRANSLATION_SOURCE
Read default source values inside translation tags for one Canvas step message variation. Requires canvas.translations.get, translation tags on a multi-language message, and observes a 250,000 requests/minute limit.
Get Catalog ItemBRAZE_GET_CATALOG_ITEM
Return one Braze catalog item by exact catalog name and item ID. Requires the immutable catalogs.get_item API-key permission and shares a 50 requests/minute limit with synchronous catalog item endpoints.
Get Content BlockBRAZE_GET_CONTENT_BLOCK
Return one persisted Braze Content Block by API identifier, optionally with its current campaign and Canvas inclusion records.
Get Content Block Translation SourceBRAZE_GET_CONTENT_BLOCK_TRANSLATION_SOURCE
Read default source values inside one Content Block's translation tags. Requires content_blocks.translations.get, configured translation tags, and observes a 250,000 requests/minute limit.
Get Custom Event AnalyticsBRAZE_GET_CUSTOM_EVENT_ANALYTICS
Get 1 to 100 daily or hourly occurrence counts for one custom event, optionally filtered by app and analytics-enabled segment.
Get Email TemplateBRAZE_GET_EMAIL_TEMPLATE
Return one stored HTML email template by API identifier. Braze does not accept drag-and-drop-editor templates on this endpoint.
Get Email Template Translation SourceBRAZE_GET_EMAIL_TEMPLATE_TRANSLATION_SOURCE
Read default source values inside an email template's translation tags. This source endpoint specifically requires templates.email.info, plus a multi-language template, and observes a 250,000 requests/minute limit.
Get Preference CenterBRAZE_GET_PREFERENCE_CENTER
Get persisted HTML, state, options, identifiers, and timestamps for one Braze preference center. Limited to 1,000 requests/minute per workspace.
Get Purchase SeriesBRAZE_GET_PURCHASE_SERIES
Get 1 to 100 daily or hourly purchase quantity or revenue points, optionally filtered by app and product. The selected metric determines the exact Braze purchase endpoint.
Get SegmentBRAZE_GET_SEGMENT
Return Braze's documented configuration details for one segment identified by its segment API identifier.
Get Segment AnalyticsBRAZE_GET_SEGMENT_ANALYTICS
Get up to 100 daily estimated segment-size points. Export and count segment users when an exact size is required.
Get Send AnalyticsBRAZE_GET_SEND_ANALYTICS
Get up to 100 daily analytics points for a tracked send from an API campaign. Braze retains send analytics for 14 days after the send and attributes campaign conversions to the most recent send_id received by each user. Counts may not match dashboard analytics or Currents one-for-one because aggregation windows and definitions differ.
Get Session AnalyticsBRAZE_GET_SESSION_ANALYTICS
Get 1 to 100 daily or hourly session-count points, optionally filtered by app and analytics-enabled segment.
Get Subscription Group StatusBRAZE_GET_SUBSCRIPTION_GROUP_STATUS
Get saved membership status for up to 50 users in one exact subscription group. External IDs take query precedence if also supplied; email and phone cannot be combined. Results are Subscribed, Unsubscribed, or Unknown and do not include the overriding global email state. Default rate limit: 250,000 requests/hour.
Get User KPI SeriesBRAZE_GET_USER_KPI_SERIES
Get 1 to 100 points for one user KPI: daily active users, rolling 30-day monthly active users, daily new users, or daily uninstalls. Optionally filter to one Braze app. The selected metric determines the exact Braze KPI endpoint.
Get Webhook Template Translation SourceBRAZE_GET_WEBHOOK_TEMPLATE_TRANSLATION_SOURCE
Read default source values inside a webhook template's translation tags. Requires templates.translations.get and webhook template translations enabled by Braze; otherwise Braze may return FEATURE_NOT_ENABLED. The endpoint has a 250,000 requests/minute limit.
Identify UsersBRAZE_IDENTIFY_USERS
Assign external IDs to alias-only, email-only, or phone-only Braze profiles, merging into an existing identified profile when applicable. This is irreversible when a merge occurs: the source alias-only, email-only, or phone-only profile is removed after its data is transferred. Requires users.identify and shares a 20,000 requests/minute rate limit. A 201 success only confirms acceptance: case mismatches, duplicate matches, or prioritization can produce no merge.
List CampaignsBRAZE_LIST_CAMPAIGNS
Return one page of Braze campaigns for discovery, optionally including archived campaigns and filtering by last edit time.
List Campaign TranslationsBRAZE_LIST_CAMPAIGN_TRANSLATIONS
View every configured locale translation map for one campaign message variation, or filter by locale. Requires campaigns.translations.get, multi-language support on the message, and observes a 250,000 requests/minute limit.
List CanvasesBRAZE_LIST_CANVASES
Return one fixed provider page of up to 100 Braze Canvases for discovery, optionally including archived Canvases and filtering by last edit time. Braze exposes no page-size control; returning the complete page avoids losing continuation records. A local 10-item cap would save context tokens, not provider requests.
Showing the first 60 of 119 actions.