Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Constant Contact

Scalekit connector
Open markdown

The Constant Contact connector lets your AI agent act in each user's Constant Contact account. Each user signs in to Constant Contact once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 95 tools.

Tools
95
What they doRead · write · destructive
52 · 30 · 1352 read30 write13 destructive
Users sign in with
OAuth app
Your own Constant Contact app

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 Constant Contact connection

    In AgentKit > Connections, create a Constant Contact connection and copy its redirect URI. The name you give it is the connection_name your code passes. See Configure connections.

  4. Register an OAuth app

    Constant Contact connections use your own OAuth app. Register one with Constant Contact and add the redirect URI you copied.

    Then enter the app's Client ID and Client Secret on the Constant Contact connection.

  5. 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 = 'constantcontact'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Constant Contact:', 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: 'constantcontact_account_emails_list',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • constantcontact_account_emails_listList the account's email addresses and their confirmation status and roles.Read-only

    List Account Email Addresses

    List the account's email addresses and their confirmation status and roles. Only one filter can be used at a time. Returns each email_address with confirm_status (CONFIRMED or UNCONFIRMED), confirm_time and roles. Use to pick a CONFIRMED from_email and reply_to_email before creating or updating an email campaign.

    Inputs

    confirm_statusstring
    Return only addresses with this status (CONFIRMED or UNCONFIRMED).one of CONFIRMEDUNCONFIRMED
    email_addressstring
    Return only this email address.
    role_codestring
    Return only addresses with this role.one of CONTACTBILLINGJOURNALINGREPLY_TOOTHER
  • constantcontact_account_physical_address_getGet the account's physical address, which is required to send email and appears in every email footer.Read-only

    Get Account Physical Address

    Get the account's physical address, which is required to send email and appears in every email footer. Returns address lines, city, state code or name, postal code and country code. Use to check the footer address before sending campaigns.

    Inputs

    This tool takes no inputs.

  • constantcontact_account_summary_getGet the connected Constant Contact account's details.Read-only

    Get Account Summary

    Get the connected Constant Contact account's details. Returns the encoded account ID, organization name, contact email and phone, website, time zone, country and state, and optionally the physical address and company logo. Use to identify the connected account or check its setup.

    Inputs

    extra_fieldsstring
    Extra details to include, comma-separated: physical_address, company_logo.
  • constantcontact_activities_listList bulk activities (imports, exports, deletes, list and tag changes) in the account.Read-only

    List Activities

    List bulk activities (imports, exports, deletes, list and tag changes) in the account. Returns each activity's activity_id, state, percent_done, created and updated dates, plus a _links.next cursor link. Use to monitor background jobs. Use Get Activity for one activity's details and errors.

    Inputs

    cursorstring
    Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
    limitinteger
    Maximum number of activities to return per page, from 1 to 500. Defaults to 50.default 50
    statestring
    Return only activities in this state.one of processingcompletedcancelledfailedtimed_out
  • constantcontact_activity_getGet the status of one bulk activity.Read-only

    Get Activity

    Get the status of one bulk activity. Returns state, percent_done, activity_errors, status counts and a results link (for exports, the file to download). Use after any bulk tool that returns an activity_id.

    Inputs

    activity_idstringrequired
    The activity ID returned when the activity was created.
  • constantcontact_automation_getGet one automation workflow by its ID.Read-only

    Get Automation

    Get one automation workflow by its ID. Returns the workflow's name, status, trigger and steps. Use when you have a workflow ID. Use List Automations to find it.

    Inputs

    automation_flow_idstringrequired
    The automation workflow ID. Get it from List Automations.
  • constantcontact_automations_listList the account's automation workflows.Read-only

    List Automations

    List the account's automation workflows. Returns each workflow's ID, name, status, channel and trigger details. Use to find automations. Use Get Automation for one workflow's steps.

    Inputs

    channelstring
    Return only workflows for this channel, for example email.
    created_fromstring
    Return workflows created from scratch or from a template.one of SCRATCHTEMPLATE
    goalsstring
    Return workflows with this goal tag, for example post_purchase_followup or up_sell_and_cross_sell.
    namestring
    Return the workflow with this exact name.
    sort_directionstring
    Sort order, ASC or DESC (default DESC).one of ASCDESC
  • constantcontact_campaign_performance_stats_getGet performance statistics for campaigns in a date range.Read-only

    Get Campaign Performance Stats

    Get performance statistics for campaigns in a date range. Returns per-campaign performance stats such as sends, opens and clicks. Use for date-range reporting. Use Get Email Campaigns Summary Report for the latest campaigns.

    Inputs

    countinteger
    Number of campaign stats to return.
    end_atstring
    End of the date range, ISO 8601.
    filterstring
    Which date to filter campaigns on: adjusted_timestamp (default) or start_at.one of adjusted_timestampstart_at
    start_atstring
    Start of the date range, ISO 8601.