-
Notifications
You must be signed in to change notification settings - Fork 10
chore(docs): sync agent connector pages from prod catalog #723
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
c1ac804
chore(docs): sync agent connector pages from prod catalog
Pranesh-Raghu 3e3c235
chore: remove unreferenced d2 SVG assets and stale duplicate data files
Pranesh-Raghu bcd59e6
Revert "chore: remove unreferenced d2 SVG assets and stale duplicate …
Pranesh-Raghu b08473b
chore: remove stale clickhouse 3.ts duplicate data file
Pranesh-Raghu 9c60a0d
chore: revert SVG overwrites back to main versions
Pranesh-Raghu 4b65564
chore: restore xmcp-quickstart-0.svg
Pranesh-Raghu 57d3970
chore: remove sync-generated xmcp-quickstart-0.svg (not in main)
Pranesh-Raghu 57f8b5e
chore: restore xmcp-quickstart-0.svg (new file added by sync)
Pranesh-Raghu b4ebd30
chore(docs): sync agent connectors from prod catalog and fix broken a…
Pranesh-Raghu fdb1746
add setup templates and screenshots for AirOps, Salesloft, and Gainsi…
Pranesh-Raghu c558758
revert accidental SVG changes from connector docs commit
Pranesh-Raghu 84feff6
use real AirOps API key dashboard screenshot
Pranesh-Raghu de0c6f0
chore(docs): sync Cloudflare MCP connector from prod catalog
Pranesh-Raghu 44ba299
chore(docs): sync agent connector data files from prod catalog
Pranesh-Raghu 4ca0f7a
Revert accidental SVG changes
Pranesh-Raghu File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
316 changes: 158 additions & 158 deletions
316
public/d2/docs/authenticate/manage-users-orgs/hosted-widgets-0.svg
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.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
67 changes: 67 additions & 0 deletions
67
src/components/templates/agent-connectors/_setup-airopsmcp.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,67 @@ | ||
| import { Steps, Aside, Tabs, TabItem } from '@astrojs/starlight/components' | ||
|
|
||
| Register your Scalekit environment with the AirOps connector so Scalekit can proxy API requests and inject your API key automatically. There is no redirect URI or OAuth flow — authentication uses your AirOps API key. | ||
|
|
||
| <Steps> | ||
| 1. ### Get your AirOps API key | ||
|
|
||
| - Sign in to [AirOps](https://app.airops.com) and click **Settings** in the bottom-left sidebar. | ||
| - Select **Workspace** from the settings menu. | ||
| - Under **API Key**, click the copy icon to copy your key. To rotate the key, click **Regenerate**. | ||
|
|
||
|  | ||
|
|
||
| <Aside type="caution" title="Keep your API key secret"> | ||
| Never expose your AirOps API key in client-side code or public repositories. Regenerating the key immediately revokes the previous one. | ||
| </Aside> | ||
|
|
||
| 2. ### Create a connection in Scalekit | ||
|
|
||
| - In [Scalekit dashboard](https://app.scalekit.com), go to **AgentKit** > **Connections** > **Create Connection**. Find **AirOps** and click **Create**. | ||
| - Note the **Connection name** — use this as `connection_name` in your code (e.g., `airopsmcp`). | ||
| - Click **Save**. | ||
|
|
||
| 3. ### Add a connected account | ||
|
|
||
| Connected accounts link a user identifier in your system to an AirOps API key. | ||
|
|
||
| **Via dashboard (for testing)** | ||
| - Open the connection and click the **Connected Accounts** tab → **Add account**. | ||
| - Fill in: | ||
| - **Your User's ID** — a unique identifier for this user in your system (e.g., `user_123`) | ||
| - **API Key** — the AirOps API key you copied in step 1 | ||
| - Click **Save**. | ||
|
|
||
| **Via API (for production)** | ||
|
|
||
| <Tabs syncKey="tech-stack"> | ||
| <TabItem label="Node.js"> | ||
| ```typescript | ||
| // Never hard-code API keys — read from secure storage or user input | ||
| const airopsApiKey = getUserAiropsKey(); // retrieve from your secure store | ||
|
|
||
| await scalekit.actions.upsertConnectedAccount({ | ||
| connectionName: 'airopsmcp', | ||
| identifier: 'user_123', | ||
| credentials: { api_key: airopsApiKey }, | ||
| }); | ||
| ``` | ||
| </TabItem> | ||
| <TabItem label="Python"> | ||
| ```python | ||
| # Never hard-code API keys — read from secure storage or user input | ||
| airops_api_key = get_user_airops_key() # retrieve from your secure store | ||
|
|
||
| scalekit_client.actions.upsert_connected_account( | ||
| connection_name="airopsmcp", | ||
| identifier="user_123", | ||
| credentials={"api_key": airops_api_key} | ||
| ) | ||
| ``` | ||
| </TabItem> | ||
| </Tabs> | ||
|
|
||
| <Aside type="tip" title="Production usage"> | ||
| In production, call `upsert_connected_account` when a user connects their AirOps account — for example, on a settings page in your app. | ||
| </Aside> | ||
| </Steps> |
73 changes: 73 additions & 0 deletions
73
src/components/templates/agent-connectors/_setup-gainsight.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,73 @@ | ||
| import { Steps, Aside, Tabs, TabItem } from '@astrojs/starlight/components' | ||
|
|
||
| Register your Scalekit environment with the Gainsight connector so Scalekit can proxy API requests using your Gainsight access key. There is no redirect URI or OAuth flow. | ||
|
|
||
| <Steps> | ||
| 1. ### Generate a Gainsight access key | ||
|
|
||
| - Sign in to Gainsight and go to **Administration** → **Connectors 2.0** → **Connections**. | ||
| - Click **+ Create Connection**. | ||
| - Select **Gainsight API** as the connector type, enter a connection name, and choose **Access Key** as the authentication type. | ||
| - Click **Generate Access Key**. | ||
|
|
||
|  | ||
|
|
||
| <Aside type="caution" title="One access key per organization"> | ||
| Gainsight allows only one active access key per organization. Generating a new key revokes the previous one. Copy the key immediately — it is shown only once. | ||
| </Aside> | ||
|
|
||
| 2. ### Create a connection in Scalekit | ||
|
|
||
| - In [Scalekit dashboard](https://app.scalekit.com), go to **AgentKit** > **Connections** > **Create Connection**. Find **Gainsight** and click **Create**. | ||
| - Note the **Connection name** — use this as `connection_name` in your code (e.g., `gainsight`). | ||
| - Click **Save**. | ||
|
|
||
| 3. ### Add a connected account | ||
|
|
||
| **Via dashboard (for testing)** | ||
| - Open the connection and click the **Connected Accounts** tab → **Add account**. | ||
| - Fill in: | ||
| - **Your User's ID** — a unique identifier for this user in your system (e.g., `user_123`) | ||
| - **Tenant Domain** — your Gainsight hostname without `https://` (e.g., `mycompany.gainsightcloud.com`) | ||
| - **Access Key** — the key you generated in step 1 | ||
| - Click **Save**. | ||
|
|
||
| **Via API (for production)** | ||
|
|
||
| <Tabs syncKey="tech-stack"> | ||
| <TabItem label="Node.js"> | ||
| ```typescript | ||
| // Never hard-code API keys — read from secure storage or user input | ||
| const gainsightKey = getUserGainsightKey(); // retrieve from your secure store | ||
|
|
||
| await scalekit.actions.upsertConnectedAccount({ | ||
| connectionName: 'gainsight', | ||
| identifier: 'user_123', | ||
| credentials: { | ||
| domain: 'mycompany.gainsightcloud.com', | ||
| api_key: gainsightKey, | ||
| }, | ||
| }); | ||
| ``` | ||
| </TabItem> | ||
| <TabItem label="Python"> | ||
| ```python | ||
| # Never hard-code API keys — read from secure storage or user input | ||
| gainsight_key = get_user_gainsight_key() # retrieve from your secure store | ||
|
|
||
| scalekit_client.actions.upsert_connected_account( | ||
| connection_name="gainsight", | ||
| identifier="user_123", | ||
| credentials={ | ||
| "domain": "mycompany.gainsightcloud.com", | ||
| "api_key": gainsight_key, | ||
| } | ||
| ) | ||
| ``` | ||
| </TabItem> | ||
| </Tabs> | ||
|
|
||
| <Aside type="tip" title="Production usage"> | ||
| In production, call `upsert_connected_account` when a user connects their Gainsight account — for example, on an admin settings page in your app. | ||
| </Aside> | ||
| </Steps> |
71 changes: 71 additions & 0 deletions
71
src/components/templates/agent-connectors/_setup-salesloft.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,71 @@ | ||
| import { Steps, Aside, Tabs, TabItem } from '@astrojs/starlight/components' | ||
|
|
||
| Register your Scalekit environment with the Salesloft connector so Scalekit handles the OAuth 2.0 flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. | ||
|
|
||
| <Steps> | ||
| 1. ### Create a Salesloft OAuth application | ||
|
|
||
| - Sign in to [Salesloft](https://accounts.salesloft.com) and go to **Settings** → **Your Applications** → **OAuth Applications**. | ||
| - Click **+ New Application**. | ||
| - Fill in the application name (e.g., `My Sales Agent`) and description. | ||
| - In the **Redirect URI** field, paste the redirect URI from Scalekit (see step 2 — you can return to add it after). | ||
| - Under **Scopes**, select the permissions your agent needs: | ||
|
|
||
| | Scope | Enables | | ||
| | --- | --- | | ||
| | `read` | Read access to contacts, cadences, and activities | | ||
| | `write` | Create and update records | | ||
|
|
||
| - Click **Save**. On the application detail page, copy your **Client ID** and **Client Secret**. | ||
|
|
||
|  | ||
|
|
||
| <Aside type="caution" title="Save your client secret"> | ||
| The client secret is shown only once. Copy it before leaving the page. | ||
| </Aside> | ||
|
|
||
| 2. ### Create a connection in Scalekit | ||
|
|
||
| - In [Scalekit dashboard](https://app.scalekit.com), go to **AgentKit** > **Connections** > **Create Connection**. Find **Salesloft** and click **Create**. | ||
| - Click **Use your own credentials** and copy the **Redirect URI**: | ||
| `https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback` | ||
| - Return to your Salesloft OAuth app and add this redirect URI. | ||
| - Back in Scalekit, enter your **Client ID**, **Client Secret**, and the **Permissions** (scopes) you selected. | ||
| - Note the **Connection name** (e.g., `salesloft`) — use this as `connection_name` in your code. | ||
| - Click **Save**. | ||
|
|
||
| 3. ### Add a connected account | ||
|
|
||
| **Via dashboard (for testing)** | ||
| - Open the connection and click the **Connected Accounts** tab → **Add account**. | ||
| - Enter a **User ID** and click **Save**. You will be redirected to Salesloft to authorize access. | ||
|
|
||
| **Via API (for production)** | ||
|
|
||
| <Tabs syncKey="tech-stack"> | ||
| <TabItem label="Node.js"> | ||
| ```typescript | ||
| const { link } = await scalekit.actions.getAuthorizationLink({ | ||
| connectionName: 'salesloft', | ||
| identifier: 'user_123', | ||
| }); | ||
| // Redirect your user to `link` to authorize access | ||
| console.log('Authorize at:', link); | ||
| ``` | ||
| </TabItem> | ||
| <TabItem label="Python"> | ||
| ```python | ||
| response = scalekit_client.actions.get_authorization_link( | ||
| connection_name="salesloft", | ||
| identifier="user_123" | ||
| ) | ||
| # Redirect your user to response.link to authorize access | ||
| print("Authorize at:", response.link) | ||
| ``` | ||
| </TabItem> | ||
| </Tabs> | ||
|
|
||
| <Aside type="tip" title="Token refresh"> | ||
| Salesloft access tokens expire periodically. Scalekit automatically refreshes them — no re-authorization needed for active sessions. | ||
| </Aside> | ||
| </Steps> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,84 @@ | ||
| --- | ||
| title: 'Airops MCP connector' | ||
| tableOfContents: true | ||
| description: 'Connect to AirOps MCP. Manage brand kits, run AI-powered analytics, track AEO citations, and automate content workflows from your AI agents.' | ||
| sidebar: | ||
| label: 'Airops MCP' | ||
| overviewTitle: 'Quickstart' | ||
| connectorIcon: https://cdn.scalekit.com/sk-connect/assets/provider-icons/airops.svg | ||
| connectorAuthType: API Key | ||
| connectorCategories: [AI, Marketing, Analytics] | ||
| head: | ||
| - tag: style | ||
| content: | | ||
| .sl-markdown-content h2 { | ||
| font-size: var(--sl-text-xl); | ||
| } | ||
| .sl-markdown-content h3 { | ||
| font-size: var(--sl-text-lg); | ||
| } | ||
| --- | ||
|
|
||
| import ToolList from '@/components/ToolList.astro' | ||
| import { tools } from '@/data/agent-connectors/airopsmcp' | ||
| import { Steps, Tabs, TabItem } from '@astrojs/starlight/components' | ||
| import { AgentKitCredentials } from '@components/templates' | ||
| import { SetupAiropsmcpSection } from '@components/templates' | ||
| import { QuickstartGenericApikeySection } from '@components/templates' | ||
|
|
||
| <Steps> | ||
|
|
||
| 1. ### Install the SDK | ||
|
|
||
| <Tabs syncKey="tech-stack"> | ||
| <TabItem label="Node.js"> | ||
| ```bash frame="terminal" | ||
| npm install @scalekit-sdk/node | ||
| ``` | ||
| </TabItem> | ||
| <TabItem label="Python"> | ||
| ```bash frame="terminal" | ||
| pip install scalekit | ||
| ``` | ||
| </TabItem> | ||
| </Tabs> | ||
|
|
||
| Full SDK reference: [Node.js](/agentkit/sdks/node/) | [Python](/agentkit/sdks/python/) | ||
|
|
||
| 2. ### Set your credentials | ||
|
|
||
| <AgentKitCredentials /> | ||
|
|
||
| 3. ### Set up the connector | ||
|
|
||
| Register your Airops MCP credentials with Scalekit so it can authenticate requests on your behalf. You do this once per environment. | ||
|
|
||
| <details> | ||
| <summary>Dashboard setup steps</summary> | ||
|
|
||
| <SetupAiropsmcpSection /> | ||
|
|
||
| </details> | ||
|
|
||
| 4. ### Make your first call | ||
|
|
||
| <QuickstartGenericApikeySection connector="airopsmcp" toolName="airopsmcp_list_aeo_page_content_updates" providerName="Airops MCP" /> | ||
|
|
||
| </Steps> | ||
|
|
||
| ## What you can do | ||
|
|
||
| Connect this agent connector to let your agent: | ||
|
|
||
| - **Grid write** — Create or update rows in a grid table | ||
| - **Update brand kit, track aeo page content** — Update a Brand Kit's base fields | ||
| - **Edits suggest brand kit** — Suggest edits to a Brand Kit's fields without applying them | ||
| - **Search knowledge base** — Search a Knowledge Base for relevant content using semantic similarity | ||
| - **Run grid rows** — Trigger execution of one or more grid rows | ||
| - **Read grid** — Read rows from a grid table | ||
|
|
||
| ## Tool list | ||
|
|
||
| Use the exact tool names from the **Tool list** below when you call `execute_tool`. If you're not sure which name to use, list the tools available for the current user first. | ||
|
|
||
| <ToolList tools={tools} /> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| --- | ||
| title: 'Bio Render MCP connector' | ||
| tableOfContents: true | ||
| description: 'Connect to BioRender MCP. Search BioRender''s scientific icon and figure template libraries to build publication-ready biological illustrations.' | ||
| sidebar: | ||
| label: 'Bio Render MCP' | ||
| overviewTitle: 'Quickstart' | ||
| connectorIcon: https://cdn.scalekit.com/sk-connect/assets/provider-icons/biorendermcp.svg | ||
| connectorAuthType: OAuth 2.1/DCR | ||
| connectorCategories: [AI, Design, Search] | ||
| head: | ||
| - tag: style | ||
| content: | | ||
| .sl-markdown-content h2 { | ||
| font-size: var(--sl-text-xl); | ||
| } | ||
| .sl-markdown-content h3 { | ||
| font-size: var(--sl-text-lg); | ||
| } | ||
| --- | ||
|
|
||
| import ToolList from '@/components/ToolList.astro' | ||
| import { tools } from '@/data/agent-connectors/biorendermcp' | ||
| import { Steps, Tabs, TabItem } from '@astrojs/starlight/components' | ||
| import { AgentKitCredentials } from '@components/templates' | ||
| import { QuickstartGenericOauthSection } from '@components/templates' | ||
|
|
||
| <Steps> | ||
|
|
||
| 1. ### Install the SDK | ||
|
|
||
| <Tabs syncKey="tech-stack"> | ||
| <TabItem label="Node.js"> | ||
| ```bash frame="terminal" | ||
| npm install @scalekit-sdk/node | ||
| ``` | ||
| </TabItem> | ||
| <TabItem label="Python"> | ||
| ```bash frame="terminal" | ||
| pip install scalekit | ||
| ``` | ||
| </TabItem> | ||
| </Tabs> | ||
|
|
||
| Full SDK reference: [Node.js](/agentkit/sdks/node/) | [Python](/agentkit/sdks/python/) | ||
|
|
||
| 2. ### Set your credentials | ||
|
|
||
| <AgentKitCredentials /> | ||
|
|
||
| 3. ### Authorize and make your first call | ||
|
|
||
| <QuickstartGenericOauthSection connector="biorendermcp" toolName="biorendermcp_search-icons" providerName="Bio Render MCP" toolInputNode="{ query: 'YOUR_QUERY' }" toolInputPython='{"query":"YOUR_QUERY"}' /> | ||
|
|
||
| </Steps> | ||
|
|
||
| ## What you can do | ||
|
|
||
| Connect this agent connector to let your agent: | ||
|
|
||
| - **Search-templates records** — Search BioRender's scientific figure template library | ||
| - **Search-icons records** — Search BioRender's scientific icon library by keyword | ||
|
|
||
| ## Tool list | ||
|
|
||
| Use the exact tool names from the **Tool list** below when you call `execute_tool`. If you're not sure which name to use, list the tools available for the current user first. | ||
|
|
||
| <ToolList tools={tools} /> |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.