Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Braze

Scalekit connector
Open markdown

The Braze connector lets your AI agent act in each user's Braze account. Each user connects their own Braze access token once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 73 tools.

Tools
73
What they doRead · write · destructive
39 · 34 · 039 read34 write0 destructive
Users sign in with

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Braze connection

    In AgentKit > Connections, create a Braze connection. The name you give it is the connection_name your code passes. See Configure connections.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'braze'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Braze:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'braze_campaigns_list',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user opens the link once and enters their Braze credentials there. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • braze_campaign_analytics_getGet daily performance stats for a campaign over a date range.Read-only

    Get Campaign Analytics

    Get daily performance stats for a campaign over a date range. Returns a data array with one entry per day, holding per-channel stats such as sends, opens, clicks, conversions, and revenue. Use braze_campaign_analytics_get for a campaign's totals; use braze_send_analytics_get for one tracked send; use braze_canvas_analytics_get for Canvases.

    Inputs

    campaign_idstringrequired
    The campaign API identifier, found on the campaign's details page in the Braze dashboard, under Settings > APIs and Identifiers, or from braze_campaigns_list. Example: 4cf9b8b8-3b1c-4a0a-9b9e-2a8b2c1d3e4f.
    lengthintegerrequired
    How many days before ending_at to include in the series, between 1 and 100. Example: 14.
    ending_atstring
    ISO 8601 datetime the series ends on; defaults to the time of the request. Example: 2026-10-01T23:59:59Z.
  • braze_campaign_getGet the details of one campaign.Read-only

    Get Campaign

    Get the details of one campaign. Returns its name, description, status flags (archived, draft, enabled), schedule type, channels, first and last sent times, tags, and message variations with content. Use braze_campaign_get for one campaign; use braze_campaigns_list to find campaign IDs; use braze_campaign_analytics_get for performance stats.

    Inputs

    campaign_idstringrequired
    The campaign API identifier, found on the campaign's details page in the Braze dashboard, under Settings > APIs and Identifiers, or from braze_campaigns_list. Example: 4cf9b8b8-3b1c-4a0a-9b9e-2a8b2c1d3e4f.
    include_has_translatable_contentboolean
    Set true to add a has_translatable_content field to each message. Defaults to false. Example: false.
    post_launch_draft_versionboolean
    For campaigns with a post-launch draft, set true to return the draft changes. Defaults to false. Example: false.
  • braze_campaigns_listList campaigns in the workspace, 100 per page.Read-only

    List Campaigns

    List campaigns in the workspace, 100 per page. Returns each campaign's id, name, is_api_campaign flag, tags, and last_edited time. Use braze_campaigns_list to find campaign IDs; use braze_campaign_get for one campaign's full details.

    Inputs

    include_archivedboolean
    Whether to include archived campaigns; defaults to false. Example: false.
    last_edited_afterstring
    Only return campaigns edited after this time, in yyyy-MM-ddTHH:mm:ss format (an offset such as -05:00 is allowed). Example: 2026-06-28T23:59:59-05:00.
    pageinteger
    Page of campaigns to return, starting at 0; each page holds up to 100. Example: 0.
    sort_directionstring
    Sort by creation time: desc for newest first, asc for oldest first. If omitted, Braze sorts oldest to newest. Example: desc.one of descasc
  • braze_canvas_analytics_getGet a time series of Canvas performance stats.Read-only

    Get Canvas Analytics

    Get a time series of Canvas performance stats. Returns daily stats such as entries, revenue, and conversions, optionally broken down by variant and step. Use braze_canvas_analytics_get for day-by-day data; use braze_canvas_analytics_summary_get for rolled-up totals. Provide either starting_at or length.

    Inputs

    canvas_idstringrequired
    The Canvas API identifier, found on the Canvas details page in the Braze dashboard or from braze_canvases_list. Example: 9b2c1a7e-5d4f-4e3a-8c2b-1a0f9e8d7c6b.
    ending_atstringrequired
    ISO 8601 datetime the series ends on; defaults to the time of the request. Example: 2026-10-01T23:59:59Z.
    include_deleted_step_databoolean
    Include statistics for deleted steps; defaults to false. Example: false.
    include_step_breakdownboolean
    Include per-step statistics; defaults to false. Example: true.
    include_variant_breakdownboolean
    Include per-variant statistics; defaults to false. Example: true.
    lengthinteger
    Number of days before ending_at to include, between 1 and 14. Provide either length or starting_at. Example: 7.
    starting_atstring
    ISO 8601 datetime the export starts on. Provide either starting_at or length. Example: 2026-09-20T00:00:00Z.
  • braze_canvas_analytics_summary_getGet rolled-up totals of Canvas performance over a date range.Read-only

    Get Canvas Analytics Summary

    Get rolled-up totals of Canvas performance over a date range. Returns totals such as entries, revenue, and conversions, optionally broken down by variant and step. Use braze_canvas_analytics_summary_get for totals; use braze_canvas_analytics_get for a day-by-day series. Provide either starting_at or length.

    Inputs

    canvas_idstringrequired
    The Canvas API identifier, found on the Canvas details page in the Braze dashboard or from braze_canvases_list. Example: 9b2c1a7e-5d4f-4e3a-8c2b-1a0f9e8d7c6b.
    ending_atstringrequired
    ISO 8601 datetime the series ends on; defaults to the time of the request. Example: 2026-10-01T23:59:59Z.
    include_deleted_step_databoolean
    Include statistics for deleted steps; defaults to false. Example: false.
    include_step_breakdownboolean
    Include per-step statistics; defaults to false. Example: true.
    include_variant_breakdownboolean
    Include per-variant statistics; defaults to false. Example: true.
    lengthinteger
    Number of days before ending_at to include, between 1 and 14. Provide either length or starting_at. Example: 7.
    starting_atstring
    ISO 8601 datetime the export starts on. Provide either starting_at or length. Example: 2026-09-20T00:00:00Z.
  • braze_canvas_getGet the details of one Canvas.Read-only

    Get Canvas

    Get the details of one Canvas. Returns its name, description, status flags, schedule type, channels, first entry and last entry times, tags, variants, and steps. Use braze_canvas_get for one Canvas; use braze_canvases_list to find Canvas IDs; use braze_canvas_analytics_get for performance stats.

    Inputs

    canvas_idstringrequired
    The Canvas API identifier, found on the Canvas details page in the Braze dashboard or from braze_canvases_list. Example: 9b2c1a7e-5d4f-4e3a-8c2b-1a0f9e8d7c6b.
    include_has_translatable_contentboolean
    Set true to add a has_translatable_content field to each message. Defaults to false. Example: false.
    post_launch_draft_versionboolean
    For Canvases with a post-launch draft, set true to return the draft changes. Defaults to false. Example: false.
  • braze_canvases_listList Canvases in the workspace, 100 per page.Read-only

    List Canvases

    List Canvases in the workspace, 100 per page. Returns each Canvas's id, name, tags, and last_edited time. Use braze_canvases_list to find Canvas IDs; use braze_canvas_get for one Canvas's full details.

    Inputs

    include_archivedboolean
    Whether to include archived Canvases; defaults to false. Example: false.
    last_edited_afterstring
    Only return Canvases edited after this time, in yyyy-MM-ddTHH:mm:ss format (an offset such as -05:00 is allowed). Example: 2026-06-28T23:59:59-05:00.
    pageinteger
    Page of Canvases to return, starting at 0; each page holds up to 100. Example: 0.
    sort_directionstring
    Sort by creation time: desc for newest first, asc for oldest first. If omitted, Braze sorts oldest to newest. Example: desc.one of descasc
  • braze_catalog_item_getGet one catalog item by ID.Read-only

    Get Catalog Item

    Get one catalog item by ID. Returns an items array holding the item with all its fields. Use braze_catalog_item_get for one item; use braze_catalog_items_list to browse.

    Inputs

    catalog_namestringrequired
    Name of the catalog, as returned by braze_catalogs_list. Example: restaurants.
    item_idstringrequired
    ID of the catalog item (the value of its id field). Example: restaurant1.