Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Resend

Scalekit connector
Open markdown

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

Tools
101
What they doRead · write · destructive
48 · 40 · 1348 read40 write13 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 Resend connection

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

    Console steps with screenshots

    Register your Scalekit environment with the Resend connector so Scalekit can authenticate requests on your behalf. The connection name you create will be used to identify and invoke the connection programmatically. Then complete the configuration in your application as follows:

    1. Create an API key

      • Go to Resend > API Keys and click Create API Key.
      • Give it a descriptive name, for example Agent Auth, and choose the permission level your agent needs (Full access or Sending access).

      Resend API keys page with the Create API key button

    2. Copy the key

      • Resend shows the key exactly once. Click the eye icon to reveal it, then copy it and store it securely.

      Resend View API Key dialog with the key masked and a one-time-view warning

    3. Add the key in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find Resend and click Create.
      • Paste the API key you copied in step 2.
      • Click Save.
  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 = 'resend'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Resend:', 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: 'resend_api_key_list',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user opens the link once and enters their Resend credentials there. If your app already has a user's credentials, add the account from your backend instead, as the console steps above show. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • resend_api_key_listRetrieve a list of API keys configured on the Resend account, including each key's name, creation date, and permission level.Read-only

    List API Keys

    Retrieve a list of API keys configured on the Resend account, including each key's name, creation date, and permission level. The full token value is never returned by this endpoint (only shown once at creation time). Supports cursor-based pagination via limit/after/before. Example: call with no parameters to fetch the first page, or pass after="<last_api_key_id_from_previous_page>" to fetch the next page.

    Inputs

    afterstring
    Cursor for forward pagination. Pass the ID of an API key from the current page to fetch the page of results immediately after it.
    beforestring
    Cursor for backward pagination. Pass the ID of an API key from the current page to fetch the page of results immediately before it.
    limitinteger
    Number of API keys to return per page. Must be between 1 and 100. If omitted, the Resend API default page size is used.
  • resend_automation_getRetrieve the full details of a single automation by ID, including its name, status, and the steps and connections that make up its active workflow graph.Read-only

    Get Automation

    Retrieve the full details of a single automation by ID, including its name, status, and the steps and connections that make up its active workflow graph.

    Inputs

    automation_idstringrequired
    The ID of the automation to retrieve.
  • resend_automation_listRetrieve a list of automations configured in the Resend account, optionally filtered by status.Read-only

    List Automations

    Retrieve a list of automations configured in the Resend account, optionally filtered by status. Supports cursor-based pagination via limit/after/before. Example: call with no parameters to fetch the first page, or pass status="enabled" to only see active automations.

    Inputs

    afterstring
    Cursor for forward pagination. Pass the ID of an automation from the current page to fetch the page of results immediately after it.
    beforestring
    Cursor for backward pagination. Pass the ID of an automation from the current page to fetch the page of results immediately before it.
    limitinteger
    Number of automations to return per page. Must be between 1 and 100. If omitted, the Resend API default page size is used.
    statusstring
    Filter automations by status. One of "enabled" or "disabled". Leave blank to return automations of all statuses.one of enableddisabled
  • resend_automation_run_getRetrieve the full details of a single automation run, including its status (running, completed, failed, cancelled), start/completion timestamps, and the steps executed so far in graph order.Read-only

    Get Automation Run

    Retrieve the full details of a single automation run, including its status (running, completed, failed, cancelled), start/completion timestamps, and the steps executed so far in graph order.

    Inputs

    automation_idstringrequired
    The ID of the automation this run belongs to.
    run_idstringrequired
    The ID of the automation run to retrieve.
  • resend_automation_runs_listRetrieve a list of runs (executions) for a given automation, optionally filtered by status.Read-only

    List Automation Runs

    Retrieve a list of runs (executions) for a given automation, optionally filtered by status. Each run shows its execution status and the steps it has passed through. Supports cursor-based pagination via limit/after/before.

    Inputs

    automation_idstringrequired
    The ID of the automation whose runs should be listed.
    afterstring
    Cursor for forward pagination. Pass the ID of a run from the current page to fetch the page of results immediately after it.
    beforestring
    Cursor for backward pagination. Pass the ID of a run from the current page to fetch the page of results immediately before it.
    limitinteger
    Number of runs to return per page. Must be between 1 and 100. If omitted, the Resend API default page size is used.
    statusstring
    Filter runs by status. Comma-separated list of one or more of: running, completed, failed, cancelled. Example: "running,completed".
  • resend_broadcast_getRetrieve details of a single broadcast by ID, including its status (draft, scheduled, sending, sent, canceled), subject, sender, content, and target segment.Read-only

    Get Broadcast

    Retrieve details of a single broadcast by ID, including its status (draft, scheduled, sending, sent, canceled), subject, sender, content, and target segment.

    Inputs

    broadcast_idstringrequired
    The ID of the broadcast to retrieve.
  • resend_broadcast_listRetrieve a list of broadcasts configured on the Resend account, including each broadcast's name, status, subject, and creation date.Read-only

    List Broadcasts

    Retrieve a list of broadcasts configured on the Resend account, including each broadcast's name, status, subject, and creation date. Supports cursor-based pagination via limit/after/before. Example: call with no parameters to fetch the first page, or pass after="<last_broadcast_id_from_previous_page>" to fetch the next page.

    Inputs

    afterstring
    Cursor for forward pagination. Pass the ID of a broadcast from the current page to fetch the page of results immediately after it.
    beforestring
    Cursor for backward pagination. Pass the ID of a broadcast from the current page to fetch the page of results immediately before it.
    limitinteger
    Number of broadcasts to return per page. Must be between 1 and 100. If omitted, the Resend API default page size is used.
  • resend_broadcast_metrics_getRetrieve delivery and engagement statistics for a single broadcast: counts and percentages for delivered, opened, clicked, unsubscribed, bounced, complained, and suppressed recipients, plus per-link click analytics.Read-only

    Get Broadcast Metrics

    Retrieve delivery and engagement statistics for a single broadcast: counts and percentages for delivered, opened, clicked, unsubscribed, bounced, complained, and suppressed recipients, plus per-link click analytics.

    Inputs

    broadcast_idstringrequired
    The ID of the broadcast whose metrics should be retrieved.