Skip to content

sync: add Apollo (API Key), Momentum, and Zoom Revenue Accelerator connectors - #891

Open
Pranesh-Raghu wants to merge 10 commits into
mainfrom
sync/reconcile-jul20
Open

sync: add Apollo (API Key), Momentum, and Zoom Revenue Accelerator connectors#891
Pranesh-Raghu wants to merge 10 commits into
mainfrom
sync/reconcile-jul20

Conversation

@Pranesh-Raghu

@Pranesh-Raghu Pranesh-Raghu commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Apollo (API Key) — 75 tools
  • Momentum — 8 tools
  • Zoom Revenue Accelerator — 44 tools

Discord, Amplitude, Mixpanel, and Stripe connectors that were originally bundled into this branch have been split out into PR #910, which has already merged into main.

Preview

https://deploy-preview-891--scalekit-starlight.netlify.app/agentkit/connectors/apolloapikey/

Reconciled docs catalog against Scalekit prod (328 providers, matching
the dashboard count exactly). Adds:

- Apollo (API Key) — 75 tools
- Momentum — 8 tools
- Stripe — 111 tools
- Zoom Revenue Accelerator — 44 tools
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Amplitude Analytics, Apollo API Key, Momentum, Stripe, and Zoom Revenue Accelerator connectors were added with tool catalogs, indexed definitions, metadata, setup guidance, and documentation. Discord and Discord Bot tooling and documentation were expanded.

Changes

Connector registration and shared setup

Layer / File(s) Summary
Provider metadata and setup exports
src/data/agent-connectors/catalog.ts, src/components/templates/agent-connectors/index.ts
Registers four providers and exports Amplitude Analytics and Discord Bot setup sections.

Amplitude Analytics connector

Layer / File(s) Summary
Amplitude tools and documentation
src/data/agent-connectors/amplitudeanalytics.ts, src/data/agent-connectors/tools-index.json, public/data/agent-tools-index.json, src/components/templates/agent-connectors/_setup-amplitudeanalytics.mdx, src/content/docs/agentkit/connectors/amplitudeanalytics.mdx
Adds Amplitude taxonomy, annotation, cohort, DSAR, deletion, session replay, and analytics tools with regional credential setup and connector documentation.

Discord connectors

Layer / File(s) Summary
Discord and Discord Bot tooling
src/data/agent-connectors/discord.ts, src/data/agent-connectors/discordbot.ts, src/data/agent-connectors/tools-index.json, public/data/agent-tools-index.json, src/content/docs/agentkit/connectors/discord.mdx, src/content/docs/agentkit/connectors/discordbot.mdx, src/components/templates/agent-connectors/_setup-discord.mdx, src/components/templates/agent-connectors/_setup-discordbot.mdx
Adds entitlement, lobby, permission, subscription, role-connection, moderation, webhook, channel, message, and bot-management tools with setup documentation.

Apollo API Key connector

Layer / File(s) Summary
Apollo tools and quickstart
src/data/agent-connectors/apolloapikey.ts, src/data/agent-connectors/tools-index.json, public/data/agent-tools-index.json, src/content/docs/agentkit/connectors/apolloapikey.mdx
Adds Apollo CRM, sequence, enrichment, messaging, task, search, reporting, and bulk-operation tools with API-key quickstart documentation.

Momentum connector

Layer / File(s) Summary
Momentum tools and documentation
src/data/agent-connectors/momentum.ts, src/data/agent-connectors/tools-index.json, public/data/agent-tools-index.json, src/content/docs/agentkit/connectors/momentum.mdx
Adds meeting, signal, user, and Salesforce remapping tools with API-key setup documentation.

Stripe connector

Layer / File(s) Summary
Stripe tools and documentation
src/data/agent-connectors/stripe.ts, src/data/agent-connectors/tools-index.json, public/data/agent-tools-index.json, src/content/docs/agentkit/connectors/stripe.mdx
Adds Stripe payment, billing, customer, subscription, tax, webhook, and related tools with connector documentation.

Zoom Revenue Accelerator connector

Layer / File(s) Summary
Zoom Revenue Accelerator tools and documentation
src/data/agent-connectors/zoomrevenueaccelerator.ts, src/data/agent-connectors/tools-index.json, public/data/agent-tools-index.json, src/content/docs/agentkit/connectors/zoomrevenueaccelerator.mdx
Adds conversation, team, CRM, deal, analytics, and asynchronous import tools with OAuth documentation.

Estimated code review effort: 5 (Critical) | ~120 minutes

Possibly related PRs

Suggested reviewers: saif-at-scalekit, akshayparihar33, ravibits, avinash-kamath

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is relevant and summarizes part of the connector additions, though it omits Stripe, Discord Bot, and Amplitude Analytics.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch sync/reconcile-jul20
  • 🛠️ fix frontmatter
  • 🛠️ fix internal links

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@public/data/agent-tools-index.json`:
- Around line 51122-51125: Remove the entire stripe_zz_test_echo_probe_dahlia
entry from the production tool index, including its slug, name, description, and
surrounding object syntax. Preserve all other Stripe tool entries and ensure the
index reflects the intended production tool count of 110.

In `@src/data/agent-connectors/stripe.ts`:
- Around line 3462-3473: Remove the temporary tool definition identified by the
name stripe_zz_test_echo_probe_dahlia from the Stripe connector metadata,
including its parameters and description, then re-sync the upstream connector
catalog so the test-only echo probe is no longer exposed as a callable Stripe
tool.

In `@src/data/agent-connectors/tools-index.json`:
- Around line 51122-51126: Remove the temporary tool definition for
stripe_zz_test_echo_probe_dahlia from the Stripe connector catalog, then rerun
the connector index synchronization so the generated tools-index.json no longer
contains this entry.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: dc897668-9139-40ee-8c7b-f29710409d99

📥 Commits

Reviewing files that changed from the base of the PR and between 28c630e and 8bb181e.

📒 Files selected for processing (11)
  • public/data/agent-tools-index.json
  • src/content/docs/agentkit/connectors/apolloapikey.mdx
  • src/content/docs/agentkit/connectors/momentum.mdx
  • src/content/docs/agentkit/connectors/stripe.mdx
  • src/content/docs/agentkit/connectors/zoomrevenueaccelerator.mdx
  • src/data/agent-connectors/apolloapikey.ts
  • src/data/agent-connectors/catalog.ts
  • src/data/agent-connectors/momentum.ts
  • src/data/agent-connectors/stripe.ts
  • src/data/agent-connectors/tools-index.json
  • src/data/agent-connectors/zoomrevenueaccelerator.ts

Comment thread public/data/agent-tools-index.json Outdated
Comment thread src/data/agent-connectors/stripe.ts Outdated
Comment thread src/data/agent-connectors/tools-index.json Outdated
@netlify

netlify Bot commented Jul 20, 2026

Copy link
Copy Markdown

👷 Deploy Preview for scalekit-starlight processing.

Name Link
🔨 Latest commit d274dfa
🔍 Latest deploy log https://app.netlify.com/projects/scalekit-starlight/deploys/6a6a5a9c7965770008f5279d

- discord: document the bot scope, Bot Permissions bitfield, guild_id,
  disable_guild_select, and integration_type fields with a screenshot
  of Discord's permissions calculator
- discordbot: add full Bot Token setup guide (create app, get bot
  token, invite to server, add connected account)

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/components/templates/agent-connectors/_setup-discord.mdx`:
- Line 68: Update the Bot Permissions guidance in the Discord setup template to
remove the unsafe default bitfield 2260657982483703. Instruct users to select
only the minimum permissions required by the bot, and replace the generic
applications link with the Discord permissions UI link.

In `@src/components/templates/agent-connectors/_setup-discordbot.mdx`:
- Around line 51-65: Add inline security guidance to both TypeScript and Python
upsert_connected_account examples: read the Discord bot token from secure
storage or an environment variable instead of hardcoding it, and include
language-appropriate comments warning against committing the secret to source
control or exposing it in logs.
- Around line 51-65: Add the required SDK imports and client initialization to
the TypeScript and Python snippets before their upsertConnectedAccount calls,
using the existing Scalekit setup conventions. Ensure both complete examples are
directly runnable, or explicitly label them as excerpts if setup cannot be
included.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: a7c225be-de23-446b-ba46-1929baf24500

📥 Commits

Reviewing files that changed from the base of the PR and between dd1bf69 and 3c0fadd.

⛔ Files ignored due to path filters (2)
  • src/assets/docs/agent-connectors/discord/bot-permissions.png is excluded by !**/*.png
  • src/assets/docs/agent-connectors/discordbot/bot-tab.png is excluded by !**/*.png
📒 Files selected for processing (4)
  • src/components/templates/agent-connectors/_setup-discord.mdx
  • src/components/templates/agent-connectors/_setup-discordbot.mdx
  • src/components/templates/agent-connectors/index.ts
  • src/content/docs/agentkit/connectors/discordbot.mdx

If your agent needs to act as a bot in a server — sending messages, managing channels, or reacting to events — include the `bot` scope when you request authorization. Discord then asks the installing user to also grant a set of **bot permissions**.

- In the Scalekit connection settings, set:
- **Bot Permissions** — a bitfield describing what your bot can do in the server. Use the [permissions calculator](https://discord.com/developers/applications) on your application's **Bot** page to generate this value, or use the recommended default `2260657982483703` for common read/write access.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

sed -n '1,140p' src/components/templates/agent-connectors/_setup-discord.mdx

Repository: scalekit-inc/developer-docs

Length of output: 4732


🌐 Web query:

Discord bot permissions bitfield 2260657982483703 invite kick ban permissions recommended default

💡 Result:

The Discord permission bitfield 2260657982483703 is an integer that encodes a specific set of permissions for a bot or user [1][2][3]. Discord permissions are stored as a 64-bit integer where each bit represents a unique privilege [4][3][5]. To determine exactly which permissions are enabled for this specific bitfield, you can use a Discord permission calculator or a programming environment (such as JavaScript or Python) to perform a bitwise AND operation against the defined permission flags [6][7][5][8]. To check if a specific permission is included in 2260657982483703, you can use the following logic in many programming languages [6]: const bitfield = 2260657982483703n; const KICK_MEMBERS = 1n << 1n; // 2 const BAN_MEMBERS = 1n << 2n; // 4 const CREATE_INVITE = 1n << 0n; // 1 // Check for a permission const hasKick = (bitfield & KICK_MEMBERS) === KICK_MEMBERS; For practical purposes, you can copy the number 2260657982483703 and paste it into various community-provided Discord permission calculators (such as those found at discordapi.com, gatecord.com, or xgamingserver.com) to see a human-readable list of all checked permissions [7][3][5]. These tools automatically decode the bitfield by identifying which bits are set to 1 [5][9][8]. Regarding recommended default permissions: Discord does not have a single fixed set of recommended default permissions; you should only request the permissions your bot specifically requires to function [5][8]. For example, if your bot only needs to respond to slash commands, it may only need the Use Application Commands permission [4][5]. Requesting unnecessary permissions, especially sensitive ones like Administrator, Kick Members, or Ban Members, is generally discouraged for bot security and user trust [5][10]. Always review the official Discord API documentation for the specific requirements of your bot's features [6][1].

Citations:


🏁 Script executed:

python3 - <<'PY'
value = 2260657982483703
for bit, name in [(0,'CREATE_INSTANT_INVITE'), (1,'KICK_MEMBERS'), (2,'BAN_MEMBERS')]:
    print(name, bool(value & (1 << bit)))
print("low bits", bin(value & 0b111))
PY

Repository: scalekit-inc/developer-docs

Length of output: 242


🌐 Web query:

site:docs.discord.com developers topics permissions Discord bot permissions calculator bot page permissions

💡 Result:

Discord bot permissions determine what actions an application can perform within a server or channel [1][2]. These permissions are managed via a bitfield system and are essential for controlling bot functionality and security [1][3]. Core Concepts: Permissions Bitfield: Discord stores permissions as a variable-length integer [3]. Each permission corresponds to a specific bit in this integer [3]. To determine the total permissions value, you use bitwise OR (|) operations on the individual flag values [3]. To check if a bot has a specific permission, you use a bitwise AND (&) operation [3]. Guild-level vs. Channel-level: Permissions can be configured at the guild (server) level, which applies generally, or overridden at the channel level for specific roles or members [3][2]. OAuth2 and Authorization: When adding a bot to a server, you use an OAuth2 URL that includes the bot scope and a permissions integer [1][4]. This integer dictates the permissions the bot requests from the server administrator [1][5]. Managing Permissions: Developer Portal: When configuring your application in the Discord Developer Portal, you can select the required permissions under the Bot tab [6][5]. This ensures the correct permissions bitfield is included when users invite your bot [4]. Permission Overwrites: These allow you to adjust access on a per-channel basis [3][2]. For example, you might grant a bot the ability to send messages server-wide, but deny it that permission in a specific private channel [2]. Application Command Permissions: Distinct from standard bot permissions, these allow you to enable or disable specific slash commands for particular roles, users, or channels [3][7]. Best Practices: Request Minimal Permissions: Always follow the principle of least privilege [1]. Only request the permissions your bot absolutely needs to function [1]. Requesting excessive permissions can reduce user trust and may violate developer policies [1]. Use Big Integer Libraries: Because permissions are stored as large, variable-length integers, it is recommended to use your programming language's built-in Big Integer libraries for handling these values to ensure stability [3]. You can find the complete, up-to-date reference table of all permission flags, their hexadecimal integer values, and usage requirements in the official Discord documentation [3].

Citations:


Remove the default bot-permissions bitfield

2260657982483703 includes invite, kick, and ban permissions, so it is not a safe generic read/write preset. Use the minimum bitfield the bot needs, and link to the Discord permissions UI instead of the generic applications page.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/templates/agent-connectors/_setup-discord.mdx` at line 68,
Update the Bot Permissions guidance in the Discord setup template to remove the
unsafe default bitfield 2260657982483703. Instruct users to select only the
minimum permissions required by the bot, and replace the generic applications
link with the Discord permissions UI link.

Source: MCP tools

Comment on lines +51 to +65
```ts
await scalekit.connect.upsertConnectedAccount({
connectionName: 'discordbot',
identifier: 'user@example.com',
credentials: { apiKey: 'your-discord-bot-token' },
})
```
</TabItem>
<TabItem label="Python">
```python
scalekit_client.connect.upsert_connected_account(
connection_name="discordbot",
identifier="user@example.com",
credentials={"api_key": "your-discord-bot-token"},
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Add inline secret-handling guidance.

These examples pass a bot token without an inline warning to keep it out of source control and logs. Add language-appropriate security comments and show the value coming from secure storage.

As per path instructions, security-sensitive code examples must include inline comments explaining the mitigated threat.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/templates/agent-connectors/_setup-discordbot.mdx` around lines
51 - 65, Add inline security guidance to both TypeScript and Python
upsert_connected_account examples: read the Discord bot token from secure
storage or an environment variable instead of hardcoding it, and include
language-appropriate comments warning against committing the secret to source
control or exposing it in logs.

Source: Path instructions


🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

sed -n '1,140p' src/components/templates/agent-connectors/_setup-discordbot.mdx | cat -n

Repository: scalekit-inc/developer-docs

Length of output: 3715


🏁 Script executed:

python3 - <<'PY'
from pathlib import Path
p = Path('src/components/templates/agent-connectors/_setup-discordbot.mdx')
for i, line in enumerate(p.read_text().splitlines(), 1):
    if 1 <= i <= 140:
        print(f"{i:4}: {line}")
PY

Repository: scalekit-inc/developer-docs

Length of output: 3645


🏁 Script executed:

ls -la src/components/templates/agent-connectors && echo '---' && sed -n '1,120p' src/components/templates/agent-connectors/_setup-discordbot.mdx | nl -ba | sed -n '1,120p'

Repository: scalekit-inc/developer-docs

Length of output: 21302


🏁 Script executed:

python3 - <<'PY'
from pathlib import Path
import re

root = Path('src/components/templates/agent-connectors')
patterns = [
    ('upsertConnectedAccount', re.compile(r'upsertConnectedAccount|upsert_connected_account')),
    ('import', re.compile(r'^\s*import\s+', re.M)),
    ('constructor', re.compile(r'new\s+Scalekit|Scalekit\(')),
]

for path in sorted(root.glob('_setup-*.mdx')):
    text = path.read_text()
    if patterns[0][1].search(text):
        print(f'FILE: {path}')
        for name, pat in patterns:
            print(f'  {name}:', bool(pat.search(text)))
        print('  --- snippets ---')
        for m in re.finditer(r'```(?:ts|js|python|go|java)\n(.*?)```', text, re.S):
            snippet = m.group(1).strip().splitlines()[:8]
            print('   ', ' / '.join(snippet))
        print()
PY

Repository: scalekit-inc/developer-docs

Length of output: 13611


🏁 Script executed:

python3 - <<'PY'
from pathlib import Path
import re

root = Path('src/components/templates/agent-connectors')
for path in sorted(root.glob('_setup-*.mdx')):
    text = path.read_text()
    if 'upsertConnectedAccount' in text or 'upsert_connected_account' in text:
        print(f'FILE: {path}')
        for label, needle in [
            ('has import', 'import '),
            ('has scalekit client init', 'new Scalekit'),
            ('has scalekit_client init', 'scalekit_client ='),
            ('has upsertConnectedAccount', 'upsertConnectedAccount'),
            ('has upsert_connected_account', 'upsert_connected_account'),
        ]:
            print(f'  {label}: {needle in text}')
        print()
PY

Repository: scalekit-inc/developer-docs

Length of output: 6788


Make these SDK snippets runnable. scalekit and scalekit_client appear without the import and client setup needed to call upsertConnectedAccount, so copying either block fails before the connected account is created. Add the initialization or mark them as excerpts.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/templates/agent-connectors/_setup-discordbot.mdx` around lines
51 - 65, Add the required SDK imports and client initialization to the
TypeScript and Python snippets before their upsertConnectedAccount calls, using
the existing Scalekit setup conventions. Ensure both complete examples are
directly runnable, or explicitly label them as excerpts if setup cannot be
included.

Source: Path instructions

58 tools, HTTP Basic Auth (API Key + Secret Key). Covers finding your
data residency region, generating keys, and running both US and EU
connected accounts side by side via the domain credential field.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@public/data/agent-tools-index.json`:
- Around line 2967-3257: Descriptions in the generated amplitudeanalytics tool
index are being truncated mid-sentence, removing critical caveats and credential
guidance. Update the index-generation pipeline responsible for producing tool
descriptions so the length limit is increased sufficiently or truncation occurs
only at a complete sentence; preserve the full warnings for tools such as
amplitudeanalytics_update_annotation, amplitudeanalytics_update_user_property,
and DSAR-related tools, then regenerate the index instead of editing the
generated JSON directly.

In `@src/components/templates/agent-connectors/_setup-amplitudeanalytics.mdx`:
- Around line 21-31: Update the “Get your Secret Key” step to instruct users to
generate a new Secret Key and copy it immediately, rather than clicking “Show”
for an existing key. Also revise the Amplitude settings navigation in the
API-key step to match the current key-management UI, while keeping the
surrounding screenshots and sequence intact.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 5049fa97-667e-4a54-86d4-bccdfca457c9

📥 Commits

Reviewing files that changed from the base of the PR and between 3c0fadd and ea3c787.

⛔ Files ignored due to path filters (2)
  • src/assets/docs/agent-connectors/amplitudeanalytics/api-keys.png is excluded by !**/*.png
  • src/assets/docs/agent-connectors/amplitudeanalytics/secret-keys.png is excluded by !**/*.png
📒 Files selected for processing (7)
  • public/data/agent-tools-index.json
  • src/components/templates/agent-connectors/_setup-amplitudeanalytics.mdx
  • src/components/templates/agent-connectors/index.ts
  • src/content/docs/agentkit/connectors/amplitudeanalytics.mdx
  • src/data/agent-connectors/amplitudeanalytics.ts
  • src/data/agent-connectors/catalog.ts
  • src/data/agent-connectors/tools-index.json

Comment thread public/data/agent-tools-index.json
Comment on lines +21 to +31
- Sign in to Amplitude and go to **Settings** → **Agent Connectors** (or **API and Secret Keys**) → **API Keys**.
- Click **Generate API Key**, or copy an existing key's value.

![Amplitude API and Secret Keys page showing the API Keys tab with a generated key](@/assets/docs/agent-connectors/amplitudeanalytics/api-keys.png)

3. ### Get your Secret Key

- Click the **Secret Keys** tab.
- Click **Show** next to the secret key that matches the API key you copied in step 2, and copy it.

![Amplitude API and Secret Keys page showing the Secret Keys tab with a hidden secret key](@/assets/docs/agent-connectors/amplitudeanalytics/secret-keys.png)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

file='src/components/templates/agent-connectors/_setup-amplitudeanalytics.mdx'
wc -l "$file"
sed -n '1,120p' "$file" | cat -n

Repository: scalekit-inc/developer-docs

Length of output: 5998


🌐 Web query:

Amplitude Secret Keys cannot be revealed again API keys docs

💡 Result:

Yes, that is correct. According to Amplitude documentation, when you generate a secret key, Amplitude displays it only once [1]. Once you navigate away or close the dialog, it cannot be revealed again [1]. If you lose or forget a secret key, you cannot retrieve the original value [1]. Because secret keys are sensitive credentials used for server-side API authentication, Amplitude recommends that you delete the compromised or forgotten key and generate a new one [2]. For project management: - You can manage keys via the project settings (Settings > Projects) [1][3]. - Managers and Admins have the authority to generate and revoke these keys [4][1]. - While API keys are generally used for event ingestion and may be visible to authorized users, secret keys must be kept private and handled securely in server-side environments [2][5]. If a key is lost, the standard procedure is to generate a replacement and update your server-side configurations [2].

Citations:


Fix the Amplitude secret-key step

Amplitude only shows a Secret Key when it’s generated; it can’t be revealed later. Replace the Show instruction with “generate a new Secret Key and copy it immediately,” and update the settings path to match Amplitude’s key-management UI.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/templates/agent-connectors/_setup-amplitudeanalytics.mdx`
around lines 21 - 31, Update the “Get your Secret Key” step to instruct users to
generate a new Secret Key and copy it immediately, rather than clicking “Show”
for an existing key. Also revise the Amplitude settings navigation in the
API-key step to match the current key-management UI, while keeping the
surrounding screenshots and sequence intact.

amplitude.svg (lowercase) 404s on the CDN; Amplitude.svg is the
actual asset.
…ng, remove test tool

- Amplitude Experiment Management (new, 57 tools, Bearer token) with
  a setup guide covering both US and EU data residency regions
- Revert amplitudeanalytics icon back to lowercase amplitude.svg to
  match the provider's actual icon_src (both casings happened to
  resolve on the CDN, but lowercase is the source of truth)
- Remove stripe_zz_test_echo_probe_dahlia — a test-only tool that
  forwards Stripe Bearer tokens to postman-echo.com, flagged by
  CodeRabbit as a credential-leak risk
- Mixpanel Analytics — 37 tools (Service Account / legacy Project Secret)
- Mixpanel Compliance — 5 tools (GDPR/CCPA compliance token)
- Mixpanel Ingestion — 25 tools (Service Account / legacy Project Secret)

Catalog count matches prod exactly (334). Stripe's docs=110 vs
prod=111 tool-count check is a false positive: prod still includes
the flagged stripe_zz_test_echo_probe_dahlia test tool, correctly
excluded from docs.
…910)

These connectors now ship via PR #910, which has merged into main.
PR #891 keeps only Apollo (API Key), Momentum, and Zoom Revenue
Accelerator.
@Pranesh-Raghu Pranesh-Raghu changed the title sync: add 4 new production connectors sync: add Apollo (API Key), Momentum, and Zoom Revenue Accelerator connectors Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants