Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion public/data/agent-tools-index.json

Large diffs are not rendered by default.

16 changes: 15 additions & 1 deletion scripts/sync-agent-connectors.js
Original file line number Diff line number Diff line change
Expand Up @@ -197,9 +197,23 @@ function escapeCurlyBraces(text) {
* Make free-form tool text safe to embed in MDX prose (capability bullets, etc.).
* - `{name}` → HTML entities (MDX would otherwise evaluate as a JS expression)
* - `<role_name>` → inline code (MDX would otherwise parse as a JSX tag)
*
* Content already inside a backtick code span (e.g. `request_item=<sys_id>`) is left
* untouched: MDX treats code span contents as literal text, so it's already safe, and
* wrapping the `<...>` portion again would split the span and leave a bare, unescaped
* `<sys_id>` outside any backticks — which is exactly what MDX then fails to parse as
* an unclosed JSX tag.
*/
function escapeMdxProse(text) {
return escapeCurlyBraces(String(text || '')).replace(/<[^>\n]+>/g, (match) => '`' + match + '`')
const escaped = escapeCurlyBraces(String(text || ''))
// Split on existing code spans (`...`) so the `<...>` escape only runs on the prose
// outside of them; segments at odd indices are the code spans themselves.
return escaped
.split(/(`[^`\n]*`)/)
.map((segment, i) =>
i % 2 === 1 ? segment : segment.replace(/<[^>\n]+>/g, (match) => '`' + match + '`'),
)
.join('')
}

function pushTextNode(nodes, value) {
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { Steps, Aside } from '@astrojs/starlight/components'

Register a Twitter Bearer Token with Scalekit to make app-only requests — reading public tweets, users, and search results without acting on behalf of a specific user. You'll need a **Bearer Token** from an app in the <a href="https://developer.twitter.com/en/portal/dashboard" target="_blank" rel="noopener">X Developer Console</a>.

<Steps>
1. ### Choose or create an app in the X Developer Console

- Go to the <a href="https://developer.twitter.com/en/portal/dashboard" target="_blank" rel="noopener">X Developer Console</a> and sign in.

- Under **Access** > **Apps**, either select an existing app or click **+ Create App**.

![X Developer Console Create New Client Application dialog](@/assets/docs/agent-connectors/twitteroauth/create-app.png)

2. ### Generate a Bearer Token

- Open your app and go to the **Keys & Tokens** tab.

- Under **App-Only Authentication**, click **Generate** next to **Bearer Token** (or **Regenerate** if one already exists).

![X app Keys and Tokens tab with Consumer Key, Secret Key, and Bearer Token values redacted](@/assets/docs/agent-connectors/twitterbearer/keys-and-tokens.png)

- Copy the token immediately — X shows it in full only once.

<Aside type="caution" title="Regenerating invalidates the old token">
Regenerating the Bearer Token immediately revokes the previous one. Any app-only requests still using the old token will start failing.
</Aside>

3. ### Add the token in Scalekit

- In [Scalekit dashboard](https://app.scalekit.com), go to **AgentKit** > **Connections** > **Create Connection**. Search for **Twitter Bearer** and click **Create**.
- Paste the Bearer Token you copied in step 2.
- Click **Save**.
</Steps>
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
import { Steps, Aside } from '@astrojs/starlight/components'

Register your Twitter app credentials with Scalekit so it can manage the OAuth 2.0 authentication flow and token lifecycle on your behalf. You'll need a **Client ID** and **Client Secret** from an app in the <a href="https://developer.twitter.com/en/portal/dashboard" target="_blank" rel="noopener">X Developer Console</a>.

<Steps>
1. ### Create a Twitter OAuth connection in Scalekit

- In [Scalekit dashboard](https://app.scalekit.com), go to **AgentKit** > **Connections** > **Create Connection**. Search for **Twitter OAuth** and click **Create**.

- In the **Configure Twitter OAuth Connection** panel, copy the **Redirect URI**. It looks like `https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback`. You'll paste this into your X app in the next step.

2. ### Choose or create an app in the X Developer Console

- Go to the <a href="https://developer.twitter.com/en/portal/dashboard" target="_blank" rel="noopener">X Developer Console</a> and sign in.

- Under **Access** > **Apps**, either select an existing app or click **+ Create App**.

![X Developer Console Create New Client Application dialog](@/assets/docs/agent-connectors/twitteroauth/create-app.png)

3. ### Configure user authentication settings

- Open your app, go to **Settings**, and find **User authentication settings**.

- Set the following values:

| Setting | Value |
|---|---|
| **App permissions** | **Read and Write** — needed to post and manage content on behalf of users |
| **Type of App** | **Web App, Automated App or Bot** |
| **Callback URI / Redirect URL** | Paste the Redirect URI from Scalekit |
| **Website URL** | Your application's public homepage |

![X app authentication settings showing App permissions, Type of App, and Callback URI fields](@/assets/docs/agent-connectors/twitteroauth/callback-uri.png)

- Click **Save**.

4. ### Copy OAuth 2.0 credentials

- In your app, go to the **Keys & Tokens** tab.

- Under **OAuth 2.0 Keys**, copy the **Client ID**. Click **Regenerate** next to **Client Secret** if you haven't generated one yet, then copy it.

![X app Keys and Tokens tab with Consumer Key, Secret Key, and Bearer Token values redacted](@/assets/docs/agent-connectors/twitteroauth/keys-and-tokens.png)

<Aside type="caution" title="Client secret is shown once">
The Client Secret is masked after the initial creation. If you lose it, regenerate it in the X Developer Console — this invalidates all existing user tokens.
</Aside>

5. ### Add credentials in Scalekit

- In [Scalekit dashboard](https://app.scalekit.com), go to **AgentKit** > **Connections** and open the Twitter OAuth connection you created.

- Enter your credentials:
- **Client ID** — from the OAuth 2.0 Keys section
- **Client Secret** — copied in the previous step
- **Scopes** — select the permissions your app needs:
- `tweet.read` — read tweets and timelines
- `tweet.write` — create, delete, and manage tweets
- `users.read` — read user profile data
- `follows.read` — read follower/following lists
- `follows.write` — follow and unfollow users
- `like.read` — read liked tweets
- `like.write` — like and unlike tweets
- `bookmark.read` — read bookmarked tweets
- `bookmark.write` — add and remove bookmarks
- `list.read` — read list membership and tweets
- `list.write` — create, update, and delete lists
- `dm.read` — read direct messages
- `dm.write` — send direct messages
- `mute.read` — read muted users
- `mute.write` — mute and unmute users
- `block.read` — read blocked users
- `block.write` — block and unblock users
- `offline.access` — obtain refresh tokens for long-lived access

- Click **Save**.
</Steps>
2 changes: 2 additions & 0 deletions src/components/templates/agent-connectors/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,8 @@ export { default as SetupTangomcpSection } from './_setup-tangomcp.mdx'
export { default as SetupTrelloSection } from './_setup-trello.mdx'
export { default as SetupTwilioSection } from './_setup-twilio.mdx'
export { default as SetupTwitterSection } from './_setup-twitter.mdx'
export { default as SetupTwitterbearerSection } from './_setup-twitterbearer.mdx'
export { default as SetupTwitteroauthSection } from './_setup-twitteroauth.mdx'
export { default as SetupUpstreammcpSection } from './_setup-upstreammcp.mdx'
export { default as SetupV0mcpSection } from './_setup-v0mcp.mdx'
export { default as SetupVapimcpSection } from './_setup-vapimcp.mdx'
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/agentkit/connectors/googledrive.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Connect this agent connector to let your agent:
- **Proposal resolve access** — Approve or deny a pending access proposal on a Google Drive file, optionally granting a specific role and notifying the requester by email
- **List changes, access proposals, shared drives** — List changes (files created, modified, moved, deleted, or shared) since a given page token, for efficiently keeping an external system in sync with Google Drive without re-scanning everything
- **Get start page token, shared drive, reply** — Get the starting page token to use with List Changes when beginning a new sync of a Google Drive (or a specific shared drive)
- **Content download file** — Download the actual binary content of a file stored in Google Drive (PDF, image, video, zip, etc.) via alt=media
- **Delete shared drive, reply, revision** — Permanently delete a Google Drive shared drive

## Common workflows

Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/agentkit/connectors/snowflake.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ Connect this agent connector to let your agent:
- **Schema undrop, drop, alter** — Restore a recently dropped schema from Time Travel using the Schema REST API (POST /api/v2/databases/&#123;database&#125;/schemas/&#123;name&#125;:undrop)
- **Database undrop, drop, clone** — Restore a recently dropped Snowflake database from Time Travel using the Database REST API (POST /api/v2/databases/&#123;name&#125;:undrop)
- **Warehouse suspend, resume, rename** — Suspend a running Snowflake warehouse, releasing its compute resources (POST /api/v2/warehouses/&#123;name&#125;:suspend)
- **User revoke role from, grant role to, drop** — Run `REVOKE ROLE <role_name> FROM USER <user_name>` via the SQL statements API
- **Role revoke privilege from, grant privilege to, drop** — Run `REVOKE [GRANT OPTION FOR] <privileges> ON <object_type> <object_name> FROM ROLE <role_name> [RESTRICT | CASCADE]` via the SQL statements API
- **User revoke role from, grant role to, drop** — Run REVOKE ROLE `<role_name>` FROM USER `<user_name>` via the SQL statements API
- **Role revoke privilege from, grant privilege to, drop** — Run REVOKE [GRANT OPTION FOR] `<privileges>` ON `<object_type>` `<object_name>` FROM ROLE `<role_name>` [RESTRICT | CASCADE] via the SQL statements API

## Common workflows

Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/agentkit/connectors/snowflakekeyauth.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ Connect this agent connector to let your agent:
- **Schema undrop, drop, alter** — Restore a recently dropped schema from Time Travel using the Schema REST API (POST /api/v2/databases/&#123;database&#125;/schemas/&#123;name&#125;:undrop)
- **Database undrop, drop, clone** — Restore a recently dropped Snowflake database from Time Travel using the Database REST API (POST /api/v2/databases/&#123;name&#125;:undrop)
- **Warehouse suspend, resume, rename** — Suspend a running Snowflake warehouse, releasing its compute resources (POST /api/v2/warehouses/&#123;name&#125;:suspend)
- **User revoke role from, grant role to, drop** — Run `REVOKE ROLE <role_name> FROM USER <user_name>` via the SQL statements API
- **Role revoke privilege from, grant privilege to, drop** — Run `REVOKE [GRANT OPTION FOR] <privileges> ON <object_type> <object_name> FROM ROLE <role_name> [RESTRICT | CASCADE]` via the SQL statements API
- **User revoke role from, grant role to, drop** — Run REVOKE ROLE `<role_name>` FROM USER `<user_name>` via the SQL statements API
- **Role revoke privilege from, grant privilege to, drop** — Run REVOKE [GRANT OPTION FOR] `<privileges>` ON `<object_type>` `<object_name>` FROM ROLE `<role_name>` [RESTRICT | CASCADE] via the SQL statements API

## Common workflows

Expand Down
14 changes: 7 additions & 7 deletions src/content/docs/agentkit/connectors/supabase.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,20 +62,20 @@ import { QuickstartGenericOauthSection } from '@components/templates'

4. ### Authorize and make your first call

<QuickstartGenericOauthSection connector="supabase" toolName="supabase_list_organizations" providerName="Supabase" />
<QuickstartGenericOauthSection connector="supabase" toolName="supabase_get_profile" providerName="Supabase" />

</Steps>

## What you can do

Connect this agent connector to let your agent:

- **Access accept invite external jit, authorize jit** — Accept a pending invitation for just-in-time (JIT) database access on a Supabase project, activating the roles that were granted with Invite External JIT Access
- **Config verify dns, deactivate vanity subdomain, activate vanity subdomain** — [Beta] Attempt to verify the DNS configuration for a Supabase project's custom hostname
- **Migration upsert, patch, apply** — Upsert an entry into a Supabase project's database migration history without actually applying the SQL
- **Version upgrade postgres** — [Beta, DESTRUCTIVE] Initiate an in-place upgrade of a Supabase project's Postgres major version
- **Update sso provider, ssl enforcement config, project signing key** — Update an existing SAML SSO provider on a Supabase project, identified by its UUID
- **Undo records** — Initiate an undo (rollback) of a Supabase project's database to a previously created restore point
- **Update storage config, realtime config, legacy api keys** — Update a Supabase project's Storage service configuration: the maximum upload file size in bytes, and feature flags for image transformation, the S3 protocol, and cache purging
- **Realtime shutdown** — Forcibly shut down all active Realtime connections for a Supabase project
- **Read setup, remove, only query** — [Beta] Set up a new read replica for a Supabase project in the given region
- **Metrics scrape project** — Scrape a project's infrastructure metrics in Prometheus exposition format (plain text, not JSON)
- **Disk modify database** — Modify a Supabase project's database disk: change its type (gp3 or io2), size in GB, IOPS, or (gp3 only) throughput in MiB/s
- **List project addons, jit access, sso provider** — List the billing addons currently applied to a Supabase project, including the active compute instance size, plus every addon option that can be provisioned along with its pricing metadata

## Tool list

Expand Down
11 changes: 6 additions & 5 deletions src/content/docs/agentkit/connectors/supadata.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -63,19 +63,20 @@ import { SectionAfterSetupSupadataCommonWorkflows } from '@components/templates'

4. ### Make your first call

<QuickstartGenericApikeySection connector="supadata" toolName="supadata_metadata_get" providerName="Supadata" toolInputNode="{ url: 'https://example.com/url' }" toolInputPython='{"url":"https://example.com/url"}' />
<QuickstartGenericApikeySection connector="supadata" toolName="supadata_account_get" providerName="Supadata" />

</Steps>

## What you can do

Connect this agent connector to let your agent:

- **Get metadata, youtube playlist, youtube channel** — Retrieve unified metadata for a video or media URL including title, description, author info, engagement stats, media details, and creation date
- **Batch youtube video, youtube transcript** — Start an asynchronous batch job that fetches metadata for multiple YouTube videos in one call
- **Videos youtube playlist, youtube channel** — Retrieve the video IDs contained in a YouTube playlist, in playlist order
- **Get youtube batch, web crawl, transcript job** — Check the status of a YouTube batch job (transcripts or video metadata) and retrieve its results once complete
- **Start web crawl** — Start an asynchronous crawl job that extracts content from all pages on a website, following internal links up to the given page limit
- **Extract records** — Use AI to analyze a video or media URL and extract structured data from it, guided by a natural-language prompt and/or a JSON schema
- **Scrape web** — Scrape a web page and return its content as clean Markdown
- **Search youtube** — Search YouTube for videos, channels, or playlists
- **Map web** — Discover and return all URLs found on a website
- **Translate youtube transcript** — Retrieve and translate a YouTube video transcript into a target language

## Common workflows

Expand Down
12 changes: 6 additions & 6 deletions src/content/docs/agentkit/connectors/tableau.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,12 @@ import { SectionBeforeToolListTableauResourceIds } from '@components/templates'

Connect this agent connector to let your agent:

- **List workbooks, workbook connections, views** — Retrieve a filtered, sorted list of workbooks on a specified Tableau site
- **Search workbook** — Search for workbooks on a Tableau site by name
- **Get workbook, view, user** — Retrieve detailed information about a specific Tableau workbook by its ID, including metadata, project, owner, tags, and optional usage statistics
- **Delete workbook, project, datasource** — Delete a workbook from a Tableau site
- **Site user remove from, user add to** — Remove a user from a Tableau site
- **Query view** — Run a structured query against a published Tableau data source using the VizQL Data Service API
- **Update workbook, user, schedule** — Update a Tableau workbook's name, description, owner, project (move it), tab visibility, or certification status
- **List workbook permissions, sites, schedules** — Retrieve the capability grants (permissions) defined for a specific Tableau workbook, showing which users and groups can view, edit, or manage it
- **Add workbook permissions, project permissions** — Grant a user or group specific capabilities (permissions) on a Tableau workbook, such as Read, Write, or ExportData
- **Delete workbook permission, schedule, workbook** — Revoke a single capability grant for a user or group on a Tableau workbook
- **Get view pdf, view image, view data** — Render a Tableau view as a PDF document
- **Create schedule, project, group** — Create a new server schedule for running extract refreshes, subscriptions, or flow tasks on a recurring basis

## Common workflows

Expand Down
7 changes: 6 additions & 1 deletion src/content/docs/agentkit/connectors/trello.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,12 @@ import { SectionAfterSetupTrelloCommonWorkflows } from '@components/templates'

Connect this agent connector to let your agent:

- **Get board members, board lists, board labels** — Get all members of a Trello board, optionally filtered by role
- **Update list, label, checklist item** — Rename, reposition, or archive/unarchive a Trello list
- **Search records** — Global keyword search across Trello boards, cards, members, and organizations that the authenticated user can access
- **Card remove member from, remove label from, add member to** — Remove a member from a Trello card
- **List my boards** — List the boards the authenticated user belongs to
- **Get webhook, current member, checklist** — Get a Trello webhook's current details and status by ID
- **Delete webhook, label, comment** — Permanently delete a Trello webhook by its ID, stopping any further callbacks

## Common workflows

Expand Down
12 changes: 6 additions & 6 deletions src/content/docs/agentkit/connectors/twilio.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,12 @@ import { SetupTwilioSection } from '@components/templates'

Connect this agent connector to let your agent:

- **List verify services, usage records, recordings** — List all Twilio Verify services on the account
- **Get verify service, verification, recording** — Retrieve details of a specific Twilio Verify service by its SID
- **Delete verify service, recording, message** — Delete a Twilio Verify service by its SID
- **Create verify service** — Create a new Twilio Verify service for sending verification codes via SMS, call, email, or WhatsApp
- **Today usage records** — Retrieve today's usage records for a Twilio account, optionally filtered by category
- **Free available numbers toll** — Search for available toll-free phone numbers that can be purchased in a given country
- **Update verify service, verification, phone number** — Update settings of an existing Twilio Verify service, such as its code length or friendly name
- **Create verification, subaccount, queue** — Start a phone or email verification by sending a one-time code via Twilio Verify
- **Check verification** — Check a one-time verification code entered by a user against a Twilio Verify service
- **List queues, applications, accounts** — List call queues on the account, used with TwiML's `<Enqueue>` and `<Dequeue>` verbs
- **Delete phone number, conference participant, verify service** — Release (delete) an incoming phone number from your Twilio account
- **Number lookup phone** — Look up information about a phone number, such as formatting, carrier, line type, and caller name, using Twilio Lookup

## Tool list

Expand Down
Loading