Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Omnisend

Scalekit connector
Open markdown

The Omnisend connector lets your AI agent act in each user's Omnisend account. Each user connects their own Omnisend API key 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
27 · 37 · 927 read37 write9 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 Omnisend connection

    In AgentKit > Connections, create an Omnisend 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 = 'omnisend'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Omnisend:', 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: 'omnisend_automations_list',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user opens the link once and enters their Omnisend 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
  • omnisend_automation_getGet one Omnisend automation workflow by ID.Read-only

    Get Automation

    Get one Omnisend automation workflow by ID. Returns the workflow's id, name, isEnabled, trigger, blocks tree (actions, delays, splits, A/B tests, each with its id), exit conditions, settings, timestamps and app url. Use omnisend_automation_get to read a workflow or find a block ID for omnisend_automation_test_email_send. Use omnisend_automations_list to find workflows.

    Inputs

    automation_idstringrequired
    Omnisend automation workflow ID (24-character hexadecimal). Get it from List Automations.
  • omnisend_automations_listList Omnisend automation workflows, newest first, filtered by enabled state, name or created/updated dates.Read-only

    List Automations

    List Omnisend automation workflows, newest first, filtered by enabled state, name or created/updated dates. Returns workflows with id, name, isEnabled, trigger, blocks, exit conditions, settings, timestamps and app url, plus paging.cursors.after for the next page. With view=summary the blocks tree is left out. Use omnisend_automations_list to find workflows. Use omnisend_automation_get for one workflow's full blocks tree.

    Inputs

    afterstring
    Cursor for the next page. Pass the paging.cursors.after value from the previous response. Do not send together with before.
    beforestring
    Cursor for the previous page. Pass the paging.cursors.before value from the previous response. Do not send together with after.
    created_at_fromstring
    Return workflows created after this time (ISO 8601).
    created_at_tostring
    Return workflows created before this time (ISO 8601).
    directionstring
    Sort direction: asc or desc. Defaults to desc.one of ascdesc
    includearray
    With view=summary, set to ["blocks"] to keep the blocks tree anyway. Has no effect without view=summary.
    is_enabledboolean
    true returns only enabled workflows, false only disabled ones. Leave empty for both.
    limitinteger
    Number of workflows per page, 1 to 250. Defaults to 100.
    name_containsstring
    Return workflows whose name contains this text (partial match, max 200 characters).
    sortstring
    Field to sort by: createdAt, updatedAt. Defaults to createdAt. Keep it unchanged while paging with a cursor.one of createdAtupdatedAt
    updated_at_fromstring
    Return workflows updated after this time (ISO 8601).
    updated_at_tostring
    Return workflows updated before this time (ISO 8601).
    viewstring
    Set to summary to leave out the blocks tree from every workflow. Leave empty for the full representation.one of summary
  • omnisend_batch_getGet the status and progress of one Omnisend batch job.Read-only

    Get Batch

    Get the status and progress of one Omnisend batch job. Returns batchID, endpoint, method, status (pending, inProgress, finished or stopped), totalCount, finishedCount, errorsCount, errors and start/end times. Use omnisend_batch_get to check whether a batch from omnisend_batch_create is done. Use omnisend_batch_items_get for each item's response.

    Inputs

    batch_idstringrequired
    Batch ID returned by Create Batch (batchID) or listed by List Batches.
  • omnisend_batch_items_getGet the per-item results of an Omnisend batch job.Read-only

    Get Batch Items

    Get the per-item results of an Omnisend batch job. Returns the batch with its responses and errors arrays; each entry has itemID, the request sent, the response, responseCode and status. Use omnisend_batch_items_get to find which items in a batch failed and why. Use omnisend_batch_get for overall progress.

    Inputs

    batch_idstringrequired
    Batch ID returned by Create Batch (batchID) or listed by List Batches.
  • omnisend_batches_listList Omnisend batch jobs for one endpoint (products, contacts or events), optionally filtered by status and creation date.Read-only

    List Batches

    List Omnisend batch jobs for one endpoint (products, contacts or events), optionally filtered by status and creation date. Returns batches with batchID, endpoint, method, status, totalCount, finishedCount, errorsCount and start/end times, plus paging with offset, limit and next. Use omnisend_batches_list to review recent bulk imports. Use omnisend_batch_get for one batch's progress.

    Inputs

    endpointstringrequired
    Endpoint whose batches to list: products, contacts or events.one of productscontactsevents
    date_fromstring
    Return batches created on or after this date (YYYY-MM-DD).
    date_tostring
    Return batches created on or before this date (YYYY-MM-DD).
    limitinteger
    Number of batches to return, 1 to 250. Defaults to 100.
    offsetinteger
    Number of batches to skip, for paging. Defaults to 0.
    statusstring
    Return only batches in this status: pending, inProgress, finished or stopped.one of pendinginProgressfinishedstopped
  • omnisend_brand_getGet the Omnisend brand (store account) that the API key belongs to.Read-only

    Get Brand

    Get the Omnisend brand (store account) that the API key belongs to. Returns brandID, name, website, platform, currency, timezone, version and whether it is connected. Use omnisend_brand_get to confirm which store you are connected to, or to read its timezone and currency before running analytics reports.

    Inputs

    This tool takes no inputs.

  • omnisend_campaign_getGet one Omnisend campaign by its ID.Read-only

    Get Campaign

    Get one Omnisend campaign by its ID. Returns the campaign's id, name, type, channel, status, audience, sending settings, email or SMS content (subject, sender, templateID), A/B test and booster settings, timestamps and app url. Use omnisend_campaign_get when you have the campaign ID. Use omnisend_campaigns_list to find campaigns by name or status.

    Inputs

    campaign_idstringrequired
    Omnisend campaign ID (24-character hexadecimal). Get it from List Campaigns.
  • omnisend_campaigns_listList Omnisend email, SMS and push campaigns, newest first, filtered by name, status, channel, type, booster parent or created/updated dates.Read-only

    List Campaigns

    List Omnisend email, SMS and push campaigns, newest first, filtered by name, status, channel, type, booster parent or created/updated dates. Returns campaigns with id, name, type, channel, status, audience, sending settings, content and timestamps, plus paging.cursors.after for the next page. With view=summary the heavy content and abTest sections are left out. Use omnisend_campaigns_list to find or browse campaigns. Use omnisend_campaign_get for one campaign's full details.

    Inputs

    afterstring
    Cursor for the next page. Pass the paging.cursors.after value from the previous response. Do not send together with before.
    beforestring
    Cursor for the previous page. Pass the paging.cursors.before value from the previous response. Do not send together with after.
    channelarray
    Return campaigns on any of these channels: email, sms, push.
    created_at_fromstring
    Return campaigns created after this time (ISO 8601).
    created_at_tostring
    Return campaigns created before this time (ISO 8601).
    directionstring
    Sort direction: asc or desc. Defaults to desc.one of ascdesc
    includearray
    With view=summary, heavy sections to keep anyway: content and/or abTest. Has no effect without view=summary.
    limitinteger
    Number of campaigns per page, 1 to 250. Defaults to 100.
    name_containsstring
    Return campaigns whose name contains this text (partial match, max 200 characters).
    parent_campaign_idstring
    Return only the boosters of this parent campaign ID. Implies type=booster.
    sortstring
    Field to sort by: createdAt, updatedAt, name. Defaults to createdAt. Keep it unchanged while paging with a cursor.one of createdAtupdatedAtname
    statusarray
    Return campaigns in any of these statuses: error, onHold, sent, paused, started, stopped, expired, draft, scheduled, canceled.
    typestring
    Return only this campaign type: regular, booster or abTest (A/B test parents).one of regularboosterabTest
    updated_at_fromstring
    Return campaigns updated after this time (ISO 8601).
    updated_at_tostring
    Return campaigns updated before this time (ISO 8601).
    viewstring
    Set to summary to leave out the heavy content and abTest sections from every campaign. Leave empty for the full representation.one of summary