Marketing Automation

Braze, worked by an AI employee

Not another app for your team to learn, and not a set of rules for you to build. You hire an AI employee, you give it access to your Braze account, and you ask it for things in Slack or Teams the way you would ask anyone else on the team. There is nothing to map and nothing to maintain.

  • Marketing Automation
  • Connects with a key
  • 99 ready-made tools
  • Asked in Slack or Teams
At work

An illustration of how the conversation reads, not a transcript from a client account.

What Braze is

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

You paste in a key from your own Braze account. It is kept encrypted, and you can withdraw it from inside Braze whenever you like.

How a run works

One message in, the work done in Braze.

  1. 01

    You ask

    You message your AI employee in the chat your team already has open, in one sentence, in your own words.

  2. 02

    It works out the step

    It decides what the job needs in Braze. You do not pick anything from a menu or wire anything together.

  3. 03

    It does the work

    Signed in to your own Braze account, inside the access you granted it, doing the thing you asked for.

  4. 04

    It reports back

    It tells you what it did, in the same thread. If it could not do something, it says so rather than guessing.

99 tools it already has

What it can do in Braze

These are the ready-made tools your AI employee already has in Braze. It is not limited to them, but it never has to be taught these.

  • Blocklist EmailsHIGH 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.
  • Cancel Segment ExportsAsk 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 a
  • Create CatalogCreate 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 FieldsAsynchronously create up to 50 fields in one Braze catalog. Requires the immutable catalogs.createfields API-key permission and shares a 50 requests/minute limit with asynchronous
  • Create Catalog ItemSynchronously create one Braze catalog item by exact item ID. Requires the immutable catalogs.createitem API-key permission and shares a 50 requests/minute synchronous item limit.
  • Create Catalog SelectionAsynchronously create one Braze catalog selection. Requires the immutable catalogs.createselection API-key permission and shares a 50 requests/minute limit with asynchronous field
  • Create Content BlockPersist 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 TemplatePersist 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 AssetUpload one asset to Braze from a public HTTP(S) URL or local file. URL mode sends JSON; local-file mode uses the multipart assetfile contract implemented by Braze's official MCP se
  • Create Message ScheduleHIGH 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.
  • Create Multiple Catalog ItemsAsynchronously create up to 50 Braze catalog items. Requires the immutable catalogs.additems API-key permission and shares a 16,000 requests/minute limit with asynchronous catalog
  • Create Preference CenterHIGH 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
  • Create SDK Authentication KeyHIGH IMPACT SECURITY OPERATION: create an SDK Authentication key from an RSA public key for one exact app. Set makeprimary only when the new key should immediately replace the curr
  • Create Send IDCreate or assign a send ID for programmatic message-performance tracking. Every explicit campaignid and sendid combination counts toward the workspace limit of 100 custom send IDs/
  • Create User AliasesAdd 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 changi
  • Delete Campaign Trigger ScheduleHIGH 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 al
  • Delete Canvas Trigger ScheduleHIGH 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 a
  • Delete CatalogPermanently delete one Braze catalog and all of its contents by exact catalog name through DELETE /catalogs/{catalogname}. This cannot be undone and requires catalogs.delete permis
  • Delete Catalog FieldAsynchronously request deletion of one field by exact catalog and field name. Requires the immutable catalogs.deletefields API-key permission and shares a 50 requests/minute field/
  • Delete Catalog ItemRequest 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.de
  • Delete Catalog SelectionAsynchronously request deletion of a selection by exact catalog and selection name. Requires the immutable catalogs.deleteselection API-key permission and shares a 50 requests/minu
  • Delete Message ScheduleHIGH 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 d
  • Delete Multiple Catalog ItemsAsynchronously request deletion of up to 50 catalog items by exact IDs. Requires the immutable catalogs.deleteitems API-key permission and shares a 16,000 requests/minute asynchron
  • Delete SDK Authentication KeyHIGH 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 primar
  • Delete UsersPermanently 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
  • Duplicate CampaignHIGH IMPACT: request an asynchronous, durable duplicate of a Braze campaign. The duplicate persists until explicitly deleted and can consume workspace campaign capacity. HTTP 202 c
  • Duplicate CanvasHIGH IMPACT: request an asynchronous, durable duplicate of a Braze Canvas. The duplicate persists until explicitly deleted and can consume workspace Canvas capacity. HTTP 202 confi
  • End Live ActivityIRREVERSIBLE: end an SDK-registered iOS Live Activity with a final ContentState. An optional past dismissaldate removes it from the UI immediately. Requires messages.liveactivity.u
  • Export Global Control Group UsersStart an asynchronous export of all current Global Control Group users. The response only acknowledges dispatch and identifies files; completion arrives through the callback, tempo
  • Export Segment UsersStart 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 1
  • Export Users by IdentifiersReturn 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 URLGenerate 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 subscr
  • Get CampaignReturn configuration and delivery details for one campaign identified by its Braze campaign ID.
  • Get Campaign AnalyticsGet up to 100 daily campaign analytics points. Dashboard and Currents aggregation definitions can differ.
  • Get Campaign Translation SourceRead the default source values inside translation tags for one campaign message variation. Requires campaigns.translations.get, translation tags on a multi-language message, and ob
  • Get CanvasReturn configuration and step details for one Canvas identified by its Braze Canvas ID.
  • Get Canvas AnalyticsExport Canvas daily time-series analytics with optional variant, step, and deleted-step breakdowns. Dashboard and Currents definitions can differ.
  • Get Canvas Analytics SummaryExport 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 SourceRead default source values inside translation tags for one Canvas step message variation. Requires canvas.translations.get, translation tags on a multi-language message, and observ
  • Get Catalog ItemReturn one Braze catalog item by exact catalog name and item ID. Requires the immutable catalogs.getitem API-key permission and shares a 50 requests/minute limit with synchronous c
  • Get Content BlockReturn one persisted Braze Content Block by API identifier, optionally with its current campaign and Canvas inclusion records.
  • Get Content Block Translation SourceRead default source values inside one Content Block's translation tags. Requires contentblocks.translations.get, configured translation tags, and observes a 250,000 requests/minute
  • Get Custom Event AnalyticsGet 1 to 100 daily or hourly occurrence counts for one custom event, optionally filtered by app and analytics-enabled segment.
  • Get Email TemplateReturn one stored HTML email template by API identifier. Braze does not accept drag-and-drop-editor templates on this endpoint.
  • Get Email Template Translation SourceRead default source values inside an email template's translation tags. This source endpoint specifically requires templates.email.info, plus a multi-language template, and observe
  • Get Preference CenterGet persisted HTML, state, options, identifiers, and timestamps for one Braze preference center. Limited to 1,000 requests/minute per workspace.
  • Get Purchase SeriesGet 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 SegmentReturn Braze's documented configuration details for one segment identified by its segment API identifier.
  • Get Segment AnalyticsGet up to 100 daily estimated segment-size points. Export and count segment users when an exact size is required.
  • Get Send AnalyticsGet 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 mos
  • Get Session AnalyticsGet 1 to 100 daily or hourly session-count points, optionally filtered by app and analytics-enabled segment.
  • Get Subscription Group StatusGet 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
  • Get User KPI SeriesGet 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 selecte
  • Get Webhook Template Translation SourceRead default source values inside a webhook template's translation tags. Requires templates.translations.get and webhook template translations enabled by Braze; otherwise Braze may
  • Identify UsersAssign 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:
  • List Campaign TranslationsView every configured locale translation map for one campaign message variation, or filter by locale. Requires campaigns.translations.get, multi-language support on the message, an
  • List CampaignsReturn one page of Braze campaigns for discovery, optionally including archived campaigns and filtering by last edit time.
  • List Canvas TranslationsPreview configured locale translations for one Canvas step message variation. Requires canvas.translations.get, multi-language support on the message, and observes a 250,000 reques
  • List CanvasesReturn 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
  • List Catalog ItemsReturn one fixed provider page of up to 50 items from a Braze catalog, preserving arbitrary item attributes and exposing Braze Link-header pagination. Braze exposes no page-size co
  • List CatalogsReturn all catalogs in the connected Braze workspace. Braze exposes no page-size control or resumable boundary, so a local 10-item cap would hide catalogs and save context tokens,
  • List Cloud Data Ingestion IntegrationsReturn one 10-item page of configured Cloud Data Ingestion integrations. Requires the workspace's Cloud Data Ingestion entitlement and has a 50 requests/minute limit.
  • List Cloud Data Ingestion Sync StatusesReturn one 10-item page of sync statuses for a Cloud Data Ingestion integration. Requires the workspace's CDI entitlement and has a 100 requests/minute limit.
  • List Content Block TranslationsView every configured locale translation map for one Content Block, or filter by locale. Requires contentblocks.translations.get, multi-language translation tags on the block, and
  • List Content BlocksReturn one offset-based page of persisted Braze Content Blocks. Omit offset on the first call and use nextrequest only when it is returned.
  • List Custom AttributesReturn one fixed provider page of up to 50 alphabetically sorted custom-attribute definitions and a Link-header continuation cursor. Braze exposes no page-size control; returning t
  • List Custom Event NamesReturn one fixed provider page of up to 250 alphabetically sorted custom event names. Braze exposes no page-size control; returning the complete page avoids losing continuation rec
  • List Custom EventsReturn one fixed provider page of up to 50 alphabetically sorted custom-event definitions and a Link-header continuation cursor. Braze exposes no page-size control; returning the c
  • List Email Template Locale TranslationsView email template translations, optionally filtered to one locale. Braze documents localeid as optional: when omitted, this action sends no locale filter and returns Braze's tran
  • List Email Template TranslationsView all configured translations and locales for one email template. Requires templates.translations.get, a multi-language template, and observes a 250,000 requests/minute limit.
  • List Email TemplatesReturn one offset-based page of stored HTML email templates. Drag-and-drop templates are excluded; omit offset on the first call.
  • List Hard Bounced EmailsReturn one newest-first offset page of hard-bounced emails. enddate and either startdate or email are required; an email lookup takes precedence over dates. Increase offset until a
  • List Invalid Phone NumbersReturn one newest-first offset page of invalid SMS numbers by UTC date range, or check exact E.164 numbers. Exact numbers take precedence over dates. Reasons are providererror or d
  • List Preference CentersList all available Braze preference centers and their IDs and timestamps. Braze exposes no page-size control or resumable boundary, so a local 10-item cap would hide centers and sa
  • List Purchase ProductsReturn every product ID from an optional caller-selected provider page. Braze documents page as a string but does not publish a page size, continuation token, or terminal marker, s
  • List Scheduled BroadcastsList dashboard and API scheduled campaigns and Canvas entries through an ISO 8601 end date. Recurring broadcasts appear only once at their next occurrence. Braze exposes no page-si
  • List SDK Authentication KeysHIGH IMPACT SECURITY READ: list all SDK Authentication public keys, IDs, descriptions, and primary status for one exact app. Braze exposes no page-size control or resumable boundar
  • List SegmentsReturn one fixed provider page of up to 100 Braze segments and their IDs for audience discovery. Braze exposes no page-size control; returning the complete page avoids losing conti
  • List Unsubscribed EmailsReturn one offset page of latest unsubscribe records for a UTC date range or exact email. enddate and either startdate or email are required. This is latest state, not full history
  • List User Subscription GroupsReturn one offset page of subscription groups that have status history for users selected by exactly one email or phone identifier type. Newly created groups with no user update ar
  • List Webhook Template TranslationsView configured translations for one webhook template, optionally filtered by locale. Requires templates.translations.get and webhook template translations enabled by Braze; otherw
  • Merge UsersAsynchronously merge up to 50 Braze source profiles into retained target profiles. Each completed merge is irreversible: the source profile is removed after its data is transferred
  • Remove Emails From Spam ListHIGH IMPACT: remove one to 50 exact addresses from both the Braze spam list and the email provider's spam list, potentially making them deliverable again. Confirm recipient consent
  • Remove Hard Bounced EmailsHIGH IMPACT: remove one to 50 exact addresses from both the Braze bounce list and the email provider's bounce list, potentially making them deliverable again. Revalidate ownership
  • Remove Invalid Phone NumbersHIGH IMPACT: remove one to 50 exact E.164 numbers from Braze's invalid list so they can be revalidated and may receive SMS again. Confirm number ownership and deliverability first.
  • Rename External IDsRename up to 50 primary Braze external IDs, preserving each old ID as deprecated. Requires users.externalids.rename, is limited to 1,000 requests/minute, logs no data points, and d
  • Replace Catalog ItemSynchronously replace a Braze catalog item, creating it if itemid does not exist. Requires the immutable catalogs.replaceitem API-key permission and shares a 50 requests/minute syn
  • Replace Media Library Asset FileHIGH IMPACT: request replacement of the file associated with one exact Braze media-library asset ID using a public HTTP(S) URL. The existing asset ID and hosted URL are preserved o
  • Replace Multiple Catalog ItemsAsynchronously replace or create up to 50 Braze catalog items by id. Requires the immutable catalogs.replaceitems API-key permission and shares a 16,000 requests/minute asynchronou
  • Schedule Campaign TriggerHIGH IMPACT: schedule one durable API-triggered campaign dispatch. Provide up to 50 recipients, optionally intersected with a Connected Audience. Audience-only targeting requires b
  • Schedule Canvas TriggerHIGH IMPACT: schedule one durable API-triggered Canvas entry. Provide up to 50 recipients, optionally intersected with a Connected Audience. Audience-only targeting requires broadc
  • Send API-Only MessagesHIGH IMPACT: immediately request API-only messages to existing Braze users. Individual targets are limited to 50 combined external IDs and aliases; without individuals you must exp
  • Send Campaign TriggerHIGH IMPACT: immediately request an API-triggered campaign send. Provide up to 50 recipients, optionally intersected with a Connected Audience. Audience-only targeting requires bro
  • Send Canvas TriggerHIGH IMPACT: immediately request entry into an API-triggered Canvas. Provide up to 50 recipients, optionally intersected with a Connected Audience. Audience-only targeting requires
  • Send Transactional CampaignHIGH IMPACT: send one immediate transactional email from a Braze Transactional Email campaign to exactly one external-ID or alias recipient; an accepted send cannot be retracted. R
  • Set Global Email Subscription StatusHIGH IMPACT: set the global email subscription state for one to 50 exact addresses, including addresses not yet attached to a profile. Global unsubscribed overrides every subscript
  • Set Primary SDK Authentication KeyHIGH IMPACT SECURITY OPERATION: make one exact existing SDK Authentication key the primary key for one exact app. This changes which key new SDK clients should use. Success is reje
  • Set Subscription Group StatusHIGH IMPACT: batch subscribe or unsubscribe up to 50 users in one exact group. Email-only or phone-only calls can affect every profile sharing the identifier; external IDs may be c
  • Set Subscription Group StatusesHIGH IMPACT: batch subscribe or unsubscribe users across multiple groups. Each group update must use exactly one of externalids, emails, or E.164 phones; only external IDs may span
Access, and who is in charge of it

You stay the boss of your Braze account.

Nothing connects until you approve it. You grant access one app at a time, you can take it back the same way, and everything your AI employee does in there is written down where you can see it.

How we handle your data
  • It signs in to your own Braze account. You are not moving anything into ours.
  • You grant access one app at a time, and you can take it back the same way.
  • Everything it does in Braze is written down, with what it did and when.
  • Anything you tell it to check with you first, it checks with you first.
Other apps in the same corner of the business

It works in Braze and the rest of your software in the same job

A real job rarely stays in one place. Reading a message in one app, checking a record in another and writing the result in a third is one request to your AI employee, not three.

Questions people ask about Braze

Can an AI employee really work inside Braze?
Yes. It signs in to your own Braze account and works in it the way a new hire would, from the chat your team already has open. Nobody installs anything, and nobody learns a new screen.
Do I have to move anything out of Braze?
No. Nothing moves and nothing is replaced. Your records stay in Braze, your team carries on in the same screens they used yesterday, and your AI employee works alongside them in there.
How does it get into my Braze account?
You paste in a key from your own Braze account. It is kept encrypted, and you can withdraw it from inside Braze whenever you like. You approve it before anything connects, and you can take the access back the same way you gave it.
What can it actually do in Braze?
It has 99 ready-made tools in Braze today, among them Blocklist Emails, Cancel Segment Exports and Create Catalog. The full list is on this page. It is not limited to those, but it never has to be taught them.
Can it use Braze and the rest of my software in the same job?
Yes, and that is usually the point. Reading a message in one app, checking a record in Braze and writing the result somewhere else is one request to your AI employee, not three separate ones you stitch together.
Who decides what it is allowed to do in Braze?
You do. You grant access one app at a time and can withdraw it at any time, anything you ask it to check with you first it checks with you first, and everything it does in Braze is written down with what it did and when.