Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Front

Scalekit connector
Open markdown

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

Tools
55
What they doRead · write · destructive
31 · 20 · 431 read20 write4 destructive
Users sign in with
OAuth app
Scalekit's or your own

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 Front connection

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

    Scalekit credentials are available for Front, so you don't need to register an OAuth app.

  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 = 'front'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Front:', 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: 'front_list_accounts',
    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
  • front_get_accountFetch a single account from Front by ID, domain, or external ID resource alias.Read-only

    Get Account

    Fetch a single account from Front by ID, domain, or external ID resource alias.

    Inputs

    account_idstringrequired
    The Account ID. Alternatively, you can supply the account domain or external ID as a resource alias.

    Also accepts schema_version and tool_version to pin a version.

  • front_get_channelFetch a single channel from Front by ID or address resource alias.Read-only

    Get Channel

    Fetch a single channel from Front by ID or address resource alias.

    Inputs

    channel_idstringrequired
    The Channel ID. Alternatively, you can supply the channel address as a resource alias.

    Also accepts schema_version and tool_version to pin a version.

  • front_get_commentFetch a single Front comment by its ID.Read-only

    Get Comment

    Fetch a single Front comment by its ID. Requires scope comments:read.

    Inputs

    comment_idstringrequired
    The unique Front identifier for the comment to fetch, e.g. com_123.

    Also accepts schema_version and tool_version to pin a version.

  • front_get_contactFetch a single contact by its Front contact ID.Read-only

    Get Contact

    Fetch a single contact by its Front contact ID.

    Inputs

    contact_idstringrequired
    The contact ID. Alternatively, you can supply the contact's source and handle as a resource alias.

    Also accepts schema_version and tool_version to pin a version.

  • front_get_conversationFetch a single conversation by its ID.Read-only

    Get Conversation

    Fetch a single conversation by its ID. Required scope: conversations:read.

    Inputs

    conversation_idstringrequired
    The conversation ID.

    Also accepts schema_version and tool_version to pin a version.

  • front_get_inboxFetch a single Front inbox by its ID, returning its name, type, and related resource links.Read-only

    Get Inbox

    Fetch a single Front inbox by its ID, returning its name, type, and related resource links. Requires the inboxes:read scope.

    Inputs

    inbox_idstringrequired
    The unique Front identifier of the inbox to fetch, e.g. 'inb_123'.

    Also accepts schema_version and tool_version to pin a version.

  • front_get_messageFetch a single Front message by its ID, including its body, recipients, and attachment metadata.Read-only

    Get Message

    Fetch a single Front message by its ID, including its body, recipients, and attachment metadata. Requires scope messages:read.

    Inputs

    message_idstringrequired
    The unique Front identifier for the message to fetch, e.g. msg_123.

    Also accepts schema_version and tool_version to pin a version.

  • front_get_message_templateFetch a single message template (canned answer) by its ID from Front.Read-only

    Get Message Template

    Fetch a single message template (canned answer) by its ID from Front.

    Inputs

    message_template_idstringrequired
    The message template ID.

    Also accepts schema_version and tool_version to pin a version.