Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Builder.io

Scalekit connector
Open markdown

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

Tools
22
What they doRead · write · destructive
10 · 8 · 410 read8 write4 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 Builder.io connection

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

    Each user opens the link once and enters their Builder.io 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
  • builderio_assets_listList media assets in the Builder space through the Admin API, with paging, sorting, and folder filtering.Read-only

    List Assets

    List media assets in the Builder space through the Admin API, with paging, sorting, and folder filtering. Returns each asset's id, name, type, url, size, dimensions, and folders. Use this to find uploaded images and files. Use builderio_asset_delete to remove one.

    Inputs

    folder_idstring
    ID of an asset folder to list. Assets from all folders are returned when omitted.
    limitinteger
    Maximum number of assets to return.
    offsetinteger
    Number of assets to skip, for paging.
    queryobject
    Filter as a MongoDB-style JSON object over asset fields. Example: {"type": "image/png"}.
    sortobject
    Sort order as a JSON object mapping a field to 1 for ascending or -1 for descending. Example: {"createdDate": -1}.
  • builderio_content_getRetrieve one published content entry from a Builder model by its entry ID through the Content API.Read-only

    Get Content Entry

    Retrieve one published content entry from a Builder model by its entry ID through the Content API. Returns a results array holding the matching entry (id, name, data, metadata, lastUpdated), or an empty array when no published entry has that ID. Use this when you already have the entry ID. Use builderio_content_list to browse, or builderio_content_get_by_url to look up a page by URL path.

    Inputs

    api_keystringrequired
    Public API Key of the Builder space to read from. The Content API requires it as the apiKey query parameter.
    entry_idstringrequired
    ID of the content entry to retrieve.
    modelstringrequired
    Model name (the model's API name, not its display name), for example page, section, or a custom data model such as blog-post.
    enrichboolean
    When true, resolves references and symbols inside the entry so linked content is included.
    fieldsstring
    Comma-separated list of fields to return, for example id,name,data. All fields are returned when omitted.
  • builderio_content_get_by_urlRetrieve the published content entry that Builder serves for a URL path, using the Content API targeting rules.Read-only

    Get Content Entry by URL

    Retrieve the published content entry that Builder serves for a URL path, using the Content API targeting rules. Returns a results array holding the best matching entry (id, name, data, metadata, lastUpdated), or an empty array when nothing targets that path. Use this to resolve a page by its URL path. Use builderio_content_get when you have the entry ID.

    Inputs

    api_keystringrequired
    Public API Key of the Builder space to read from. The Content API requires it as the apiKey query parameter.
    modelstringrequired
    Model name (the model's API name, not its display name), for example page, section, or a custom data model such as blog-post.
    url_pathstringrequired
    URL path to match against the targeting rules of published entries, starting with a slash, for example /pricing.
    enrichboolean
    When true, resolves references and symbols inside the entry so linked content is included.
    fieldsstring
    Comma-separated list of fields to return, for example id,name,data. All fields are returned when omitted.
  • builderio_content_listList published content entries of a Builder model through the Content API, with paging and field selection.Read-only

    List Content Entries

    List published content entries of a Builder model through the Content API, with paging and field selection. Returns a results array of entries (id, name, data, metadata, lastUpdated), plus totalCount when requested. Only published entries are returned, and Builder targeting rules can narrow the results. Use this to browse a model. Use builderio_content_get for one entry by ID, or builderio_content_get_by_url for a page by URL path.

    Inputs

    api_keystringrequired
    Public API Key of the Builder space to read from. The Content API requires it as the apiKey query parameter.
    modelstringrequired
    Model name (the model's API name, not its display name), for example page, section, or a custom data model such as blog-post.
    enrichboolean
    When true, resolves references and symbols inside each entry so linked content is included in the response.
    exclude_expiredboolean
    When true, entries whose scheduled end date has passed are left out.
    fetch_total_countboolean
    When true, the response includes a totalCount key with the number of matching entries.
    fieldsstring
    Comma-separated list of fields to return, for example id,name,data.title. All fields are returned when omitted.
    limitinteger
    Maximum number of entries to return per request. The server default is 30 and the maximum is 100.default 30
    offsetinteger
    Number of entries to skip, for paging through a large model.default 0
    omitstring
    Comma-separated list of fields to leave out of each entry, for example data.blocks. Applied after fields when both are given.
  • builderio_folder_getRetrieve one content folder of the Builder space by ID through the Admin API.Read-only

    Get Folder

    Retrieve one content folder of the Builder space by ID through the Admin API. Returns the folder's id, name, description, archived flag, entry IDs, and parent folder. Use this when you have the folder ID. Use builderio_folders_list to browse.

    Inputs

    folder_idstringrequired
    ID of the content folder.
  • builderio_folders_listList all content folders in the Builder space through the Admin API.Read-only

    List Folders

    List all content folders in the Builder space through the Admin API. Returns each folder's id, name, description, archived flag, entry IDs, and parent folder. Use this to find folder IDs. Use builderio_folder_get for one folder.

    Inputs

    This tool takes no inputs.

  • builderio_model_getRetrieve one model of the Builder space by ID through the Admin API.Read-only

    Get Model

    Retrieve one model of the Builder space by ID through the Admin API. Returns the model's id, name, kind, path prefix, visibility flags, and field definitions. Use this to inspect a model's schema. Use builderio_models_list when you do not know the ID.

    Inputs

    model_idstringrequired
    ID of the model to retrieve.
  • builderio_models_listList every model in the Builder space through the Admin API.Read-only

    List Models

    List every model in the Builder space through the Admin API. Returns each model's id, name, kind, path prefix, visibility flags, and field definitions. Use this to find model names for content tools. Use builderio_model_get for one model.

    Inputs

    This tool takes no inputs.