@posthog/cli 0.8.2 → 0.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -33736,6 +33736,33 @@ function createExecTool(allTools, context, toolDescription, commandReference, mc
33736
33736
  handler: async (_context, params) => {
33737
33737
  const { verb, rest } = parseCommand(params.command);
33738
33738
  switch (verb) {
33739
+ case "learn": {
33740
+ const helpCatalog = options.helpCatalog;
33741
+ if (!helpCatalog) {
33742
+ throw new Error("The learning catalog is not available for this client.");
33743
+ }
33744
+ if (!rest) {
33745
+ return JSON.stringify(helpCatalog.list());
33746
+ }
33747
+ const topicIds = [...new Set(rest.split(/\s+/))];
33748
+ const entries = topicIds.map((topicId) => helpCatalog.get(topicId));
33749
+ const unknownTopicIds = topicIds.filter((_2, index) => entries[index] === void 0);
33750
+ if (unknownTopicIds.length > 0) {
33751
+ const available = helpCatalog.list().map((item) => item.id).join(", ");
33752
+ if (unknownTopicIds.length === 1) {
33753
+ throw new Error(`Unknown learning topic: "${unknownTopicIds[0]}". Available: ${available}`);
33754
+ }
33755
+ const unknownTopics = unknownTopicIds.map((topicId) => `"${topicId}"`).join(", ");
33756
+ throw new Error(`Unknown learning topics: ${unknownTopics}. Available: ${available}`);
33757
+ }
33758
+ const resolvedEntries = entries.filter((entry) => entry !== void 0);
33759
+ if (resolvedEntries.length === 1) {
33760
+ return resolvedEntries[0].content;
33761
+ }
33762
+ return resolvedEntries.map((entry) => `## ${entry.title}
33763
+
33764
+ ${entry.content}`).join("\n\n");
33765
+ }
33739
33766
  case "tools": {
33740
33767
  return JSON.stringify(allTools.map((t2) => t2.name));
33741
33768
  }
@@ -33967,7 +33994,9 @@ function createExecTool(allTools, context, toolDescription, commandReference, mc
33967
33994
  return outputText;
33968
33995
  }
33969
33996
  default:
33970
- throw new Error(`Unknown command: "${verb}". Supported commands: tools, search, info, schema, call`);
33997
+ throw new Error(
33998
+ `Unknown command: "${verb}". Supported commands: ${options.helpCatalog ? "learn, " : ""}tools, search, info, schema, call`
33999
+ );
33971
34000
  }
33972
34001
  }
33973
34002
  };
@@ -34227,6 +34256,9 @@ var cli_data_discovery_default = '**Data discovery:** Before any analytical `cal
34227
34256
  // src/templates/sections/cli-error-handling.md
34228
34257
  var cli_error_handling_default = "**Handling errors:**\n\n- If a tool call fails, the error includes a suggestion and similar tool names. Read the suggestion before retrying.\n- If a tool name doesn't exist, run `tools` again to find the correct name.\n";
34229
34258
 
34259
+ // src/templates/sections/cli-examples-claude.md
34260
+ var cli_examples_claude_default = '**CORRECT usage pattern:**\n\n<example>\nUser: create pageviews visualization\nAssistant: This needs analytics and visualization guidance, so I\'ll load both first.\n[Runs `posthog:exec({"command":"learn analytics visualizations"})`]\n</example>\n\n<example>\nUser: How many weekly active users do we have?\nAssistant: This needs analytics and visualization guidance, so I\'ll load both before any other command.\n[Runs `posthog:exec({"command":"learn analytics visualizations"})`]\nAssistant: I need the query and data schema tools.\n[Runs `posthog:exec({"command":"search query-trends"})` and `posthog:exec({"command":"search read-data"})` in parallel]\nAssistant: I\'ll inspect both schemas.\n[Runs `posthog:exec({"command":"info query-trends"})` and `posthog:exec({"command":"info read-data-schema"})` in parallel]\nAssistant: The hinted series needs its full schema, and I need the team\'s events.\n[Runs `posthog:exec({"command":"schema query-trends series"})` and `posthog:exec({"command":"call read-data-schema {\\"query\\":{\\"kind\\":\\"events\\"}}"})` in parallel]\nAssistant: I now have the inputs for the query.\n[Runs `posthog:exec({"command":"call query-trends {...}"})`]\nAssistant: [Briefly summarizes the weekly active user trend.] I\'ll render it so you can verify the result.\n[Runs `render-ui({ "tool_name": "query-trends", "tool_input": {...} })` with the same query input]\n</example>\n\n<example>\nUser: Create a dashboard for our key revenue metrics\nAssistant: Analytics applies. I\'ll load it before any other command.\n[Runs `posthog:exec({"command":"learn analytics"})`]\nAssistant: I need dashboard and query tools.\n[Runs `posthog:exec({"command":"search dashboard"})` and `posthog:exec({"command":"search execute-sql"})` in parallel]\nAssistant: I\'ll inspect both schemas.\n[Runs `posthog:exec({"command":"info dashboard-create"})` and `posthog:exec({"command":"info execute-sql"})` in parallel]\nAssistant: I have the inputs to create the dashboard.\n[Makes call commands with correct parameters]\n</example>\n\n**INCORRECT usage patterns: NEVER do this**\n\n<bad-example>\nUser: Show me our feature flags\nAssistant: [Calls `feature-flag-get-all` with guessed parameters]\nWRONG: Run `info feature-flag-get-all` first.\n</bad-example>\n\n<bad-example>\nUser: Query our events\nAssistant: [Loads analytics, then calls three tools without inspecting them]\nWRONG: Run `info` for all tools before any `call` commands.\n</bad-example>\n\n<bad-example>\nUser: Show me a trends chart of signups\nAssistant: [Runs `learn analytics visualizations`, then runs `info query-trends` and guesses the hinted series structure]\nWRONG: Run `schema query-trends series` before populating a field with a drill-down hint.\n</bad-example>\n\n<bad-example>\nUser: query pageviews for the last 7 days\nAssistant: [Runs `learn analytics`, then queries the guessed `$pageview` event]\nWRONG: Confirm the event with `call read-data-schema {"query":{"kind":"events"}}` first.\n</bad-example>\n';
34261
+
34230
34262
  // src/templates/sections/cli-examples.md
34231
34263
  var cli_examples_default = '**CORRECT usage pattern:**\n\n<example>\nUser: How many weekly active users do we have?\nAssistant: I need to find the right query tool and data schema tool.\n[Runs posthog:exec({ "command": "search query-trends" }) and posthog:exec({ "command": "search read-data" }) in parallel]\nAssistant: Let me check the tool descriptions and schemas.\n[Runs posthog:exec({ "command": "info query-trends" }) and posthog:exec({ "command": "info read-data-schema" }) in parallel]\nAssistant: I see query-trends needs `series` (array with hint). Let me get the full field schema and discover events.\n[Runs posthog:exec({ "command": "schema query-trends series" }) and posthog:exec({ "command": "call read-data-schema {\\"query\\": {\\"kind\\": \\"events\\"}}" }) in parallel]\nAssistant: Now I know the exact series structure and available events. Let me construct the query.\n[Runs posthog:exec({ "command": "call query-trends {...}" })]\n</example>\n\n<example>\nUser: Create a dashboard for our key revenue metrics\nAssistant: I\'ll need dashboard and query tools. Let me search for them.\n[Runs posthog:exec({ "command": "search dashboard" }) and posthog:exec({ "command": "search execute-sql" }) in parallel]\nAssistant: Let me check the schemas for the tools I\'ll need.\n[Runs posthog:exec({ "command": "info dashboard-create" }) and posthog:exec({ "command": "info execute-sql" }) in parallel]\nAssistant: Now I have both schemas. Let me start by searching for existing revenue insights.\n[Makes call commands with correct parameters]\n</example>\n\n**INCORRECT usage patterns \u2014 NEVER do this:**\n\n<bad-example>\nUser: Show me our feature flags\nAssistant: [Directly calls posthog:exec({ "command": "call feature-flag-get-all {}" }) with guessed parameters]\nWRONG: Run `info feature-flag-get-all` once when its schema is missing.\n</bad-example>\n\n<bad-example>\nUser: Query our events\nAssistant: [Calls three tools in parallel without any `info` calls first]\nWRONG: Run `info` once for each missing schema.\n</bad-example>\n\n<bad-example>\nUser: Show me a trends chart of signups\nAssistant: [Runs info query-trends, sees summary with hints, then immediately calls query-trends with guessed series structure]\nWRONG \u2014 info returned a summary with hint: "DO NOT GUESS \u2013 run `schema query-trends series` before populating this field".\nYou MUST follow the hint and run `schema` before constructing the series field.\n</bad-example>\n\n<bad-example>\nUser: query pageviews for the last 7 days\nAssistant: [Runs `info query-trends`, then `call query-trends` with `event: "$pageview"` from the prompt]\nWRONG \u2014 skipped `call read-data-schema {"query": {"kind": "events"}}`. Never query an event name taken or inferred from the prompt \u2014 canonical-looking (`$pageview`) or guessed (`downloaded_file`) names still need per-team confirmation.\n</bad-example>\n';
34232
34264
 
@@ -34237,7 +34269,7 @@ var cli_rendering_default = '### Rendering visualizations\n\n`render-ui` is a se
34237
34269
  var cli_schema_drilldown_default = "**SCHEMA DRILL-DOWN RULE \u2014 HARD REQUIREMENT**\n\nThe `info` command may return the full schema (for simple tools) or a top-level summary with drill-down hints (for complex tools). Look for `hint` fields in the response.\n\nIf `info` returned a summary (fields have `hint` values), call `schema <tool_name> <field_name>` for each field you need to populate BEFORE constructing that field's value in a `call` command.\n\nIf `schema` also returns a summary (because the field is too large), drill deeper using dot-notation: `schema <tool> <field>.<subfield>`.\n\n**NEVER** guess the structure of fields that have hints. **ALWAYS** drill down first.\n\nFor query tools, you will typically need:\n\n- `schema <tool> series` \u2014 to see EventsNode/ActionsNode structure\n- `schema <tool> series.properties` \u2014 to see property filter structure of series\n\n**For multiple tools:** Run `info` for ALL tools first, then make your `call` commands.\n";
34238
34270
 
34239
34271
  // src/templates/sections/cli-syntax.md
34240
- var cli_syntax_default = 'CLI-style command string. Supported commands:\n\n```text\ntools \u2014 list available tool names\nsearch <regex_pattern> \u2014 search tools by JavaScript regex (matches name, title, description)\ninfo [--json] <tool_name> \u2014 show tool name, description, and input schema (summarized if too large). Pass `--json` for raw JSON output.\nschema <tool_name> [field_path] \u2014 drill into a specific field schema (supports dot-notation, e.g. series, breakdownFilter.breakdowns)\ncall [--json] [--confirm] <tool_name> <json_input> \u2014 call a tool with JSON input (--json returns raw JSON instead of optimized output in supported tools. Use raw JSON for scripts. --confirm is required by the CLI for destructive tools.)\n```\n\n**Namespaced references (`posthog:<tool-name>`):** strip the `posthog:` prefix and route through `exec`. Run `info <name>` to inspect, then `call <name> <json>`. E.g. `posthog:insights-list` \u2192 `posthog:exec({ "command": "info insights-list" })` then `posthog:exec({ "command": "call insights-list {}" })`. If the bare name isn\'t found, fall back to `search <pattern>` \u2014 it may have been renamed.\n';
34272
+ var cli_syntax_default = 'CLI-style command string. Supported commands:\n\n```text\n{extra_commands}tools \u2014 list available tool names\nsearch <regex_pattern> \u2014 search tools by JavaScript regex (matches name, title, description)\ninfo [--json] <tool_name> \u2014 show tool name, description, and input schema (summarized if too large). Pass `--json` for raw JSON output.\nschema <tool_name> [field_path] \u2014 drill into a specific field schema (supports dot-notation, e.g. series, breakdownFilter.breakdowns)\ncall [--json] [--confirm] <tool_name> <json_input> \u2014 call a tool with JSON input (--json returns raw JSON instead of optimized output in supported tools. Use raw JSON for scripts. --confirm is required by the CLI for destructive tools.)\n```\n\n**Namespaced references (`posthog:<tool-name>`):** strip the `posthog:` prefix and route through `exec`. Run `info <name>` to inspect, then `call <name> <json>`. E.g. `posthog:insights-list` \u2192 `posthog:exec({ "command": "info insights-list" })` then `posthog:exec({ "command": "call insights-list {}" })`. If the bare name isn\'t found, fall back to `search <pattern>` \u2014 it may have been renamed.\n';
34241
34273
 
34242
34274
  // src/templates/sections/compact-instructions.md
34243
34275
  var compact_instructions_default = "Below are tools available in the MCP. Prioritize skills over tools.\n{metadata}\n{defined_groups}\n\n# Tool domains\n\n{tool_domains}\n";
@@ -34251,6 +34283,9 @@ var env_context_default = "{defined_groups}\n\n{metadata}\n";
34251
34283
  // src/templates/sections/examples.md
34252
34284
  var examples_default = "### Examples\n\nBefore writing any queries, read the PostHog's skill `querying-posthog-data` to see if there are any relevant query examples and follow them.\n\n#### Creating an insight with segmentation\n\n<example>\nUser: How many users have chatted with the AI assistant from the US?\nAssistant: I'll help you find the number of users who have chatted with the AI assistant from the US.\n1. Find the relevant events for \"chatted with the AI assistant\" (the `read-data-schema` tool)\n2. Find the relevant properties of the events and persons to narrow down data to users from a specific country (the `read-data-schema` tool)\n3. Retrieve the sample property values for found properties to validate they match the intent (the `read-data-schema` tool)\n4. Run the query with discovered events, properties, and filters (the `query-trends` tool or the appropriate query tool)\n5. Analyze retrieved data and provide a concise summary\n*Begins working on the first task*\n<reasoning>\n1. Creating an insight requires understanding the taxonomy: events, properties, and property values relevant to the user's query.\n2. The user query requests additional segmentation by country.\n3. Property values might not match what the user expects (e.g., \"US\" vs \"United States\"), so retrieving sample values is important.\n4. Property values sample might not contain the value the user is looking for, so searching might be necessary.\n</reasoning>\n</example>\n\n#### Investigating a metric change\n\n<example>\nUser: Check why onboarding completion rate has dropped and if it is connected with a low sign-up count.\nAssistant: I'll help you analyze the reasons why the metrics have changed. Let me break this down into steps.\n1. Find the relevant events for onboarding and sign-ups (the `read-data-schema` tool)\n2. Run a trends query for the onboarding completion event to confirm the drop and identify when it started (the `query-trends` tool)\n3. Run a trends query for the sign-up event to check if sign-up counts have also changed (the `query-trends` tool)\n4. Run trends queries with breakdowns (e.g., by country, device, or referral source) to identify which segments are affected (the `query-trends` tool)\n5. Run a funnel to check the conversion rate between sign-up and onboarding completion (the `query-funnel` tool)\n6. Synthesize findings across all queries and explain whether the metrics are correlated\n*Begins working on the first task*\n<reasoning>\n1. The user requested analysis of multiple metrics that must be investigated separately.\n2. Multiple queries are needed to understand each trend independently.\n3. Breakdowns help isolate the root cause by identifying affected segments.\n4. A funnel connects the two metrics to check for a direct relationship.\n</reasoning>\n</example>\n\n#### Building a dashboard\n\n<example>\nUser: Generate a revenue dashboard.\nAssistant: I'll help you create a revenue dashboard. Let me plan the steps.\n1. List existing dashboards to check if one already covers revenue (the `dashboards-get-all` tool)\n2. Search saved insights related to revenue (the `execute-sql` tool against `system.insights` \u2014 check `execute-sql` for SQL guidance)\n3. Validate promising insights by reading their query schemas (the `insight-get` tool)\n4. Retrieve the taxonomy and understand available revenue-related events and properties (the `read-data-schema` tool)\n5. Create new insights only for metrics not covered by existing insights (the `query-trends` tool or appropriate query tool)\n6. Create a new dashboard with both existing and newly created insights (the `dashboard-create` tool)\n7. Analyze the created dashboard and provide a concise summary of metrics\n*Begins working on the first task*\n<reasoning>\n1. The user requested creating a dashboard. This is a complex task that requires multiple steps to complete.\n2. Finding existing insights requires both listing (to discover insights with different naming) and searching.\n3. Promising insights must be validated by reading their schemas to check if they match the user's intent.\n4. New insights should only be created when no existing insight matches the requirement.\n</reasoning>\n</example>\n";
34253
34285
 
34286
+ // src/templates/sections/exec-learn.md
34287
+ var exec_learn_default = "**LEARN FIRST: HARD REQUIREMENT**\n\nLoad all matching topics in one `learn` command first. Topics are cumulative.\n\n{help_topics}\n";
34288
+
34254
34289
  // src/templates/sections/exec-tool-blurb.md
34255
34290
  var exec_tool_blurb_default = '### Using the `posthog` tool\n\nPostHog: dashboards, insights, funnels, SQL, experiments, surveys, replay, error tracking, flags.\n\nPass CLI-style commands in the `command` parameter for all PostHog interactions.\n\n**Requirements**\n\n1. Find unknown tools with `search` or `tools`.\n2. Run `info <tool_name>` once if its schema is not in context. Reuse it unless the tool changes or a schema error occurs.\n\nNever guess a schema or run `info` before every call.\n\n**Commands (in order):**\n\n```text\n# 1. Find unknown tools\nposthog:exec({ "command": "search <regex>" })\nposthog:exec({ "command": "tools" }) # fallback: list all\n\n# 2. Inspect once if the schema is missing\nposthog:exec({ "command": "info <tool_name>" })\n\n# 3. Drill into complex fields \u2014 REQUIRED for any field with a `hint`\nposthog:exec({ "command": "schema <tool_name> <field_path>" })\n\n# 4. Call; reuse the schema\nposthog:exec({ "command": "call <tool_name> <json_input>" })\nposthog:exec({ "command": "call --json <tool_name> <json_input>" })\n```\n\n**Schema drill-down:**\n\n- `info` returns the full schema if it fits the token budget; otherwise it auto-summarizes (names, types, required, enums, defaults) and attaches `hint` entries pointing to `schema <tool> <path>` for complex fields.\n- `schema <tool>` (no path) returns the summarized top-level schema.\n- `schema <tool> <path>` resolves a dot path, descending through:\n - object `properties` (e.g. `query.source`)\n - array `items` \u2014 numeric segments step into items (`events.0.properties`), or jump to a property on the item type (`events.id`)\n - `anyOf`/`oneOf` \u2014 numeric segment picks a variant by index, or a property name matches any object variant defining it\n- Oversized sub-schemas are also summarized with a `note` to drill further.\n- Unknown paths return an error listing available child paths.\n\n**Not supported:**\n\n- `search` matches tool metadata only, not input schemas.\n- No pattern-based field projection \u2014 drill one path at a time.\n';
34256
34291
 
@@ -34295,6 +34330,77 @@ var InstructionsFormatter = class {
34295
34330
  buildExecToolDescription() {
34296
34331
  return exec_tool_blurb_default.trim();
34297
34332
  }
34333
+ /**
34334
+ * Build the optional guidance catalog used by Claude web/desktop. The
34335
+ * existing prompt sections remain the source of truth; only their delivery
34336
+ * moves from the advertised schema to `exec learn`.
34337
+ */
34338
+ buildClaudeExecHelpEntries(ctx) {
34339
+ const entries = [
34340
+ {
34341
+ id: "analytics",
34342
+ kind: "guide",
34343
+ title: "Analytics",
34344
+ description: "Query or analyze PostHog data, metrics, and events.",
34345
+ content: this.compose([retrieving_data_default, schema_workflow_default, examples_default], ctx, { compact: false })
34346
+ }
34347
+ ];
34348
+ if (ctx.renderUiEnabled) {
34349
+ entries.push({
34350
+ id: "visualizations",
34351
+ kind: "guide",
34352
+ title: "Visualizations",
34353
+ description: "Create or render a visualization.",
34354
+ content: this.compose([cli_rendering_default], ctx, { compact: false })
34355
+ });
34356
+ }
34357
+ entries.push({
34358
+ id: "feedback",
34359
+ kind: "guide",
34360
+ title: "Feedback",
34361
+ description: "Send feedback about PostHog.",
34362
+ content: this.compose([agent_feedback_default], ctx, { compact: false })
34363
+ });
34364
+ return entries;
34365
+ }
34366
+ /**
34367
+ * claude.ai's registry silently drops a tool whose serialized `inputSchema`
34368
+ * crosses ~16,384 chars. This reference lands in
34369
+ * `inputSchema.properties.command.description`, so keep routine tool-use
34370
+ * guidance inline and move only task-specific sections behind `learn <topic...>`.
34371
+ * Enforced by the budget test in `instructions-formatter-snapshot.test.ts`.
34372
+ */
34373
+ buildClaudeExecCommandReference(ctx) {
34374
+ const helpEntries = this.buildClaudeExecHelpEntries(ctx);
34375
+ const helpTopics = helpEntries.map((entry) => `- ${entry.id}: ${entry.description}`).join("\n");
34376
+ const helpSection = formatPrompt(exec_learn_default, { help_topics: helpTopics });
34377
+ const renderCtx = {
34378
+ guidelines: ctx.guidelines,
34379
+ metadata: ctx.metadata,
34380
+ groupTypes: ctx.groupTypes,
34381
+ tools: ctx.tools
34382
+ };
34383
+ return this.compose(
34384
+ [
34385
+ cli_syntax_default,
34386
+ helpSection,
34387
+ cli_schema_drilldown_default,
34388
+ cli_data_discovery_default,
34389
+ cli_examples_claude_default,
34390
+ cli_error_handling_default,
34391
+ basic_functionality_default,
34392
+ tool_search_default,
34393
+ env_context_default,
34394
+ url_patterns_default
34395
+ ],
34396
+ renderCtx,
34397
+ {
34398
+ compact: false,
34399
+ compactToolDomains: true,
34400
+ extraCommands: "learn <topic...> - load one or more learning topics\n"
34401
+ }
34402
+ );
34403
+ }
34298
34404
  /** Build the `command` parameter description for the exec tool. When
34299
34405
  * `stripEnvContext` is true (the client already received env via the
34300
34406
  * `instructions` field), the env-related placeholders (metadata, group
@@ -34308,11 +34414,8 @@ var InstructionsFormatter = class {
34308
34414
  * (project metadata, group types) here even though `stripEnvContext` is
34309
34415
  * set, so it still reaches the agent.
34310
34416
  *
34311
- * SIZE BUDGET: the serialized exec tool entry must stay under 32,600 chars —
34312
- * clients (e.g. Claude web/desktop) silently drop tools past ~32,768, which
34313
- * breaks the entire MCP for them. Enforced by the budget test in
34314
- * `tests/unit/instructions-formatter-snapshot.test.ts`; when adding prose
34315
- * here or to the section templates, shrink elsewhere to stay under. */
34417
+ * Claude web/desktop uses `buildClaudeExecCommandReference` instead because
34418
+ * its complete JSON schema has a smaller client-enforced size budget. */
34316
34419
  buildExecCommandReference(ctx, opts) {
34317
34420
  const sections = [
34318
34421
  cli_syntax_default,
@@ -34338,14 +34441,15 @@ var InstructionsFormatter = class {
34338
34441
  return this.compose(sections, renderCtx, { compact: false });
34339
34442
  }
34340
34443
  compose(sections, ctx, opts) {
34341
- const renderToolDomains = opts.compact ? buildToolDomainsCompact : buildToolDomainsBlock;
34444
+ const renderToolDomains = opts.compact || opts.compactToolDomains ? buildToolDomainsCompact : buildToolDomainsBlock;
34342
34445
  const vars = {
34343
34446
  guidelines: ctx.guidelines.trim(),
34344
34447
  defined_groups: buildDefinedGroupsBlock(ctx.groupTypes),
34345
34448
  metadata: ctx.metadata?.trim() ?? "",
34346
34449
  tool_domains: ctx.tools ? renderToolDomains(ctx.tools) : "",
34347
34450
  query_tools: ctx.queryTools ? buildQueryToolsBlock(ctx.queryTools) : "",
34348
- entity_schema_discovery: entity_schema_discovery_default.trim()
34451
+ entity_schema_discovery: entity_schema_discovery_default.trim(),
34452
+ extra_commands: opts.extraCommands ?? ""
34349
34453
  };
34350
34454
  const body = sections.map((s2) => s2.trim()).filter((s2) => s2.length > 0).join("\n\n");
34351
34455
  return formatPrompt(body, vars);
@@ -34736,7 +34840,7 @@ var generated_tool_definitions_default = {
34736
34840
  feature_entitlement: "audit_logs"
34737
34841
  },
34738
34842
  "advanced-activity-logs-list": {
34739
- description: "List activity log entries \u2014 who changed what and when (feature flag changes, dashboard edits, experiment launches, insight edits, etc.), with field-level diffs. Filter by scope, activity type, user, item, date range, and free-text search. Use this to audit a specific resource's history or to see what changed recently across the project.",
34843
+ description: 'List activity log entries \u2014 who changed what and when (feature flag changes, dashboard edits, experiment launches, insight edits, etc.), with field-level diffs. Filter by scope, activity type, user, item, date range, and free-text search. Use this to audit a specific resource\'s history or to see what changed recently across the project. Responses can be large \u2014 pass `fields` to return only what your task needs (e.g. `["user.email", "activity", "scope", "created_at"]` to see who changed what), and only request `detail.changes` when you actually need the field-level diffs.',
34740
34844
  category: "Platform Features",
34741
34845
  feature: "platform_features",
34742
34846
  summary: "List activity in the project.",
@@ -37531,7 +37635,7 @@ What IS copied: name (defaults to "Original Name (Copy)", de-duplicated with a n
37531
37635
 
37532
37636
  What is NOT copied: saved-metric references (saved metrics are project-scoped, so they are dropped on a cross-project copy), holdout, exposure cohort, start/end dates, results, and conclusion. The copy always starts as a fresh draft.
37533
37637
 
37534
- Feature flag: pass feature_flag_key to control the flag key created in the target project. If omitted, the source experiment's flag key is reused \u2014 and if a flag with that key already exists in the target project, the copy SHARES that existing flag (its variants are reused) rather than creating a new one. A shared flag means lifecycle operations on either experiment (shipping a variant, pausing) affect both. To avoid this, pass a feature_flag_key that does not already exist in the target project. If an existing target flag is reused, it must have at least 2 variants including one with key "control", otherwise the call returns 400 ("Feature flag must have at least 2 variants (control and at least one test variant)" or "Feature flag must have a variant with key 'control'").
37638
+ Feature flag: pass feature_flag_key to control the flag key created in the target project. If omitted, the source experiment's flag key is reused \u2014 and if a flag with that key already exists in the target project, the copy SHARES that existing flag (its variants are reused) rather than creating a new one. A shared flag means lifecycle operations on either experiment (shipping a variant, pausing) affect both. To avoid this, pass a feature_flag_key that does not already exist in the target project. If an existing target flag is reused, it must be multivariate with 2 to 20 variants, otherwise the call returns 400 ("Feature flag must have at least 2 variants (a baseline and at least one test variant)" or "Feature flag must have at most 20 variants"). No specific variant key is required \u2014 the analysis baseline defaults to the variant keyed "control" when present, else the first variant. Exception: copying a web experiment requires the reused target flag to have a variant keyed "control", otherwise the call returns 400 ("Web experiments require a variant with key 'control'").
37535
37639
 
37536
37640
  Returns 400 if the source experiment uses legacy metrics ("Copying is not supported for experiments using legacy metrics."). Returns 404 if the target project is not found in the organization ("Target team not found."). Returns 403 if you lack write access to the target project ("You do not have write access to the target project.").
37537
37641
 
@@ -37705,7 +37809,7 @@ Returns the full experiment object including: status (draft/running/paused/expos
37705
37809
  "experiment-launch": {
37706
37810
  description: `Requires an experiment ID. If you don't have the ID, load the finding-experiments skill to resolve the user's reference first. Load the managing-experiment-lifecycle skill for preconditions and side effects.
37707
37811
 
37708
- Launch a draft experiment. Validates the feature flag has at least 2 multivariate variants with "control" as the first variant. Activates the feature flag (sets active=true), sets start_date to the current server time, recomputes metric fingerprints, and transitions status from draft to running.
37812
+ Launch a draft experiment. Validates the feature flag is multivariate with 2 to 20 variants. Activates the feature flag (sets active=true), sets start_date to the current server time, recomputes metric fingerprints, and transitions status from draft to running.
37709
37813
 
37710
37814
  Returns 400 if the experiment has already been launched ("Experiment has already been launched.") or if the flag configuration is invalid.
37711
37815
 
@@ -38827,7 +38931,7 @@ Do NOT use this to change lifecycle state \u2014 use the dedicated launch, end,
38827
38931
  }
38828
38932
  },
38829
38933
  "inbox-reports-list": {
38830
- description: "List signal reports for the current project. A signal report is a cluster of related observations (signals) that PostHog has aggregated into a single issue or trend. Reports surface in the Inbox. Supports filtering by status (potential, candidate, in_progress, pending_input, ready, resolved, failed, suppressed), free-text search across title and summary, source_product (e.g. error_tracking, session_replay), suggested_reviewers (PostHog user UUIDs), and task_id (only reports associated with that task \u2014 pass your own task id to see which reports you are already working against). For picking up work, filter to `ready` \u2014 earlier statuses are still moving through the pipeline, and `pending_input` reports are waiting on a human. Each report's full work log \u2014 signal findings (evidence), judgments, and log entries \u2014 is readable via inbox-report-artefacts-list; read it before acting on a report. Results are paginated and ordered by '-is_suggested_reviewer,status,-updated_at' by default.",
38934
+ description: "List signal reports for the current project. A signal report is a cluster of related observations (signals) that PostHog has aggregated into a single issue or trend. Reports surface in the Inbox. Supports filtering by status (potential, candidate, in_progress, pending_input, ready, resolved, failed, suppressed), free-text search across title and summary, source_product (e.g. error_tracking, session_replay), suggested_reviewers (PostHog user UUIDs), and task_id (only reports associated with that task \u2014 pass your own task id to see which reports you are already working against). Some statuses are hidden by default (currently suppressed, i.e. human-dismissed); pass `include_all_statuses=true` to list reports in every status \u2014 do this when deduplicating against the full inbox state, and read each row's `status` (plus `dismissal_reason` / `dismissal_note` on dismissed rows) before acting. For picking up work, filter to `ready` \u2014 earlier statuses are still moving through the pipeline, and `pending_input` reports are waiting on a human. Each report's full work log \u2014 signal findings (evidence), judgments, and log entries \u2014 is readable via inbox-report-artefacts-list; read it before acting on a report. Results are paginated and ordered by '-is_suggested_reviewer,status,-updated_at' by default.",
38831
38935
  category: "Signals",
38832
38936
  feature: "signals",
38833
38937
  summary: "List signal reports",
@@ -41063,7 +41167,7 @@ Do NOT use this to change lifecycle state \u2014 use the dedicated launch, end,
41063
41167
  system_prompt_hint: "Distinct effective descriptions seen for one MCP tool"
41064
41168
  },
41065
41169
  "query-mcp-tool-failures": {
41066
- description: `Return the most common error messages for a single MCP tool, each with the resolved client harness it came from. Pass toolName as the raw $mcp_tool_name (the registered tool name) \u2014 failures are matched on $exception events, which don't carry the new-SDK effective-tool markers, so unlike the other tool-detail tools this one does NOT resolve the inner tool of a single-exec wrapper call. Also pass a dateRange. Use to answer "why is tool X failing?" or "what errors does tool X throw, and on which clients?".`,
41170
+ description: 'Return the most common failure buckets for a single MCP tool, each with the resolved client harness it came from. Failures are the errored $mcp_tool_call events ($mcp_is_error = true) \u2014 the same source as the error rate \u2014 grouped by $mcp_error_type and HTTP $mcp_error_status (there is no free-text error message on tool calls). Pass toolName (effective tool name, resolved server-side, matching the other tool-detail tools) and a dateRange. Use to answer "why is tool X failing?" or "what errors does tool X throw, and on which clients?".',
41067
41171
  category: "MCP analytics",
41068
41172
  feature: "mcp_analytics",
41069
41173
  summary: "Top errors for one MCP tool",
@@ -41076,7 +41180,7 @@ Do NOT use this to change lifecycle state \u2014 use the dedicated launch, end,
41076
41180
  readOnlyHint: true
41077
41181
  },
41078
41182
  feature_flag: "mcp-analytics",
41079
- system_prompt_hint: "One MCP tool's top error messages, by harness (scoped by raw tool name)"
41183
+ system_prompt_hint: "One MCP tool's top failure buckets, by harness (error type + HTTP status)"
41080
41184
  },
41081
41185
  "query-mcp-tool-neighbors": {
41082
41186
  description: `Return the tools most often called immediately before or after a single MCP tool within the same conversation. Pass toolName (effective tool name, resolved server-side), a dateRange, and neighborDirection ('before' or 'after'). Use to answer "what does an agent call around tool X?" \u2014 revealing common tool sequences and which tools pair up.`,
@@ -44918,15 +45022,15 @@ var package_default = {
44918
45022
  "build:ui-apps": "pnpm run build:quill && pnpm run generate:ui-apps && tsx scripts/build-ui-apps.ts",
44919
45023
  "build:ui-apps:watch": "pnpm run build:quill && pnpm run generate:ui-apps && tsx scripts/build-ui-apps.ts --watch",
44920
45024
  build: "pnpm run build:ui-apps",
44921
- dev: "wrangler dev",
44922
- "dev:local-resources": "wrangler dev --var POSTHOG_MCP_LOCAL_SKILLS_URL:http://localhost:8765/skills-mcp-resources.zip",
45025
+ dev: "tsx watch --include=scripts --include=.env scripts/dev-hono.ts",
45026
+ "dev:proxy": "wrangler dev",
45027
+ "dev:local-resources": "POSTHOG_MCP_LOCAL_SKILLS_URL=http://localhost:8765/skills-mcp-resources.zip ../../bin/start-mcp-server",
44923
45028
  deploy: "wrangler deploy",
44924
45029
  "cf-typegen": "wrangler types",
44925
45030
  inspector: "npx @modelcontextprotocol/inspector npx -y mcp-remote@latest http://localhost:8787/mcp",
44926
45031
  "build:hono": "tsx scripts/build-hono.ts",
44927
45032
  "build:cli": "tsx scripts/build-cli.ts",
44928
45033
  "build:cli:release": "tsx scripts/build-cli-release.ts",
44929
- "dev:hono": "tsx watch --include=scripts --include=.dev.vars --include=.env scripts/dev-hono.ts",
44930
45034
  test: "vitest",
44931
45035
  "test:integration": "vitest run --config vitest.integration.config.mts",
44932
45036
  "test:hono": "vitest run --config vitest.hono.config.mts",
@@ -48762,7 +48866,7 @@ var ExperimentsCreateBody = /* @__PURE__ */ object({
48762
48866
  variants: array(
48763
48867
  object({
48764
48868
  key: string2().describe(
48765
- "Unique variant key. Exactly one variant must use the key 'control' (the baseline)."
48869
+ "Unique variant key. The baseline defaults to the variant keyed 'control' when present, else the first variant."
48766
48870
  ),
48767
48871
  name: string2().optional().describe("Human-readable variant name."),
48768
48872
  rollout_percentage: number2().min(
@@ -48776,7 +48880,7 @@ var ExperimentsCreateBody = /* @__PURE__ */ object({
48776
48880
  "A single multivariate variant. Extra per-variant keys are dropped."
48777
48881
  )
48778
48882
  ).describe(
48779
- "Variant definitions. Exactly one variant key must be the literal string 'control'."
48883
+ "Variant definitions (2 to 20). The baseline defaults to the variant keyed 'control' when present, else the first variant."
48780
48884
  )
48781
48885
  }).describe("Multivariate config for the experiment's feature flag."),
48782
48886
  _null3()
@@ -48786,7 +48890,7 @@ var ExperimentsCreateBody = /* @__PURE__ */ object({
48786
48890
  }).describe(
48787
48891
  "Feature-flag filters accepted by the experiment endpoints: the flag's own filters shape,\nminus the keys experiments don't apply."
48788
48892
  ).optional().describe(
48789
- "Flag config to apply: `multivariate.variants` (exactly one variant key must be the literal string 'control'), `groups` (a single group with `rollout_percentage` only; release conditions are not supported here, edit the feature flag directly), `aggregation_group_type_index`, and `payloads` (JSON-encoded strings keyed by variant key). On update, config this object omits is preserved from the linked flag's current state."
48893
+ "Flag config to apply: `multivariate.variants` (2 to 20 variants; the baseline defaults to the variant keyed 'control' when present, else the first variant), `groups` (a single group with `rollout_percentage` only; release conditions are not supported here, edit the feature flag directly), `aggregation_group_type_index`, and `payloads` (JSON-encoded strings keyed by variant key). On update, config this object omits is preserved from the linked flag's current state."
48790
48894
  ),
48791
48895
  ensure_experience_continuity: boolean2().nullish().describe("Whether the flag persists variant assignment across authentication steps.")
48792
48896
  }).describe(
@@ -51542,7 +51646,7 @@ var ExperimentsPartialUpdateBody = /* @__PURE__ */ object({
51542
51646
  variants: array(
51543
51647
  object({
51544
51648
  key: string2().describe(
51545
- "Unique variant key. Exactly one variant must use the key 'control' (the baseline)."
51649
+ "Unique variant key. The baseline defaults to the variant keyed 'control' when present, else the first variant."
51546
51650
  ),
51547
51651
  name: string2().optional().describe("Human-readable variant name."),
51548
51652
  rollout_percentage: number2().min(
@@ -51556,7 +51660,7 @@ var ExperimentsPartialUpdateBody = /* @__PURE__ */ object({
51556
51660
  "A single multivariate variant. Extra per-variant keys are dropped."
51557
51661
  )
51558
51662
  ).describe(
51559
- "Variant definitions. Exactly one variant key must be the literal string 'control'."
51663
+ "Variant definitions (2 to 20). The baseline defaults to the variant keyed 'control' when present, else the first variant."
51560
51664
  )
51561
51665
  }).describe("Multivariate config for the experiment's feature flag."),
51562
51666
  _null3()
@@ -51566,7 +51670,7 @@ var ExperimentsPartialUpdateBody = /* @__PURE__ */ object({
51566
51670
  }).describe(
51567
51671
  "Feature-flag filters accepted by the experiment endpoints: the flag's own filters shape,\nminus the keys experiments don't apply."
51568
51672
  ).optional().describe(
51569
- "Flag config to apply: `multivariate.variants` (exactly one variant key must be the literal string 'control'), `groups` (a single group with `rollout_percentage` only; release conditions are not supported here, edit the feature flag directly), `aggregation_group_type_index`, and `payloads` (JSON-encoded strings keyed by variant key). On update, config this object omits is preserved from the linked flag's current state."
51673
+ "Flag config to apply: `multivariate.variants` (2 to 20 variants; the baseline defaults to the variant keyed 'control' when present, else the first variant), `groups` (a single group with `rollout_percentage` only; release conditions are not supported here, edit the feature flag directly), `aggregation_group_type_index`, and `payloads` (JSON-encoded strings keyed by variant key). On update, config this object omits is preserved from the linked flag's current state."
51570
51674
  ),
51571
51675
  ensure_experience_continuity: boolean2().nullish().describe("Whether the flag persists variant assignment across authentication steps.")
51572
51676
  }).describe(
@@ -57231,7 +57335,7 @@ var ExperimentCreateSchema = ExperimentsCreateBody.omit({
57231
57335
  update_feature_flag_params: true
57232
57336
  }).extend({
57233
57337
  feature_flag: ExperimentsCreateBody.shape["feature_flag"].describe(
57234
- 'Variant split, rollout scope, payloads, and experience continuity for the auto-created feature flag, in the flag\'s own filters shape. This is the canonical input for flag config. If the user mentions a specific percentage, load the configuring-experiment-rollout skill and clarify before setting these values. Set filters.multivariate.variants (each with key and rollout_percentage; percentages must sum to 100) to customize the variant split. Set filters.groups to a single group [{"properties": [], "rollout_percentage": N}] (0-100) to control the overall fraction of users entering the experiment. Default: 50/50 control/test, 100% rollout. Omit this parameter entirely when feature_flag_key refers to a pre-existing flag: the experiment links to that flag as-is and explicit config is rejected. HARD REQUIREMENT \u2014 when you provide variants, exactly one variant\'s `key` must be the literal string `control` (lowercase, no variations). It is the baseline used for analysis and the experiment runtime treats it specially. If the user describes variants as "A/B", "old/new", "original/redesign", or any other natural-language pair, map the baseline to `key: "control"` \u2014 not "A", "Control", "old", "original", or "baseline". Other variants can use any key (`test`, `variant_a`, etc.).'
57338
+ 'Variant split, rollout scope, payloads, and experience continuity for the auto-created feature flag, in the flag\'s own filters shape. This is the canonical input for flag config. If the user mentions a specific percentage, load the configuring-experiment-rollout skill and clarify before setting these values. Set filters.multivariate.variants (each with key and rollout_percentage; percentages must sum to 100) to customize the variant split. Set filters.groups to a single group [{"properties": [], "rollout_percentage": N}] (0-100) to control the overall fraction of users entering the experiment. Default: 50/50 control/test, 100% rollout. Omit this parameter entirely when feature_flag_key refers to a pre-existing flag: the experiment links to that flag as-is and explicit config is rejected. No specific variant key is required. The analysis baseline defaults to the variant keyed `control` (lowercase) when present, else the first variant; override with stats_config.baseline_variant_key. Convention: when the user describes variants as "A/B", "old/new", "original/redesign", or any other natural-language pair without naming explicit keys, key the baseline `control` and keep their wording in the variant `name`. When the user asks for specific keys, use them as-is and put the baseline first.'
57235
57339
  )
57236
57340
  });
57237
57341
  var experimentCreate = () => withUiApp("experiment", {
@@ -57854,7 +57958,7 @@ var ExperimentUpdateSchema = ExperimentsPartialUpdateParams.omit({ project_id: t
57854
57958
  ).extend({
57855
57959
  id: external_exports.preprocess(castStringToInt, ExperimentsPartialUpdateParams.shape["id"]),
57856
57960
  feature_flag: ExperimentsPartialUpdateBody.shape["feature_flag"].describe(
57857
- `Variant split, rollout scope, payloads, and experience continuity for the linked feature flag, in the flag's own filters shape. This is the canonical input for flag config. Set filters.multivariate.variants (each with key and rollout_percentage; percentages must sum to 100, exactly one key must be the literal string 'control') to change the variant split. Set filters.groups to a single group [{"properties": [], "rollout_percentage": N}] (0-100) to change the overall rollout. Config this object omits is preserved from the flag's current state. On a running experiment this requires update_feature_flag_params=true (see rule 1: warn the user first).`
57961
+ `Variant split, rollout scope, payloads, and experience continuity for the linked feature flag, in the flag's own filters shape. This is the canonical input for flag config. Set filters.multivariate.variants (each with key and rollout_percentage; percentages must sum to 100; the analysis baseline defaults to the variant keyed 'control' when present, else the first variant \u2014 except web experiments, which must keep a variant keyed 'control') to change the variant split. Set filters.groups to a single group [{"properties": [], "rollout_percentage": N}] (0-100) to change the overall rollout. Config this object omits is preserved from the flag's current state. On a running experiment this requires update_feature_flag_params=true (see rule 1: warn the user first).`
57858
57962
  ),
57859
57963
  running_time_calculation: ExperimentsPartialUpdateBody.shape["running_time_calculation"].describe(
57860
57964
  "Persist a running-time / sample-size plan onto the experiment (the planning target shown in the experiment's running-time panel). Object with optional keys: minimum_detectable_effect (percentage, e.g. 20 for a 20% lift), recommended_sample_size (total across all variants), recommended_running_time (days), and exposure_estimate_config."
@@ -59985,6 +60089,9 @@ var llmAnalyticsPersonalSpendListQueryLimitMax = 200;
59985
60089
  var llmAnalyticsPersonalSpendListQueryProductMax = 64;
59986
60090
  var llmAnalyticsPersonalSpendListQueryRefreshDefault = false;
59987
60091
  var LlmAnalyticsPersonalSpendListQueryParams = /* @__PURE__ */ object({
60092
+ bucket_minutes: union([literal(5), literal(15), literal(30), literal(60)]).optional().describe(
60093
+ "When set, additionally return a `by_bucket` breakdown: a time-ascending UTC cost series for the scoped product at this bucket size in minutes, with per-bucket cost split into uncached input / output / cache read / cache creation components plus the matching token sums. Supported bucket sizes: 5, 15, 30, 60. The window may span at most 600 buckets of the chosen size (e.g. 50 hours at 5-minute buckets).\n\n* `5` - 5\n* `15` - 15\n* `30` - 30\n* `60` - 60"
60094
+ ),
59988
60095
  date_from: string2().min(1).max(llmAnalyticsPersonalSpendListQueryDateFromMax).default(llmAnalyticsPersonalSpendListQueryDateFromDefault).describe(
59989
60096
  "Start of the spend window. Accepts absolute dates (`2026-04-23`) or relative strings (`-7d`, `-1m`, etc.) \u2014 same parser used elsewhere in PostHog. Defaults to `-30d`. The window between `date_from` and `date_to` cannot exceed 90 days."
59990
60097
  ),
@@ -61559,6 +61666,7 @@ var llmaPersonalSpend = () => ({
61559
61666
  method: "GET",
61560
61667
  path: `/api/llm_analytics/@me/spend/`,
61561
61668
  query: {
61669
+ bucket_minutes: params.bucket_minutes,
61562
61670
  date_from: params.date_from,
61563
61671
  date_to: params.date_to,
61564
61672
  limit: params.limit,
@@ -62348,6 +62456,7 @@ var alertsCreateBodyThresholdOneNameMax = 255;
62348
62456
  var alertsCreateBodyConfigOneOneTypeDefault = `TrendsAlertConfig`;
62349
62457
  var alertsCreateBodyConfigOneTwoTypeDefault = `HogQLAlertConfig`;
62350
62458
  var alertsCreateBodyConfigOneThreeTypeDefault = `FunnelsAlertConfig`;
62459
+ var alertsCreateBodyConfigOneFourTypeDefault = `MetricsAlertConfig`;
62351
62460
  var alertsCreateBodyDetectorConfigOneOneDetectorsItemOneTypeDefault = `zscore`;
62352
62461
  var alertsCreateBodyDetectorConfigOneOneDetectorsItemTwoTypeDefault = `mad`;
62353
62462
  var alertsCreateBodyDetectorConfigOneOneDetectorsItemThreeTypeDefault = `iqr`;
@@ -62431,6 +62540,12 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62431
62540
  funnel_step: union([number2(), _null3()]).optional().describe("Zero-based step index to evaluate. Null = the last step (overall conversion)."),
62432
62541
  metric: _enum2(["conversion_from_start", "conversion_from_previous"]),
62433
62542
  type: _enum2(["FunnelsAlertConfig"]).default(alertsCreateBodyConfigOneThreeTypeDefault)
62543
+ }),
62544
+ object({
62545
+ check_ongoing_interval: union([boolean2(), _null3()]).optional().describe(
62546
+ "When true, anchor on the trailing (possibly still accumulating) bucket instead of the last complete one."
62547
+ ),
62548
+ type: _enum2(["MetricsAlertConfig"]).default(alertsCreateBodyConfigOneFourTypeDefault)
62434
62549
  })
62435
62550
  ]).describe(
62436
62551
  "Per-insight-kind alert config, discriminated by ``type`` \u2014 keeps the OpenAPI (and the\ngenerated frontend types and MCP tool schemas) in sync with every kind alerts support."
@@ -62462,7 +62577,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62462
62577
  threshold: union([number2(), _null3()]).optional().describe(
62463
62578
  "Anomaly probability threshold [0-1]. Points above this probability are flagged (default: 0.9)"
62464
62579
  ),
62465
- type: literal("zscore").default(alertsCreateBodyDetectorConfigOneOneDetectorsItemOneTypeDefault),
62580
+ type: _enum2(["zscore"]).default(alertsCreateBodyDetectorConfigOneOneDetectorsItemOneTypeDefault),
62466
62581
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating mean/std (default: 30)")
62467
62582
  }),
62468
62583
  object({
@@ -62483,7 +62598,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62483
62598
  threshold: union([number2(), _null3()]).optional().describe(
62484
62599
  "Anomaly probability threshold [0-1]. Points above this probability are flagged (default: 0.9)"
62485
62600
  ),
62486
- type: literal("mad").default(alertsCreateBodyDetectorConfigOneOneDetectorsItemTwoTypeDefault),
62601
+ type: _enum2(["mad"]).default(alertsCreateBodyDetectorConfigOneOneDetectorsItemTwoTypeDefault),
62487
62602
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating median/MAD (default: 30)")
62488
62603
  }),
62489
62604
  object({
@@ -62504,7 +62619,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62504
62619
  }),
62505
62620
  _null3()
62506
62621
  ]).optional().describe("Preprocessing transforms applied before detection"),
62507
- type: literal("iqr").default(alertsCreateBodyDetectorConfigOneOneDetectorsItemThreeTypeDefault),
62622
+ type: _enum2(["iqr"]).default(alertsCreateBodyDetectorConfigOneOneDetectorsItemThreeTypeDefault),
62508
62623
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating quartiles (default: 30)")
62509
62624
  }),
62510
62625
  object({
@@ -62523,7 +62638,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62523
62638
  }),
62524
62639
  _null3()
62525
62640
  ]).optional().describe("Preprocessing transforms applied before detection"),
62526
- type: literal("threshold").default(alertsCreateBodyDetectorConfigOneOneDetectorsItemFourTypeDefault),
62641
+ type: _enum2(["threshold"]).default(alertsCreateBodyDetectorConfigOneOneDetectorsItemFourTypeDefault),
62527
62642
  upper_bound: union([number2(), _null3()]).optional().describe("Upper bound - values above this are anomalies")
62528
62643
  }),
62529
62644
  object({
@@ -62542,7 +62657,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62542
62657
  _null3()
62543
62658
  ]).optional().describe("Preprocessing transforms applied before detection"),
62544
62659
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62545
- type: literal("ecod").default(alertsCreateBodyDetectorConfigOneOneDetectorsItemFiveTypeDefault),
62660
+ type: _enum2(["ecod"]).default(alertsCreateBodyDetectorConfigOneOneDetectorsItemFiveTypeDefault),
62546
62661
  window: union([number2(), _null3()]).optional().describe(
62547
62662
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
62548
62663
  )
@@ -62563,7 +62678,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62563
62678
  _null3()
62564
62679
  ]).optional().describe("Preprocessing transforms applied before detection"),
62565
62680
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62566
- type: literal("copod").default(alertsCreateBodyDetectorConfigOneOneDetectorsItemSixTypeDefault),
62681
+ type: _enum2(["copod"]).default(alertsCreateBodyDetectorConfigOneOneDetectorsItemSixTypeDefault),
62567
62682
  window: union([number2(), _null3()]).optional().describe(
62568
62683
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
62569
62684
  )
@@ -62585,7 +62700,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62585
62700
  _null3()
62586
62701
  ]).optional().describe("Preprocessing transforms applied before detection"),
62587
62702
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62588
- type: literal("isolation_forest").default(alertsCreateBodyDetectorConfigOneOneDetectorsItemSevenTypeDefault),
62703
+ type: _enum2(["isolation_forest"]).default(alertsCreateBodyDetectorConfigOneOneDetectorsItemSevenTypeDefault),
62589
62704
  window: union([number2(), _null3()]).optional().describe(
62590
62705
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
62591
62706
  )
@@ -62610,7 +62725,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62610
62725
  _null3()
62611
62726
  ]).optional().describe("Preprocessing transforms applied before detection"),
62612
62727
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62613
- type: literal("knn").default(alertsCreateBodyDetectorConfigOneOneDetectorsItemEightTypeDefault),
62728
+ type: _enum2(["knn"]).default(alertsCreateBodyDetectorConfigOneOneDetectorsItemEightTypeDefault),
62614
62729
  window: union([number2(), _null3()]).optional().describe(
62615
62730
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
62616
62731
  )
@@ -62632,7 +62747,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62632
62747
  _null3()
62633
62748
  ]).optional().describe("Preprocessing transforms applied before detection"),
62634
62749
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62635
- type: literal("hbos").default(alertsCreateBodyDetectorConfigOneOneDetectorsItemNineTypeDefault),
62750
+ type: _enum2(["hbos"]).default(alertsCreateBodyDetectorConfigOneOneDetectorsItemNineTypeDefault),
62636
62751
  window: union([number2(), _null3()]).optional().describe(
62637
62752
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
62638
62753
  )
@@ -62654,7 +62769,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62654
62769
  _null3()
62655
62770
  ]).optional().describe("Preprocessing transforms applied before detection"),
62656
62771
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62657
- type: literal("lof").default(
62772
+ type: _enum2(["lof"]).default(
62658
62773
  alertsCreateBodyDetectorConfigOneOneDetectorsItemOnezeroTypeDefault
62659
62774
  ),
62660
62775
  window: union([number2(), _null3()]).optional().describe(
@@ -62679,7 +62794,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62679
62794
  _null3()
62680
62795
  ]).optional().describe("Preprocessing transforms applied before detection"),
62681
62796
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62682
- type: literal("ocsvm").default(
62797
+ type: _enum2(["ocsvm"]).default(
62683
62798
  alertsCreateBodyDetectorConfigOneOneDetectorsItemOneoneTypeDefault
62684
62799
  ),
62685
62800
  window: union([number2(), _null3()]).optional().describe(
@@ -62702,7 +62817,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62702
62817
  _null3()
62703
62818
  ]).optional().describe("Preprocessing transforms applied before detection"),
62704
62819
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62705
- type: literal("pca").default(
62820
+ type: _enum2(["pca"]).default(
62706
62821
  alertsCreateBodyDetectorConfigOneOneDetectorsItemOnetwoTypeDefault
62707
62822
  ),
62708
62823
  window: union([number2(), _null3()]).optional().describe(
@@ -62712,7 +62827,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62712
62827
  ])
62713
62828
  ).describe("Sub-detector configurations (minimum 2)"),
62714
62829
  operator: _enum2(["and", "or"]).describe("How to combine sub-detector results"),
62715
- type: literal("ensemble").default(alertsCreateBodyDetectorConfigOneOneTypeDefault)
62830
+ type: _enum2(["ensemble"]).default(alertsCreateBodyDetectorConfigOneOneTypeDefault)
62716
62831
  }),
62717
62832
  object({
62718
62833
  preprocessing: union([
@@ -62732,7 +62847,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62732
62847
  threshold: union([number2(), _null3()]).optional().describe(
62733
62848
  "Anomaly probability threshold [0-1]. Points above this probability are flagged (default: 0.9)"
62734
62849
  ),
62735
- type: literal("zscore").default(alertsCreateBodyDetectorConfigOneTwoTypeDefault),
62850
+ type: _enum2(["zscore"]).default(alertsCreateBodyDetectorConfigOneTwoTypeDefault),
62736
62851
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating mean/std (default: 30)")
62737
62852
  }),
62738
62853
  object({
@@ -62753,7 +62868,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62753
62868
  threshold: union([number2(), _null3()]).optional().describe(
62754
62869
  "Anomaly probability threshold [0-1]. Points above this probability are flagged (default: 0.9)"
62755
62870
  ),
62756
- type: literal("mad").default(alertsCreateBodyDetectorConfigOneThreeTypeDefault),
62871
+ type: _enum2(["mad"]).default(alertsCreateBodyDetectorConfigOneThreeTypeDefault),
62757
62872
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating median/MAD (default: 30)")
62758
62873
  }),
62759
62874
  object({
@@ -62772,7 +62887,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62772
62887
  }),
62773
62888
  _null3()
62774
62889
  ]).optional().describe("Preprocessing transforms applied before detection"),
62775
- type: literal("iqr").default(alertsCreateBodyDetectorConfigOneFourTypeDefault),
62890
+ type: _enum2(["iqr"]).default(alertsCreateBodyDetectorConfigOneFourTypeDefault),
62776
62891
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating quartiles (default: 30)")
62777
62892
  }),
62778
62893
  object({
@@ -62791,7 +62906,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62791
62906
  }),
62792
62907
  _null3()
62793
62908
  ]).optional().describe("Preprocessing transforms applied before detection"),
62794
- type: literal("threshold").default(alertsCreateBodyDetectorConfigOneFiveTypeDefault),
62909
+ type: _enum2(["threshold"]).default(alertsCreateBodyDetectorConfigOneFiveTypeDefault),
62795
62910
  upper_bound: union([number2(), _null3()]).optional().describe("Upper bound - values above this are anomalies")
62796
62911
  }),
62797
62912
  object({
@@ -62810,7 +62925,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62810
62925
  _null3()
62811
62926
  ]).optional().describe("Preprocessing transforms applied before detection"),
62812
62927
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62813
- type: literal("ecod").default(alertsCreateBodyDetectorConfigOneSixTypeDefault),
62928
+ type: _enum2(["ecod"]).default(alertsCreateBodyDetectorConfigOneSixTypeDefault),
62814
62929
  window: union([number2(), _null3()]).optional().describe(
62815
62930
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
62816
62931
  )
@@ -62831,7 +62946,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62831
62946
  _null3()
62832
62947
  ]).optional().describe("Preprocessing transforms applied before detection"),
62833
62948
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62834
- type: literal("copod").default(alertsCreateBodyDetectorConfigOneSevenTypeDefault),
62949
+ type: _enum2(["copod"]).default(alertsCreateBodyDetectorConfigOneSevenTypeDefault),
62835
62950
  window: union([number2(), _null3()]).optional().describe(
62836
62951
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
62837
62952
  )
@@ -62853,7 +62968,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62853
62968
  _null3()
62854
62969
  ]).optional().describe("Preprocessing transforms applied before detection"),
62855
62970
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62856
- type: literal("isolation_forest").default(alertsCreateBodyDetectorConfigOneEightTypeDefault),
62971
+ type: _enum2(["isolation_forest"]).default(alertsCreateBodyDetectorConfigOneEightTypeDefault),
62857
62972
  window: union([number2(), _null3()]).optional().describe(
62858
62973
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
62859
62974
  )
@@ -62876,7 +62991,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62876
62991
  _null3()
62877
62992
  ]).optional().describe("Preprocessing transforms applied before detection"),
62878
62993
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62879
- type: literal("knn").default(alertsCreateBodyDetectorConfigOneNineTypeDefault),
62994
+ type: _enum2(["knn"]).default(alertsCreateBodyDetectorConfigOneNineTypeDefault),
62880
62995
  window: union([number2(), _null3()]).optional().describe(
62881
62996
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
62882
62997
  )
@@ -62898,7 +63013,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62898
63013
  _null3()
62899
63014
  ]).optional().describe("Preprocessing transforms applied before detection"),
62900
63015
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62901
- type: literal("hbos").default(alertsCreateBodyDetectorConfigOneOnezeroTypeDefault),
63016
+ type: _enum2(["hbos"]).default(alertsCreateBodyDetectorConfigOneOnezeroTypeDefault),
62902
63017
  window: union([number2(), _null3()]).optional().describe(
62903
63018
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
62904
63019
  )
@@ -62920,7 +63035,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62920
63035
  _null3()
62921
63036
  ]).optional().describe("Preprocessing transforms applied before detection"),
62922
63037
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62923
- type: literal("lof").default(alertsCreateBodyDetectorConfigOneOneoneTypeDefault),
63038
+ type: _enum2(["lof"]).default(alertsCreateBodyDetectorConfigOneOneoneTypeDefault),
62924
63039
  window: union([number2(), _null3()]).optional().describe(
62925
63040
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
62926
63041
  )
@@ -62943,7 +63058,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62943
63058
  _null3()
62944
63059
  ]).optional().describe("Preprocessing transforms applied before detection"),
62945
63060
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62946
- type: literal("ocsvm").default(alertsCreateBodyDetectorConfigOneOnetwoTypeDefault),
63061
+ type: _enum2(["ocsvm"]).default(alertsCreateBodyDetectorConfigOneOnetwoTypeDefault),
62947
63062
  window: union([number2(), _null3()]).optional().describe(
62948
63063
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
62949
63064
  )
@@ -62964,7 +63079,7 @@ var AlertsCreateBody = /* @__PURE__ */ object({
62964
63079
  _null3()
62965
63080
  ]).optional().describe("Preprocessing transforms applied before detection"),
62966
63081
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
62967
- type: literal("pca").default(alertsCreateBodyDetectorConfigOneOnethreeTypeDefault),
63082
+ type: _enum2(["pca"]).default(alertsCreateBodyDetectorConfigOneOnethreeTypeDefault),
62968
63083
  window: union([number2(), _null3()]).optional().describe(
62969
63084
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
62970
63085
  )
@@ -63037,6 +63152,7 @@ var alertsPartialUpdateBodyThresholdOneNameMax = 255;
63037
63152
  var alertsPartialUpdateBodyConfigOneOneTypeDefault = `TrendsAlertConfig`;
63038
63153
  var alertsPartialUpdateBodyConfigOneTwoTypeDefault = `HogQLAlertConfig`;
63039
63154
  var alertsPartialUpdateBodyConfigOneThreeTypeDefault = `FunnelsAlertConfig`;
63155
+ var alertsPartialUpdateBodyConfigOneFourTypeDefault = `MetricsAlertConfig`;
63040
63156
  var alertsPartialUpdateBodyDetectorConfigOneOneDetectorsItemOneTypeDefault = `zscore`;
63041
63157
  var alertsPartialUpdateBodyDetectorConfigOneOneDetectorsItemTwoTypeDefault = `mad`;
63042
63158
  var alertsPartialUpdateBodyDetectorConfigOneOneDetectorsItemThreeTypeDefault = `iqr`;
@@ -63120,6 +63236,12 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63120
63236
  funnel_step: union([number2(), _null3()]).optional().describe("Zero-based step index to evaluate. Null = the last step (overall conversion)."),
63121
63237
  metric: _enum2(["conversion_from_start", "conversion_from_previous"]),
63122
63238
  type: _enum2(["FunnelsAlertConfig"]).default(alertsPartialUpdateBodyConfigOneThreeTypeDefault)
63239
+ }),
63240
+ object({
63241
+ check_ongoing_interval: union([boolean2(), _null3()]).optional().describe(
63242
+ "When true, anchor on the trailing (possibly still accumulating) bucket instead of the last complete one."
63243
+ ),
63244
+ type: _enum2(["MetricsAlertConfig"]).default(alertsPartialUpdateBodyConfigOneFourTypeDefault)
63123
63245
  })
63124
63246
  ]).describe(
63125
63247
  "Per-insight-kind alert config, discriminated by ``type`` \u2014 keeps the OpenAPI (and the\ngenerated frontend types and MCP tool schemas) in sync with every kind alerts support."
@@ -63151,7 +63273,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63151
63273
  threshold: union([number2(), _null3()]).optional().describe(
63152
63274
  "Anomaly probability threshold [0-1]. Points above this probability are flagged (default: 0.9)"
63153
63275
  ),
63154
- type: literal("zscore").default(
63276
+ type: _enum2(["zscore"]).default(
63155
63277
  alertsPartialUpdateBodyDetectorConfigOneOneDetectorsItemOneTypeDefault
63156
63278
  ),
63157
63279
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating mean/std (default: 30)")
@@ -63174,7 +63296,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63174
63296
  threshold: union([number2(), _null3()]).optional().describe(
63175
63297
  "Anomaly probability threshold [0-1]. Points above this probability are flagged (default: 0.9)"
63176
63298
  ),
63177
- type: literal("mad").default(
63299
+ type: _enum2(["mad"]).default(
63178
63300
  alertsPartialUpdateBodyDetectorConfigOneOneDetectorsItemTwoTypeDefault
63179
63301
  ),
63180
63302
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating median/MAD (default: 30)")
@@ -63197,7 +63319,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63197
63319
  }),
63198
63320
  _null3()
63199
63321
  ]).optional().describe("Preprocessing transforms applied before detection"),
63200
- type: literal("iqr").default(
63322
+ type: _enum2(["iqr"]).default(
63201
63323
  alertsPartialUpdateBodyDetectorConfigOneOneDetectorsItemThreeTypeDefault
63202
63324
  ),
63203
63325
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating quartiles (default: 30)")
@@ -63218,7 +63340,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63218
63340
  }),
63219
63341
  _null3()
63220
63342
  ]).optional().describe("Preprocessing transforms applied before detection"),
63221
- type: literal("threshold").default(
63343
+ type: _enum2(["threshold"]).default(
63222
63344
  alertsPartialUpdateBodyDetectorConfigOneOneDetectorsItemFourTypeDefault
63223
63345
  ),
63224
63346
  upper_bound: union([number2(), _null3()]).optional().describe("Upper bound - values above this are anomalies")
@@ -63239,7 +63361,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63239
63361
  _null3()
63240
63362
  ]).optional().describe("Preprocessing transforms applied before detection"),
63241
63363
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63242
- type: literal("ecod").default(
63364
+ type: _enum2(["ecod"]).default(
63243
63365
  alertsPartialUpdateBodyDetectorConfigOneOneDetectorsItemFiveTypeDefault
63244
63366
  ),
63245
63367
  window: union([number2(), _null3()]).optional().describe(
@@ -63262,7 +63384,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63262
63384
  _null3()
63263
63385
  ]).optional().describe("Preprocessing transforms applied before detection"),
63264
63386
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63265
- type: literal("copod").default(
63387
+ type: _enum2(["copod"]).default(
63266
63388
  alertsPartialUpdateBodyDetectorConfigOneOneDetectorsItemSixTypeDefault
63267
63389
  ),
63268
63390
  window: union([number2(), _null3()]).optional().describe(
@@ -63286,7 +63408,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63286
63408
  _null3()
63287
63409
  ]).optional().describe("Preprocessing transforms applied before detection"),
63288
63410
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63289
- type: literal("isolation_forest").default(
63411
+ type: _enum2(["isolation_forest"]).default(
63290
63412
  alertsPartialUpdateBodyDetectorConfigOneOneDetectorsItemSevenTypeDefault
63291
63413
  ),
63292
63414
  window: union([number2(), _null3()]).optional().describe(
@@ -63313,7 +63435,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63313
63435
  _null3()
63314
63436
  ]).optional().describe("Preprocessing transforms applied before detection"),
63315
63437
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63316
- type: literal("knn").default(
63438
+ type: _enum2(["knn"]).default(
63317
63439
  alertsPartialUpdateBodyDetectorConfigOneOneDetectorsItemEightTypeDefault
63318
63440
  ),
63319
63441
  window: union([number2(), _null3()]).optional().describe(
@@ -63337,7 +63459,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63337
63459
  _null3()
63338
63460
  ]).optional().describe("Preprocessing transforms applied before detection"),
63339
63461
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63340
- type: literal("hbos").default(
63462
+ type: _enum2(["hbos"]).default(
63341
63463
  alertsPartialUpdateBodyDetectorConfigOneOneDetectorsItemNineTypeDefault
63342
63464
  ),
63343
63465
  window: union([number2(), _null3()]).optional().describe(
@@ -63361,7 +63483,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63361
63483
  _null3()
63362
63484
  ]).optional().describe("Preprocessing transforms applied before detection"),
63363
63485
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63364
- type: literal("lof").default(
63486
+ type: _enum2(["lof"]).default(
63365
63487
  alertsPartialUpdateBodyDetectorConfigOneOneDetectorsItemOnezeroTypeDefault
63366
63488
  ),
63367
63489
  window: union([number2(), _null3()]).optional().describe(
@@ -63386,7 +63508,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63386
63508
  _null3()
63387
63509
  ]).optional().describe("Preprocessing transforms applied before detection"),
63388
63510
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63389
- type: literal("ocsvm").default(
63511
+ type: _enum2(["ocsvm"]).default(
63390
63512
  alertsPartialUpdateBodyDetectorConfigOneOneDetectorsItemOneoneTypeDefault
63391
63513
  ),
63392
63514
  window: union([number2(), _null3()]).optional().describe(
@@ -63409,7 +63531,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63409
63531
  _null3()
63410
63532
  ]).optional().describe("Preprocessing transforms applied before detection"),
63411
63533
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63412
- type: literal("pca").default(
63534
+ type: _enum2(["pca"]).default(
63413
63535
  alertsPartialUpdateBodyDetectorConfigOneOneDetectorsItemOnetwoTypeDefault
63414
63536
  ),
63415
63537
  window: union([number2(), _null3()]).optional().describe(
@@ -63419,7 +63541,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63419
63541
  ])
63420
63542
  ).describe("Sub-detector configurations (minimum 2)"),
63421
63543
  operator: _enum2(["and", "or"]).describe("How to combine sub-detector results"),
63422
- type: literal("ensemble").default(alertsPartialUpdateBodyDetectorConfigOneOneTypeDefault)
63544
+ type: _enum2(["ensemble"]).default(alertsPartialUpdateBodyDetectorConfigOneOneTypeDefault)
63423
63545
  }),
63424
63546
  object({
63425
63547
  preprocessing: union([
@@ -63439,7 +63561,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63439
63561
  threshold: union([number2(), _null3()]).optional().describe(
63440
63562
  "Anomaly probability threshold [0-1]. Points above this probability are flagged (default: 0.9)"
63441
63563
  ),
63442
- type: literal("zscore").default(alertsPartialUpdateBodyDetectorConfigOneTwoTypeDefault),
63564
+ type: _enum2(["zscore"]).default(alertsPartialUpdateBodyDetectorConfigOneTwoTypeDefault),
63443
63565
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating mean/std (default: 30)")
63444
63566
  }),
63445
63567
  object({
@@ -63460,7 +63582,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63460
63582
  threshold: union([number2(), _null3()]).optional().describe(
63461
63583
  "Anomaly probability threshold [0-1]. Points above this probability are flagged (default: 0.9)"
63462
63584
  ),
63463
- type: literal("mad").default(alertsPartialUpdateBodyDetectorConfigOneThreeTypeDefault),
63585
+ type: _enum2(["mad"]).default(alertsPartialUpdateBodyDetectorConfigOneThreeTypeDefault),
63464
63586
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating median/MAD (default: 30)")
63465
63587
  }),
63466
63588
  object({
@@ -63479,7 +63601,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63479
63601
  }),
63480
63602
  _null3()
63481
63603
  ]).optional().describe("Preprocessing transforms applied before detection"),
63482
- type: literal("iqr").default(alertsPartialUpdateBodyDetectorConfigOneFourTypeDefault),
63604
+ type: _enum2(["iqr"]).default(alertsPartialUpdateBodyDetectorConfigOneFourTypeDefault),
63483
63605
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating quartiles (default: 30)")
63484
63606
  }),
63485
63607
  object({
@@ -63498,7 +63620,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63498
63620
  }),
63499
63621
  _null3()
63500
63622
  ]).optional().describe("Preprocessing transforms applied before detection"),
63501
- type: literal("threshold").default(alertsPartialUpdateBodyDetectorConfigOneFiveTypeDefault),
63623
+ type: _enum2(["threshold"]).default(alertsPartialUpdateBodyDetectorConfigOneFiveTypeDefault),
63502
63624
  upper_bound: union([number2(), _null3()]).optional().describe("Upper bound - values above this are anomalies")
63503
63625
  }),
63504
63626
  object({
@@ -63517,7 +63639,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63517
63639
  _null3()
63518
63640
  ]).optional().describe("Preprocessing transforms applied before detection"),
63519
63641
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63520
- type: literal("ecod").default(alertsPartialUpdateBodyDetectorConfigOneSixTypeDefault),
63642
+ type: _enum2(["ecod"]).default(alertsPartialUpdateBodyDetectorConfigOneSixTypeDefault),
63521
63643
  window: union([number2(), _null3()]).optional().describe(
63522
63644
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
63523
63645
  )
@@ -63538,7 +63660,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63538
63660
  _null3()
63539
63661
  ]).optional().describe("Preprocessing transforms applied before detection"),
63540
63662
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63541
- type: literal("copod").default(alertsPartialUpdateBodyDetectorConfigOneSevenTypeDefault),
63663
+ type: _enum2(["copod"]).default(alertsPartialUpdateBodyDetectorConfigOneSevenTypeDefault),
63542
63664
  window: union([number2(), _null3()]).optional().describe(
63543
63665
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
63544
63666
  )
@@ -63560,7 +63682,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63560
63682
  _null3()
63561
63683
  ]).optional().describe("Preprocessing transforms applied before detection"),
63562
63684
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63563
- type: literal("isolation_forest").default(alertsPartialUpdateBodyDetectorConfigOneEightTypeDefault),
63685
+ type: _enum2(["isolation_forest"]).default(alertsPartialUpdateBodyDetectorConfigOneEightTypeDefault),
63564
63686
  window: union([number2(), _null3()]).optional().describe(
63565
63687
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
63566
63688
  )
@@ -63583,7 +63705,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63583
63705
  _null3()
63584
63706
  ]).optional().describe("Preprocessing transforms applied before detection"),
63585
63707
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63586
- type: literal("knn").default(alertsPartialUpdateBodyDetectorConfigOneNineTypeDefault),
63708
+ type: _enum2(["knn"]).default(alertsPartialUpdateBodyDetectorConfigOneNineTypeDefault),
63587
63709
  window: union([number2(), _null3()]).optional().describe(
63588
63710
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
63589
63711
  )
@@ -63605,7 +63727,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63605
63727
  _null3()
63606
63728
  ]).optional().describe("Preprocessing transforms applied before detection"),
63607
63729
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63608
- type: literal("hbos").default(alertsPartialUpdateBodyDetectorConfigOneOnezeroTypeDefault),
63730
+ type: _enum2(["hbos"]).default(alertsPartialUpdateBodyDetectorConfigOneOnezeroTypeDefault),
63609
63731
  window: union([number2(), _null3()]).optional().describe(
63610
63732
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
63611
63733
  )
@@ -63627,7 +63749,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63627
63749
  _null3()
63628
63750
  ]).optional().describe("Preprocessing transforms applied before detection"),
63629
63751
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63630
- type: literal("lof").default(alertsPartialUpdateBodyDetectorConfigOneOneoneTypeDefault),
63752
+ type: _enum2(["lof"]).default(alertsPartialUpdateBodyDetectorConfigOneOneoneTypeDefault),
63631
63753
  window: union([number2(), _null3()]).optional().describe(
63632
63754
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
63633
63755
  )
@@ -63650,7 +63772,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63650
63772
  _null3()
63651
63773
  ]).optional().describe("Preprocessing transforms applied before detection"),
63652
63774
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63653
- type: literal("ocsvm").default(alertsPartialUpdateBodyDetectorConfigOneOnetwoTypeDefault),
63775
+ type: _enum2(["ocsvm"]).default(alertsPartialUpdateBodyDetectorConfigOneOnetwoTypeDefault),
63654
63776
  window: union([number2(), _null3()]).optional().describe(
63655
63777
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
63656
63778
  )
@@ -63671,7 +63793,7 @@ var AlertsPartialUpdateBody = /* @__PURE__ */ object({
63671
63793
  _null3()
63672
63794
  ]).optional().describe("Preprocessing transforms applied before detection"),
63673
63795
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63674
- type: literal("pca").default(alertsPartialUpdateBodyDetectorConfigOneOnethreeTypeDefault),
63796
+ type: _enum2(["pca"]).default(alertsPartialUpdateBodyDetectorConfigOneOnethreeTypeDefault),
63675
63797
  window: union([number2(), _null3()]).optional().describe(
63676
63798
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
63677
63799
  )
@@ -63757,6 +63879,7 @@ var alertsSimulateCreateBodySeriesIndexDefault = 0;
63757
63879
  var alertsSimulateCreateBodyConfigOneOneTypeDefault = `TrendsAlertConfig`;
63758
63880
  var alertsSimulateCreateBodyConfigOneTwoTypeDefault = `HogQLAlertConfig`;
63759
63881
  var alertsSimulateCreateBodyConfigOneThreeTypeDefault = `FunnelsAlertConfig`;
63882
+ var alertsSimulateCreateBodyConfigOneFourTypeDefault = `MetricsAlertConfig`;
63760
63883
  var AlertsSimulateCreateBody = /* @__PURE__ */ object({
63761
63884
  insight: number2().describe("Insight ID to simulate the detector on."),
63762
63885
  detector_config: union([
@@ -63781,7 +63904,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
63781
63904
  threshold: union([number2(), _null3()]).optional().describe(
63782
63905
  "Anomaly probability threshold [0-1]. Points above this probability are flagged (default: 0.9)"
63783
63906
  ),
63784
- type: literal("zscore").default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemOneTypeDefault),
63907
+ type: _enum2(["zscore"]).default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemOneTypeDefault),
63785
63908
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating mean/std (default: 30)")
63786
63909
  }),
63787
63910
  object({
@@ -63802,7 +63925,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
63802
63925
  threshold: union([number2(), _null3()]).optional().describe(
63803
63926
  "Anomaly probability threshold [0-1]. Points above this probability are flagged (default: 0.9)"
63804
63927
  ),
63805
- type: literal("mad").default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemTwoTypeDefault),
63928
+ type: _enum2(["mad"]).default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemTwoTypeDefault),
63806
63929
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating median/MAD (default: 30)")
63807
63930
  }),
63808
63931
  object({
@@ -63823,7 +63946,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
63823
63946
  }),
63824
63947
  _null3()
63825
63948
  ]).optional().describe("Preprocessing transforms applied before detection"),
63826
- type: literal("iqr").default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemThreeTypeDefault),
63949
+ type: _enum2(["iqr"]).default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemThreeTypeDefault),
63827
63950
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating quartiles (default: 30)")
63828
63951
  }),
63829
63952
  object({
@@ -63842,7 +63965,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
63842
63965
  }),
63843
63966
  _null3()
63844
63967
  ]).optional().describe("Preprocessing transforms applied before detection"),
63845
- type: literal("threshold").default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemFourTypeDefault),
63968
+ type: _enum2(["threshold"]).default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemFourTypeDefault),
63846
63969
  upper_bound: union([number2(), _null3()]).optional().describe("Upper bound - values above this are anomalies")
63847
63970
  }),
63848
63971
  object({
@@ -63861,7 +63984,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
63861
63984
  _null3()
63862
63985
  ]).optional().describe("Preprocessing transforms applied before detection"),
63863
63986
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63864
- type: literal("ecod").default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemFiveTypeDefault),
63987
+ type: _enum2(["ecod"]).default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemFiveTypeDefault),
63865
63988
  window: union([number2(), _null3()]).optional().describe(
63866
63989
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
63867
63990
  )
@@ -63882,7 +64005,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
63882
64005
  _null3()
63883
64006
  ]).optional().describe("Preprocessing transforms applied before detection"),
63884
64007
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63885
- type: literal("copod").default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemSixTypeDefault),
64008
+ type: _enum2(["copod"]).default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemSixTypeDefault),
63886
64009
  window: union([number2(), _null3()]).optional().describe(
63887
64010
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
63888
64011
  )
@@ -63904,7 +64027,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
63904
64027
  _null3()
63905
64028
  ]).optional().describe("Preprocessing transforms applied before detection"),
63906
64029
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63907
- type: literal("isolation_forest").default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemSevenTypeDefault),
64030
+ type: _enum2(["isolation_forest"]).default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemSevenTypeDefault),
63908
64031
  window: union([number2(), _null3()]).optional().describe(
63909
64032
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
63910
64033
  )
@@ -63927,7 +64050,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
63927
64050
  _null3()
63928
64051
  ]).optional().describe("Preprocessing transforms applied before detection"),
63929
64052
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63930
- type: literal("knn").default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemEightTypeDefault),
64053
+ type: _enum2(["knn"]).default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemEightTypeDefault),
63931
64054
  window: union([number2(), _null3()]).optional().describe(
63932
64055
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
63933
64056
  )
@@ -63949,7 +64072,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
63949
64072
  _null3()
63950
64073
  ]).optional().describe("Preprocessing transforms applied before detection"),
63951
64074
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63952
- type: literal("hbos").default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemNineTypeDefault),
64075
+ type: _enum2(["hbos"]).default(alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemNineTypeDefault),
63953
64076
  window: union([number2(), _null3()]).optional().describe(
63954
64077
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
63955
64078
  )
@@ -63971,7 +64094,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
63971
64094
  _null3()
63972
64095
  ]).optional().describe("Preprocessing transforms applied before detection"),
63973
64096
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63974
- type: literal("lof").default(
64097
+ type: _enum2(["lof"]).default(
63975
64098
  alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemOnezeroTypeDefault
63976
64099
  ),
63977
64100
  window: union([number2(), _null3()]).optional().describe(
@@ -63996,7 +64119,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
63996
64119
  _null3()
63997
64120
  ]).optional().describe("Preprocessing transforms applied before detection"),
63998
64121
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
63999
- type: literal("ocsvm").default(
64122
+ type: _enum2(["ocsvm"]).default(
64000
64123
  alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemOneoneTypeDefault
64001
64124
  ),
64002
64125
  window: union([number2(), _null3()]).optional().describe(
@@ -64019,7 +64142,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
64019
64142
  _null3()
64020
64143
  ]).optional().describe("Preprocessing transforms applied before detection"),
64021
64144
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
64022
- type: literal("pca").default(
64145
+ type: _enum2(["pca"]).default(
64023
64146
  alertsSimulateCreateBodyDetectorConfigOneOneDetectorsItemOnetwoTypeDefault
64024
64147
  ),
64025
64148
  window: union([number2(), _null3()]).optional().describe(
@@ -64029,7 +64152,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
64029
64152
  ])
64030
64153
  ).describe("Sub-detector configurations (minimum 2)"),
64031
64154
  operator: _enum2(["and", "or"]).describe("How to combine sub-detector results"),
64032
- type: literal("ensemble").default(alertsSimulateCreateBodyDetectorConfigOneOneTypeDefault)
64155
+ type: _enum2(["ensemble"]).default(alertsSimulateCreateBodyDetectorConfigOneOneTypeDefault)
64033
64156
  }),
64034
64157
  object({
64035
64158
  preprocessing: union([
@@ -64047,7 +64170,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
64047
64170
  threshold: union([number2(), _null3()]).optional().describe(
64048
64171
  "Anomaly probability threshold [0-1]. Points above this probability are flagged (default: 0.9)"
64049
64172
  ),
64050
- type: literal("zscore").default(alertsSimulateCreateBodyDetectorConfigOneTwoTypeDefault),
64173
+ type: _enum2(["zscore"]).default(alertsSimulateCreateBodyDetectorConfigOneTwoTypeDefault),
64051
64174
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating mean/std (default: 30)")
64052
64175
  }),
64053
64176
  object({
@@ -64066,7 +64189,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
64066
64189
  threshold: union([number2(), _null3()]).optional().describe(
64067
64190
  "Anomaly probability threshold [0-1]. Points above this probability are flagged (default: 0.9)"
64068
64191
  ),
64069
- type: literal("mad").default(alertsSimulateCreateBodyDetectorConfigOneThreeTypeDefault),
64192
+ type: _enum2(["mad"]).default(alertsSimulateCreateBodyDetectorConfigOneThreeTypeDefault),
64070
64193
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating median/MAD (default: 30)")
64071
64194
  }),
64072
64195
  object({
@@ -64083,7 +64206,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
64083
64206
  }),
64084
64207
  _null3()
64085
64208
  ]).optional().describe("Preprocessing transforms applied before detection"),
64086
- type: literal("iqr").default(alertsSimulateCreateBodyDetectorConfigOneFourTypeDefault),
64209
+ type: _enum2(["iqr"]).default(alertsSimulateCreateBodyDetectorConfigOneFourTypeDefault),
64087
64210
  window: union([number2(), _null3()]).optional().describe("Rolling window size for calculating quartiles (default: 30)")
64088
64211
  }),
64089
64212
  object({
@@ -64100,7 +64223,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
64100
64223
  }),
64101
64224
  _null3()
64102
64225
  ]).optional().describe("Preprocessing transforms applied before detection"),
64103
- type: literal("threshold").default(alertsSimulateCreateBodyDetectorConfigOneFiveTypeDefault),
64226
+ type: _enum2(["threshold"]).default(alertsSimulateCreateBodyDetectorConfigOneFiveTypeDefault),
64104
64227
  upper_bound: union([number2(), _null3()]).optional().describe("Upper bound - values above this are anomalies")
64105
64228
  }),
64106
64229
  object({
@@ -64117,7 +64240,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
64117
64240
  _null3()
64118
64241
  ]).optional().describe("Preprocessing transforms applied before detection"),
64119
64242
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
64120
- type: literal("ecod").default(alertsSimulateCreateBodyDetectorConfigOneSixTypeDefault),
64243
+ type: _enum2(["ecod"]).default(alertsSimulateCreateBodyDetectorConfigOneSixTypeDefault),
64121
64244
  window: union([number2(), _null3()]).optional().describe(
64122
64245
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
64123
64246
  )
@@ -64136,7 +64259,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
64136
64259
  _null3()
64137
64260
  ]).optional().describe("Preprocessing transforms applied before detection"),
64138
64261
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
64139
- type: literal("copod").default(alertsSimulateCreateBodyDetectorConfigOneSevenTypeDefault),
64262
+ type: _enum2(["copod"]).default(alertsSimulateCreateBodyDetectorConfigOneSevenTypeDefault),
64140
64263
  window: union([number2(), _null3()]).optional().describe(
64141
64264
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
64142
64265
  )
@@ -64156,7 +64279,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
64156
64279
  _null3()
64157
64280
  ]).optional().describe("Preprocessing transforms applied before detection"),
64158
64281
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
64159
- type: literal("isolation_forest").default(alertsSimulateCreateBodyDetectorConfigOneEightTypeDefault),
64282
+ type: _enum2(["isolation_forest"]).default(alertsSimulateCreateBodyDetectorConfigOneEightTypeDefault),
64160
64283
  window: union([number2(), _null3()]).optional().describe(
64161
64284
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
64162
64285
  )
@@ -64177,7 +64300,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
64177
64300
  _null3()
64178
64301
  ]).optional().describe("Preprocessing transforms applied before detection"),
64179
64302
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
64180
- type: literal("knn").default(alertsSimulateCreateBodyDetectorConfigOneNineTypeDefault),
64303
+ type: _enum2(["knn"]).default(alertsSimulateCreateBodyDetectorConfigOneNineTypeDefault),
64181
64304
  window: union([number2(), _null3()]).optional().describe(
64182
64305
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
64183
64306
  )
@@ -64197,7 +64320,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
64197
64320
  _null3()
64198
64321
  ]).optional().describe("Preprocessing transforms applied before detection"),
64199
64322
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
64200
- type: literal("hbos").default(alertsSimulateCreateBodyDetectorConfigOneOnezeroTypeDefault),
64323
+ type: _enum2(["hbos"]).default(alertsSimulateCreateBodyDetectorConfigOneOnezeroTypeDefault),
64201
64324
  window: union([number2(), _null3()]).optional().describe(
64202
64325
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
64203
64326
  )
@@ -64217,7 +64340,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
64217
64340
  _null3()
64218
64341
  ]).optional().describe("Preprocessing transforms applied before detection"),
64219
64342
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
64220
- type: literal("lof").default(alertsSimulateCreateBodyDetectorConfigOneOneoneTypeDefault),
64343
+ type: _enum2(["lof"]).default(alertsSimulateCreateBodyDetectorConfigOneOneoneTypeDefault),
64221
64344
  window: union([number2(), _null3()]).optional().describe(
64222
64345
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
64223
64346
  )
@@ -64238,7 +64361,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
64238
64361
  _null3()
64239
64362
  ]).optional().describe("Preprocessing transforms applied before detection"),
64240
64363
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
64241
- type: literal("ocsvm").default(alertsSimulateCreateBodyDetectorConfigOneOnetwoTypeDefault),
64364
+ type: _enum2(["ocsvm"]).default(alertsSimulateCreateBodyDetectorConfigOneOnetwoTypeDefault),
64242
64365
  window: union([number2(), _null3()]).optional().describe(
64243
64366
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
64244
64367
  )
@@ -64257,7 +64380,7 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
64257
64380
  _null3()
64258
64381
  ]).optional().describe("Preprocessing transforms applied before detection"),
64259
64382
  threshold: union([number2(), _null3()]).optional().describe("Anomaly probability threshold (default: 0.9)"),
64260
- type: literal("pca").default(alertsSimulateCreateBodyDetectorConfigOneOnethreeTypeDefault),
64383
+ type: _enum2(["pca"]).default(alertsSimulateCreateBodyDetectorConfigOneOnethreeTypeDefault),
64261
64384
  window: union([number2(), _null3()]).optional().describe(
64262
64385
  "Rolling window size \u2014 how many historical data points to train on (default: based on calculation interval)"
64263
64386
  )
@@ -64293,6 +64416,12 @@ var AlertsSimulateCreateBody = /* @__PURE__ */ object({
64293
64416
  funnel_step: union([number2(), _null3()]).optional().describe("Zero-based step index to evaluate. Null = the last step (overall conversion)."),
64294
64417
  metric: _enum2(["conversion_from_start", "conversion_from_previous"]),
64295
64418
  type: _enum2(["FunnelsAlertConfig"]).default(alertsSimulateCreateBodyConfigOneThreeTypeDefault)
64419
+ }),
64420
+ object({
64421
+ check_ongoing_interval: union([boolean2(), _null3()]).optional().describe(
64422
+ "When true, anchor on the trailing (possibly still accumulating) bucket instead of the last complete one."
64423
+ ),
64424
+ type: _enum2(["MetricsAlertConfig"]).default(alertsSimulateCreateBodyConfigOneFourTypeDefault)
64296
64425
  })
64297
64426
  ]).describe(
64298
64427
  "Per-insight-kind alert config, discriminated by ``type`` \u2014 keeps the OpenAPI (and the\ngenerated frontend types and MCP tool schemas) in sync with every kind alerts support."
@@ -64758,6 +64887,7 @@ var batchExportsCreateBodyDestinationOneFourConfigHasSelfSignedCertDefault = fal
64758
64887
  var batchExportsCreateBodyDestinationOneFiveConfigFileFormatDefault = `JSONLines`;
64759
64888
  var batchExportsCreateBodyDestinationOneSixConfigFileFormatDefault = `JSONLines`;
64760
64889
  var batchExportsCreateBodyDestinationOneSixConfigUseVirtualStyleAddressingDefault = false;
64890
+ var batchExportsCreateBodyDestinationOneSevenConfigTableNameDefault = `events`;
64761
64891
  var batchExportsCreateBodyOffsetDayMin = 0;
64762
64892
  var batchExportsCreateBodyOffsetDayMax = 6;
64763
64893
  var batchExportsCreateBodyOffsetHourMin = 0;
@@ -64905,7 +65035,22 @@ var BatchExportsCreateBody = /* @__PURE__ */ object({
64905
65035
  }).describe(
64906
65036
  "Typed configuration for an S3-compatible batch-export destination (Cloudflare R2,\nDigitalOcean Spaces, etc.).\n\nCredentials and the provider `endpoint_url` live in the linked s3-compatible Integration.\nMirrors the non-credential fields of `S3CompatibleBatchExportInputs` in\n`products/batch_exports/backend/service.py`."
64907
65037
  )
64908
- }).describe("Request shape for creating or updating an S3-compatible batch-export destination.")
65038
+ }).describe("Request shape for creating or updating an S3-compatible batch-export destination."),
65039
+ object({
65040
+ type: _enum2(["Snowflake"]),
65041
+ integration_id: number2().optional().describe(
65042
+ "ID of a snowflake-kind Integration providing the account, user and credentials. Preferred over inline credentials. Use the integrations-list MCP tool to find one."
65043
+ ),
65044
+ config: object({
65045
+ database: string2().describe("Snowflake database to write to."),
65046
+ warehouse: string2().describe("Snowflake compute warehouse to use."),
65047
+ schema: string2().describe("Schema inside the database containing the destination table."),
65048
+ table_name: string2().default(batchExportsCreateBodyDestinationOneSevenConfigTableNameDefault).describe("Destination table name."),
65049
+ role: string2().nullish().describe("Optional Snowflake role to assume for the session.")
65050
+ }).describe(
65051
+ "Typed configuration for a Snowflake batch-export destination.\n\nAccount, user, authentication type and credentials may live in a linked Integration (when one is\nprovided) or inline in this config (legacy). Mirrors the non-credential fields of\n`SnowflakeBatchExportInputs` in `products/batch_exports/backend/service.py`."
65052
+ )
65053
+ }).describe("Request shape for creating or updating a Snowflake batch-export destination.")
64909
65054
  ]).describe("Destination configuration. Required integration_id is enforced per destination type."),
64910
65055
  interval: _enum2(["hour", "day", "week", "every 5 minutes", "every 15 minutes"]).describe(
64911
65056
  "* `hour` - hour\n* `day` - day\n* `week` - week\n* `every 5 minutes` - every 5 minutes\n* `every 15 minutes` - every 15 minutes"
@@ -64945,6 +65090,7 @@ var batchExportsPartialUpdateBodyDestinationOneFourConfigHasSelfSignedCertDefaul
64945
65090
  var batchExportsPartialUpdateBodyDestinationOneFiveConfigFileFormatDefault = `JSONLines`;
64946
65091
  var batchExportsPartialUpdateBodyDestinationOneSixConfigFileFormatDefault = `JSONLines`;
64947
65092
  var batchExportsPartialUpdateBodyDestinationOneSixConfigUseVirtualStyleAddressingDefault = false;
65093
+ var batchExportsPartialUpdateBodyDestinationOneSevenConfigTableNameDefault = `events`;
64948
65094
  var batchExportsPartialUpdateBodyOffsetDayMin = 0;
64949
65095
  var batchExportsPartialUpdateBodyOffsetDayMax = 6;
64950
65096
  var batchExportsPartialUpdateBodyOffsetHourMin = 0;
@@ -65094,7 +65240,22 @@ var BatchExportsPartialUpdateBody = /* @__PURE__ */ object({
65094
65240
  }).describe(
65095
65241
  "Typed configuration for an S3-compatible batch-export destination (Cloudflare R2,\nDigitalOcean Spaces, etc.).\n\nCredentials and the provider `endpoint_url` live in the linked s3-compatible Integration.\nMirrors the non-credential fields of `S3CompatibleBatchExportInputs` in\n`products/batch_exports/backend/service.py`."
65096
65242
  )
65097
- }).describe("Request shape for creating or updating an S3-compatible batch-export destination.")
65243
+ }).describe("Request shape for creating or updating an S3-compatible batch-export destination."),
65244
+ object({
65245
+ type: _enum2(["Snowflake"]),
65246
+ integration_id: number2().optional().describe(
65247
+ "ID of a snowflake-kind Integration providing the account, user and credentials. Preferred over inline credentials. Use the integrations-list MCP tool to find one."
65248
+ ),
65249
+ config: object({
65250
+ database: string2().describe("Snowflake database to write to."),
65251
+ warehouse: string2().describe("Snowflake compute warehouse to use."),
65252
+ schema: string2().describe("Schema inside the database containing the destination table."),
65253
+ table_name: string2().default(batchExportsPartialUpdateBodyDestinationOneSevenConfigTableNameDefault).describe("Destination table name."),
65254
+ role: string2().nullish().describe("Optional Snowflake role to assume for the session.")
65255
+ }).describe(
65256
+ "Typed configuration for a Snowflake batch-export destination.\n\nAccount, user, authentication type and credentials may live in a linked Integration (when one is\nprovided) or inline in this config (legacy). Mirrors the non-credential fields of\n`SnowflakeBatchExportInputs` in `products/batch_exports/backend/service.py`."
65257
+ )
65258
+ }).describe("Request shape for creating or updating a Snowflake batch-export destination.")
65098
65259
  ]).optional().describe("Destination configuration. Required integration_id is enforced per destination type."),
65099
65260
  interval: _enum2(["hour", "day", "week", "every 5 minutes", "every 15 minutes"]).describe(
65100
65261
  "* `hour` - hour\n* `day` - day\n* `week` - week\n* `every 5 minutes` - every 5 minutes\n* `every 15 minutes` - every 15 minutes"
@@ -65831,6 +65992,7 @@ var HogFunctionsCreateBody = /* @__PURE__ */ object({
65831
65992
  "choice",
65832
65993
  "json",
65833
65994
  "integration",
65995
+ "integration_multi",
65834
65996
  "integration_field",
65835
65997
  "email",
65836
65998
  "native_email",
@@ -65841,7 +66003,7 @@ var HogFunctionsCreateBody = /* @__PURE__ */ object({
65841
66003
  "customer_analytics_account_properties",
65842
66004
  "customer_analytics_account_relationships"
65843
66005
  ]).describe(
65844
- "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
66006
+ "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_multi` - integration_multi\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
65845
66007
  ),
65846
66008
  key: string2(),
65847
66009
  label: string2().optional(),
@@ -65900,6 +66062,7 @@ var HogFunctionsCreateBody = /* @__PURE__ */ object({
65900
66062
  "choice",
65901
66063
  "json",
65902
66064
  "integration",
66065
+ "integration_multi",
65903
66066
  "integration_field",
65904
66067
  "email",
65905
66068
  "native_email",
@@ -65910,7 +66073,7 @@ var HogFunctionsCreateBody = /* @__PURE__ */ object({
65910
66073
  "customer_analytics_account_properties",
65911
66074
  "customer_analytics_account_relationships"
65912
66075
  ]).describe(
65913
- "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
66076
+ "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_multi` - integration_multi\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
65914
66077
  ),
65915
66078
  key: string2(),
65916
66079
  label: string2().optional(),
@@ -66007,6 +66170,7 @@ var HogFunctionsPartialUpdateBody = /* @__PURE__ */ object({
66007
66170
  "choice",
66008
66171
  "json",
66009
66172
  "integration",
66173
+ "integration_multi",
66010
66174
  "integration_field",
66011
66175
  "email",
66012
66176
  "native_email",
@@ -66017,7 +66181,7 @@ var HogFunctionsPartialUpdateBody = /* @__PURE__ */ object({
66017
66181
  "customer_analytics_account_properties",
66018
66182
  "customer_analytics_account_relationships"
66019
66183
  ]).describe(
66020
- "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
66184
+ "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_multi` - integration_multi\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
66021
66185
  ),
66022
66186
  key: string2(),
66023
66187
  label: string2().optional(),
@@ -66076,6 +66240,7 @@ var HogFunctionsPartialUpdateBody = /* @__PURE__ */ object({
66076
66240
  "choice",
66077
66241
  "json",
66078
66242
  "integration",
66243
+ "integration_multi",
66079
66244
  "integration_field",
66080
66245
  "email",
66081
66246
  "native_email",
@@ -66086,7 +66251,7 @@ var HogFunctionsPartialUpdateBody = /* @__PURE__ */ object({
66086
66251
  "customer_analytics_account_properties",
66087
66252
  "customer_analytics_account_relationships"
66088
66253
  ]).describe(
66089
- "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
66254
+ "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_multi` - integration_multi\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
66090
66255
  ),
66091
66256
  key: string2(),
66092
66257
  label: string2().optional(),
@@ -66225,6 +66390,7 @@ var HogFunctionsInvocationsCreateBody = /* @__PURE__ */ object({
66225
66390
  "choice",
66226
66391
  "json",
66227
66392
  "integration",
66393
+ "integration_multi",
66228
66394
  "integration_field",
66229
66395
  "email",
66230
66396
  "native_email",
@@ -66235,7 +66401,7 @@ var HogFunctionsInvocationsCreateBody = /* @__PURE__ */ object({
66235
66401
  "customer_analytics_account_properties",
66236
66402
  "customer_analytics_account_relationships"
66237
66403
  ]).describe(
66238
- "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
66404
+ "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_multi` - integration_multi\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
66239
66405
  ),
66240
66406
  key: string2(),
66241
66407
  label: string2().optional(),
@@ -66299,6 +66465,7 @@ var HogFunctionsInvocationsCreateBody = /* @__PURE__ */ object({
66299
66465
  "choice",
66300
66466
  "json",
66301
66467
  "integration",
66468
+ "integration_multi",
66302
66469
  "integration_field",
66303
66470
  "email",
66304
66471
  "native_email",
@@ -66309,7 +66476,7 @@ var HogFunctionsInvocationsCreateBody = /* @__PURE__ */ object({
66309
66476
  "customer_analytics_account_properties",
66310
66477
  "customer_analytics_account_relationships"
66311
66478
  ]).describe(
66312
- "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
66479
+ "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_multi` - integration_multi\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
66313
66480
  ),
66314
66481
  key: string2(),
66315
66482
  label: string2().optional(),
@@ -68898,6 +69065,7 @@ var CustomPropertyDefinitionsCreateParams = /* @__PURE__ */ object({
68898
69065
  )
68899
69066
  });
68900
69067
  var customPropertyDefinitionsCreateBodyNameMax = 400;
69068
+ var customPropertyDefinitionsCreateBodyTargetTypeDefault = `account`;
68901
69069
  var customPropertyDefinitionsCreateBodyIsBigNumberDefault = false;
68902
69070
  var customPropertyDefinitionsCreateBodyOptionsItemLabelMax = 400;
68903
69071
  var CustomPropertyDefinitionsCreateBody = /* @__PURE__ */ object({
@@ -68908,6 +69076,9 @@ var CustomPropertyDefinitionsCreateBody = /* @__PURE__ */ object({
68908
69076
  ).describe(
68909
69077
  "How the property is interpreted and rendered: 'text', 'number', 'currency', 'percent', 'date', 'datetime', 'boolean', or 'select'.\n\n* `text` - text\n* `number` - number\n* `currency` - currency\n* `percent` - percent\n* `date` - date\n* `datetime` - datetime\n* `boolean` - boolean\n* `select` - select"
68910
69078
  ),
69079
+ target_type: _enum2(["account", "person"]).describe("* `account` - account\n* `person` - person").default(customPropertyDefinitionsCreateBodyTargetTypeDefault).describe(
69080
+ "What entity this property is attached to: 'account' (default) or 'person'. Person properties are populated from a warehouse schema and become usable like any other person property (feature flags, cohorts, insights).\n\n* `account` - account\n* `person` - person"
69081
+ ),
68911
69082
  is_big_number: boolean2().default(customPropertyDefinitionsCreateBodyIsBigNumberDefault).describe("Abbreviate large numbers (e.g. 10,000 \u2192 10K). Only applies to numeric properties."),
68912
69083
  options: array(
68913
69084
  object({
@@ -68960,6 +69131,9 @@ var CustomPropertyDefinitionsPartialUpdateBody = /* @__PURE__ */ object({
68960
69131
  ).optional().describe(
68961
69132
  "How the property is interpreted and rendered: 'text', 'number', 'currency', 'percent', 'date', 'datetime', 'boolean', or 'select'.\n\n* `text` - text\n* `number` - number\n* `currency` - currency\n* `percent` - percent\n* `date` - date\n* `datetime` - datetime\n* `boolean` - boolean\n* `select` - select"
68962
69133
  ),
69134
+ target_type: _enum2(["account", "person"]).describe("* `account` - account\n* `person` - person").optional().describe(
69135
+ "What entity this property is attached to: 'account' (default) or 'person'. Person properties are populated from a warehouse schema and become usable like any other person property (feature flags, cohorts, insights).\n\n* `account` - account\n* `person` - person"
69136
+ ),
68963
69137
  is_big_number: boolean2().optional().describe("Abbreviate large numbers (e.g. 10,000 \u2192 10K). Only applies to numeric properties."),
68964
69138
  options: array(
68965
69139
  object({
@@ -69489,6 +69663,9 @@ var customPropertyDefinitionsCreate = () => ({
69489
69663
  if (params.display_type !== void 0) {
69490
69664
  body["display_type"] = params.display_type;
69491
69665
  }
69666
+ if (params.target_type !== void 0) {
69667
+ body["target_type"] = params.target_type;
69668
+ }
69492
69669
  if (params.is_big_number !== void 0) {
69493
69670
  body["is_big_number"] = params.is_big_number;
69494
69671
  }
@@ -69551,6 +69728,9 @@ var customPropertyDefinitionsPartialUpdate = () => ({
69551
69728
  if (params.display_type !== void 0) {
69552
69729
  body["display_type"] = params.display_type;
69553
69730
  }
69731
+ if (params.target_type !== void 0) {
69732
+ body["target_type"] = params.target_type;
69733
+ }
69554
69734
  if (params.is_big_number !== void 0) {
69555
69735
  body["is_big_number"] = params.is_big_number;
69556
69736
  }
@@ -83250,6 +83430,7 @@ var HogFunctionsCreateBody2 = /* @__PURE__ */ object({
83250
83430
  "choice",
83251
83431
  "json",
83252
83432
  "integration",
83433
+ "integration_multi",
83253
83434
  "integration_field",
83254
83435
  "email",
83255
83436
  "native_email",
@@ -83260,7 +83441,7 @@ var HogFunctionsCreateBody2 = /* @__PURE__ */ object({
83260
83441
  "customer_analytics_account_properties",
83261
83442
  "customer_analytics_account_relationships"
83262
83443
  ]).describe(
83263
- "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
83444
+ "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_multi` - integration_multi\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
83264
83445
  ),
83265
83446
  key: string2(),
83266
83447
  label: string2().optional(),
@@ -83319,6 +83500,7 @@ var HogFunctionsCreateBody2 = /* @__PURE__ */ object({
83319
83500
  "choice",
83320
83501
  "json",
83321
83502
  "integration",
83503
+ "integration_multi",
83322
83504
  "integration_field",
83323
83505
  "email",
83324
83506
  "native_email",
@@ -83329,7 +83511,7 @@ var HogFunctionsCreateBody2 = /* @__PURE__ */ object({
83329
83511
  "customer_analytics_account_properties",
83330
83512
  "customer_analytics_account_relationships"
83331
83513
  ]).describe(
83332
- "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
83514
+ "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_multi` - integration_multi\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
83333
83515
  ),
83334
83516
  key: string2(),
83335
83517
  label: string2().optional(),
@@ -83420,6 +83602,7 @@ var HogFunctionsPartialUpdateBody2 = /* @__PURE__ */ object({
83420
83602
  "choice",
83421
83603
  "json",
83422
83604
  "integration",
83605
+ "integration_multi",
83423
83606
  "integration_field",
83424
83607
  "email",
83425
83608
  "native_email",
@@ -83430,7 +83613,7 @@ var HogFunctionsPartialUpdateBody2 = /* @__PURE__ */ object({
83430
83613
  "customer_analytics_account_properties",
83431
83614
  "customer_analytics_account_relationships"
83432
83615
  ]).describe(
83433
- "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
83616
+ "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_multi` - integration_multi\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
83434
83617
  ),
83435
83618
  key: string2(),
83436
83619
  label: string2().optional(),
@@ -83489,6 +83672,7 @@ var HogFunctionsPartialUpdateBody2 = /* @__PURE__ */ object({
83489
83672
  "choice",
83490
83673
  "json",
83491
83674
  "integration",
83675
+ "integration_multi",
83492
83676
  "integration_field",
83493
83677
  "email",
83494
83678
  "native_email",
@@ -83499,7 +83683,7 @@ var HogFunctionsPartialUpdateBody2 = /* @__PURE__ */ object({
83499
83683
  "customer_analytics_account_properties",
83500
83684
  "customer_analytics_account_relationships"
83501
83685
  ]).describe(
83502
- "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
83686
+ "* `string` - string\n* `number` - number\n* `boolean` - boolean\n* `dictionary` - dictionary\n* `choice` - choice\n* `json` - json\n* `integration` - integration\n* `integration_multi` - integration_multi\n* `integration_field` - integration_field\n* `email` - email\n* `native_email` - native_email\n* `posthog_assignee` - posthog_assignee\n* `posthog_ticket_tags` - posthog_ticket_tags\n* `posthog_business_hours` - posthog_business_hours\n* `non_failure_status_codes` - non_failure_status_codes\n* `customer_analytics_account_properties` - customer_analytics_account_properties\n* `customer_analytics_account_relationships` - customer_analytics_account_relationships"
83503
83687
  ),
83504
83688
  key: string2(),
83505
83689
  label: string2().optional(),
@@ -90748,7 +90932,7 @@ var MCPToolDailyStatsQuery = external_exports.object({
90748
90932
  var MCPToolFailuresQuery = external_exports.object({
90749
90933
  dateRange: DateRange.optional(),
90750
90934
  kind: external_exports.literal("MCPToolFailuresQuery").default("MCPToolFailuresQuery"),
90751
- toolName: external_exports.string().describe("The raw $mcp_tool_name to scope $exception events to.")
90935
+ toolName: external_exports.string().describe("The effective tool name to scope to (matched against the single-exec-resolved tool name).")
90752
90936
  });
90753
90937
  var MCPToolTopUsersQuery = external_exports.object({
90754
90938
  dateRange: DateRange.optional(),
@@ -91927,6 +92111,26 @@ var advancedActivityLogsFilters = () => ({
91927
92111
  });
91928
92112
  var AdvancedActivityLogsListSchema = AdvancedActivityLogsListQueryParams.extend({
91929
92113
  page_size: AdvancedActivityLogsListQueryParams.shape["page_size"].default(10).optional()
92114
+ }).extend({
92115
+ fields: external_exports.array(
92116
+ external_exports.enum([
92117
+ "id",
92118
+ "user.id",
92119
+ "user.first_name",
92120
+ "user.last_name",
92121
+ "user.email",
92122
+ "activity",
92123
+ "scope",
92124
+ "item_id",
92125
+ "detail.name",
92126
+ "detail.short_id",
92127
+ "detail.type",
92128
+ "detail.changes",
92129
+ "created_at"
92130
+ ])
92131
+ ).min(1).optional().describe(
92132
+ "Optional subset of response fields to return, each a dot-path from the allowlist. Omit to return all fields. Request only the fields your task needs to keep responses small."
92133
+ )
91930
92134
  });
91931
92135
  var advancedActivityLogsList = () => ({
91932
92136
  name: "advanced-activity-logs-list",
@@ -91958,21 +92162,24 @@ var advancedActivityLogsList = () => ({
91958
92162
  const filtered = {
91959
92163
  ...result,
91960
92164
  results: (result.results ?? []).map(
91961
- (item) => pickResponseFields(item, [
91962
- "id",
91963
- "user.id",
91964
- "user.first_name",
91965
- "user.last_name",
91966
- "user.email",
91967
- "activity",
91968
- "scope",
91969
- "item_id",
91970
- "detail.name",
91971
- "detail.short_id",
91972
- "detail.type",
91973
- "detail.changes",
91974
- "created_at"
91975
- ])
92165
+ (item) => pickResponseFields(
92166
+ item,
92167
+ params.fields?.length ? params.fields : [
92168
+ "id",
92169
+ "user.id",
92170
+ "user.first_name",
92171
+ "user.last_name",
92172
+ "user.email",
92173
+ "activity",
92174
+ "scope",
92175
+ "item_id",
92176
+ "detail.name",
92177
+ "detail.short_id",
92178
+ "detail.type",
92179
+ "detail.changes",
92180
+ "created_at"
92181
+ ]
92182
+ )
91976
92183
  )
91977
92184
  };
91978
92185
  return await withPostHogUrl(context, filtered, "/activity");
@@ -95940,6 +96147,9 @@ var SignalsReportsListQueryParams = /* @__PURE__ */ object({
95940
96147
  has_implementation_pr: boolean2().optional().describe(
95941
96148
  "Filter reports by whether a shipped implementation pull request exists. 'true' keeps only reports with a PR; 'false' keeps only those without. Pair with limit=1 to count PR reports cheaply."
95942
96149
  ),
96150
+ include_all_statuses: boolean2().optional().describe(
96151
+ "When true, the list includes reports in every status with no default exclusions applied \u2014 currently that adds suppressed (dismissed) reports, which are otherwise hidden. Use it to see the full inbox state (e.g. deduplicating before creating a report) and read each row's status (plus dismissal_reason/dismissal_note on dismissed rows) before acting. Deleted reports are terminal and never returned. Defaults to false, which keeps the existing default exclusions. Ignored when an explicit 'status' filter is set \u2014 that filter alone decides which statuses are returned."
96152
+ ),
95943
96153
  limit: number2().optional().describe("Number of results to return per page."),
95944
96154
  offset: number2().optional().describe("The initial index from which to return the results."),
95945
96155
  ordering: string2().optional().describe(
@@ -96457,6 +96667,7 @@ var SignalsSourceConfigsCreateBody = /* @__PURE__ */ object({
96457
96667
  "llm_analytics",
96458
96668
  "github",
96459
96669
  "linear",
96670
+ "jira",
96460
96671
  "zendesk",
96461
96672
  "conversations",
96462
96673
  "error_tracking",
@@ -96467,7 +96678,7 @@ var SignalsSourceConfigsCreateBody = /* @__PURE__ */ object({
96467
96678
  "endpoints",
96468
96679
  "replay_vision"
96469
96680
  ]).describe(
96470
- "* `session_replay` - Session replay\n* `llm_analytics` - LLM analytics\n* `github` - GitHub\n* `linear` - Linear\n* `zendesk` - Zendesk\n* `conversations` - Conversations\n* `error_tracking` - Error tracking\n* `pganalyze` - pganalyze\n* `signals_scout` - Signals scout\n* `logs` - Logs\n* `health_checks` - Health checks\n* `endpoints` - Endpoints\n* `replay_vision` - Replay Vision"
96681
+ "* `session_replay` - Session replay\n* `llm_analytics` - LLM analytics\n* `github` - GitHub\n* `linear` - Linear\n* `jira` - Jira\n* `zendesk` - Zendesk\n* `conversations` - Conversations\n* `error_tracking` - Error tracking\n* `pganalyze` - pganalyze\n* `signals_scout` - Signals scout\n* `logs` - Logs\n* `health_checks` - Health checks\n* `endpoints` - Endpoints\n* `replay_vision` - Replay Vision"
96471
96682
  ),
96472
96683
  source_type: _enum2([
96473
96684
  "session_analysis_cluster",
@@ -96508,6 +96719,7 @@ var SignalsSourceConfigsUpdateBody = /* @__PURE__ */ object({
96508
96719
  "llm_analytics",
96509
96720
  "github",
96510
96721
  "linear",
96722
+ "jira",
96511
96723
  "zendesk",
96512
96724
  "conversations",
96513
96725
  "error_tracking",
@@ -96518,7 +96730,7 @@ var SignalsSourceConfigsUpdateBody = /* @__PURE__ */ object({
96518
96730
  "endpoints",
96519
96731
  "replay_vision"
96520
96732
  ]).describe(
96521
- "* `session_replay` - Session replay\n* `llm_analytics` - LLM analytics\n* `github` - GitHub\n* `linear` - Linear\n* `zendesk` - Zendesk\n* `conversations` - Conversations\n* `error_tracking` - Error tracking\n* `pganalyze` - pganalyze\n* `signals_scout` - Signals scout\n* `logs` - Logs\n* `health_checks` - Health checks\n* `endpoints` - Endpoints\n* `replay_vision` - Replay Vision"
96733
+ "* `session_replay` - Session replay\n* `llm_analytics` - LLM analytics\n* `github` - GitHub\n* `linear` - Linear\n* `jira` - Jira\n* `zendesk` - Zendesk\n* `conversations` - Conversations\n* `error_tracking` - Error tracking\n* `pganalyze` - pganalyze\n* `signals_scout` - Signals scout\n* `logs` - Logs\n* `health_checks` - Health checks\n* `endpoints` - Endpoints\n* `replay_vision` - Replay Vision"
96522
96734
  ),
96523
96735
  source_type: _enum2([
96524
96736
  "session_analysis_cluster",
@@ -96553,6 +96765,7 @@ var SignalsSourceConfigsPartialUpdateBody = /* @__PURE__ */ object({
96553
96765
  "llm_analytics",
96554
96766
  "github",
96555
96767
  "linear",
96768
+ "jira",
96556
96769
  "zendesk",
96557
96770
  "conversations",
96558
96771
  "error_tracking",
@@ -96563,7 +96776,7 @@ var SignalsSourceConfigsPartialUpdateBody = /* @__PURE__ */ object({
96563
96776
  "endpoints",
96564
96777
  "replay_vision"
96565
96778
  ]).optional().describe(
96566
- "* `session_replay` - Session replay\n* `llm_analytics` - LLM analytics\n* `github` - GitHub\n* `linear` - Linear\n* `zendesk` - Zendesk\n* `conversations` - Conversations\n* `error_tracking` - Error tracking\n* `pganalyze` - pganalyze\n* `signals_scout` - Signals scout\n* `logs` - Logs\n* `health_checks` - Health checks\n* `endpoints` - Endpoints\n* `replay_vision` - Replay Vision"
96779
+ "* `session_replay` - Session replay\n* `llm_analytics` - LLM analytics\n* `github` - GitHub\n* `linear` - Linear\n* `jira` - Jira\n* `zendesk` - Zendesk\n* `conversations` - Conversations\n* `error_tracking` - Error tracking\n* `pganalyze` - pganalyze\n* `signals_scout` - Signals scout\n* `logs` - Logs\n* `health_checks` - Health checks\n* `endpoints` - Endpoints\n* `replay_vision` - Replay Vision"
96567
96780
  ),
96568
96781
  source_type: _enum2([
96569
96782
  "session_analysis_cluster",
@@ -96717,6 +96930,7 @@ var inboxReportsList = () => ({
96717
96930
  path: `/api/projects/${encodeURIComponent(String(projectId))}/signals/reports/`,
96718
96931
  query: {
96719
96932
  has_implementation_pr: params.has_implementation_pr,
96933
+ include_all_statuses: params.include_all_statuses,
96720
96934
  limit: params.limit,
96721
96935
  offset: params.offset,
96722
96936
  ordering: params.ordering,
@@ -99814,11 +100028,15 @@ var TasksListParams = /* @__PURE__ */ object({
99814
100028
  "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/."
99815
100029
  )
99816
100030
  });
100031
+ var tasksListQueryAllTeamTasksDefault = false;
99817
100032
  var tasksListQueryLimitDefault = 50;
99818
100033
  var tasksListQueryLimitMax = 100;
99819
100034
  var tasksListQueryOffsetDefault = 0;
99820
100035
  var tasksListQueryOffsetMin = 0;
99821
100036
  var TasksListQueryParams = /* @__PURE__ */ object({
100037
+ all_team_tasks: boolean2().default(tasksListQueryAllTeamTasksDefault).describe(
100038
+ "Staff-only. When true, list every task on the team regardless of creator or channel, bypassing the per-user visibility filter. Ignored for non-staff users."
100039
+ ),
99822
100040
  archived: _enum2(["true", "false", "all"]).optional().describe(
99823
100041
  "Filter by archived state. Defaults to excluding archived tasks. Use 'true' to list only archived tasks, 'false' for the default, or 'all' to include both.\n\n* `true` - true\n* `false` - false\n* `all` - all"
99824
100042
  ),
@@ -99897,6 +100115,7 @@ var tasksList = () => ({
99897
100115
  method: "GET",
99898
100116
  path: `/api/projects/${encodeURIComponent(String(projectId))}/tasks/`,
99899
100117
  query: {
100118
+ all_team_tasks: params.all_team_tasks,
99900
100119
  archived: params.archived,
99901
100120
  channel: params.channel,
99902
100121
  created_by: params.created_by,
@@ -101901,73 +102120,6 @@ var ExternalDataSchemasCancelCreateParams = /* @__PURE__ */ object({
101901
102120
  "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/."
101902
102121
  )
101903
102122
  });
101904
- var externalDataSchemasCancelCreateBodyIncrementalFieldLookbackSecondsMin = 0;
101905
- var externalDataSchemasCancelCreateBodyIncrementalFieldLookbackSecondsMax = 5184e3;
101906
- var ExternalDataSchemasCancelCreateBody = /* @__PURE__ */ object({
101907
- should_sync: boolean2().optional(),
101908
- sync_type: union([
101909
- _enum2(["full_refresh", "incremental", "append", "webhook", "cdc", "xmin"]).describe(
101910
- "* `full_refresh` - full_refresh\n* `incremental` - incremental\n* `append` - append\n* `webhook` - webhook\n* `cdc` - cdc\n* `xmin` - xmin"
101911
- ),
101912
- _null3()
101913
- ]).optional().describe(
101914
- "Sync strategy: incremental, full_refresh, append, cdc, or xmin.\n\n* `full_refresh` - full_refresh\n* `incremental` - incremental\n* `append` - append\n* `webhook` - webhook\n* `cdc` - cdc\n* `xmin` - xmin"
101915
- ),
101916
- incremental_field: string2().nullish().describe("Column name used to track sync progress."),
101917
- incremental_field_type: union([
101918
- _enum2(["integer", "numeric", "datetime", "date", "timestamp", "objectid", "xid"]).describe(
101919
- "* `integer` - integer\n* `numeric` - numeric\n* `datetime` - datetime\n* `date` - date\n* `timestamp` - timestamp\n* `objectid` - objectid\n* `xid` - xid"
101920
- ),
101921
- _null3()
101922
- ]).optional().describe(
101923
- "Data type of the incremental field.\n\n* `integer` - integer\n* `numeric` - numeric\n* `datetime` - datetime\n* `date` - date\n* `timestamp` - timestamp\n* `objectid` - objectid\n* `xid` - xid"
101924
- ),
101925
- incremental_field_lookback_seconds: number2().min(externalDataSchemasCancelCreateBodyIncrementalFieldLookbackSecondsMin).max(externalDataSchemasCancelCreateBodyIncrementalFieldLookbackSecondsMax).nullish().describe(
101926
- "Seconds to subtract from the stored incremental watermark at sync time, so each incremental run re-reads a rolling overlap window and catches late or backdated rows. Applies to timestamp/date incremental fields only. The stored watermark is unchanged. Maximum 5184000 (60 days)."
101927
- ),
101928
- sync_frequency: union([
101929
- _enum2([
101930
- "never",
101931
- "1min",
101932
- "5min",
101933
- "15min",
101934
- "30min",
101935
- "1hour",
101936
- "6hour",
101937
- "12hour",
101938
- "24hour",
101939
- "7day",
101940
- "30day"
101941
- ]).describe(
101942
- "* `never` - never\n* `1min` - 1min\n* `5min` - 5min\n* `15min` - 15min\n* `30min` - 30min\n* `1hour` - 1hour\n* `6hour` - 6hour\n* `12hour` - 12hour\n* `24hour` - 24hour\n* `7day` - 7day\n* `30day` - 30day"
101943
- ),
101944
- _null3()
101945
- ]).optional().describe(
101946
- "How often to sync.\n\n* `never` - never\n* `1min` - 1min\n* `5min` - 5min\n* `15min` - 15min\n* `30min` - 30min\n* `1hour` - 1hour\n* `6hour` - 6hour\n* `12hour` - 12hour\n* `24hour` - 24hour\n* `7day` - 7day\n* `30day` - 30day"
101947
- ),
101948
- sync_time_of_day: iso_exports.time({}).nullish().describe("UTC time of day to run the sync (HH:MM:SS)."),
101949
- primary_key_columns: array(string2()).nullish().describe("Column names for primary key deduplication."),
101950
- cdc_table_mode: union([
101951
- _enum2(["consolidated", "cdc_only", "both"]).describe("* `consolidated` - consolidated\n* `cdc_only` - cdc_only\n* `both` - both"),
101952
- _null3()
101953
- ]).optional().describe(
101954
- "For CDC syncs: consolidated, cdc_only, or both.\n\n* `consolidated` - consolidated\n* `cdc_only` - cdc_only\n* `both` - both"
101955
- ),
101956
- enabled_columns: array(string2()).nullish().describe(
101957
- "Names of source columns to sync. `null` (default) syncs all columns. Primary-key columns and the active incremental field are always retained, even if not listed here."
101958
- ),
101959
- row_filters: array(
101960
- object({
101961
- column: string2(),
101962
- operator: string2().describe('One of: > >= < <= = != IN "NOT IN".'),
101963
- value: unknown().describe(
101964
- "Comparison value; must match the column's type. For `IN` / `NOT IN`, a comma-separated list (e.g. `1, 2, 3` or `'a','b'`)."
101965
- )
101966
- })
101967
- ).nullish().describe(
101968
- "Predicates ANDed onto the source query so only matching rows sync. Each is `{column, operator, value}`; `null`/empty (default) syncs all rows. The operator must be one of `> >= < <= = != IN \"NOT IN\"` and the value must match the column's type (for `IN`/`NOT IN`, a comma-separated list like `1, 2, 3` or `'a','b'`). Applied on the next sync \u2014 not retroactive to already-synced rows."
101969
- )
101970
- });
101971
102123
  var ExternalDataSchemasDeleteDataDestroyParams = /* @__PURE__ */ object({
101972
102124
  id: string2().describe("A UUID string identifying this external data schema."),
101973
102125
  project_id: string2().describe(
@@ -102211,7 +102363,7 @@ var ExternalDataSourcesCreateParams = /* @__PURE__ */ object({
102211
102363
  var externalDataSourcesCreateBodyPrefixMax = 100;
102212
102364
  var externalDataSourcesCreateBodyDescriptionMax = 400;
102213
102365
  var externalDataSourcesCreateBodyAccessMethodDefault = `warehouse`;
102214
- var externalDataSourcesCreateBodyDirectQueryEnabledDefault = true;
102366
+ var externalDataSourcesCreateBodyDirectQueryEnabledDefault = false;
102215
102367
  var ExternalDataSourcesCreateBody = /* @__PURE__ */ object({
102216
102368
  source_type: _enum2([
102217
102369
  "Ashby",
@@ -102969,11 +103121,16 @@ var ExternalDataSourcesCreateBody = /* @__PURE__ */ object({
102969
103121
  "Vultr",
102970
103122
  "Windmill",
102971
103123
  "Zep",
102972
- "Hex"
103124
+ "Hex",
103125
+ "Sumsub",
103126
+ "GoogleChat",
103127
+ "Kickscale",
103128
+ "Zellify",
103129
+ "RudderStack"
102973
103130
  ]).describe(
102974
- "* `Ashby` - Ashby\n* `Supabase` - Supabase\n* `CustomerIO` - CustomerIO\n* `Github` - Github\n* `Stripe` - Stripe\n* `Hubspot` - Hubspot\n* `Postgres` - Postgres\n* `Zendesk` - Zendesk\n* `Snowflake` - Snowflake\n* `Salesforce` - Salesforce\n* `MySQL` - MySQL\n* `MongoDB` - MongoDB\n* `MSSQL` - MSSQL\n* `Vitally` - Vitally\n* `BigQuery` - BigQuery\n* `Chargebee` - Chargebee\n* `Clerk` - Clerk\n* `GoogleAds` - GoogleAds\n* `GoogleSearchConsole` - GoogleSearchConsole\n* `TemporalIO` - TemporalIO\n* `DoIt` - DoIt\n* `GoogleSheets` - GoogleSheets\n* `MetaAds` - MetaAds\n* `Klaviyo` - Klaviyo\n* `Mailchimp` - Mailchimp\n* `Braze` - Braze\n* `Mailjet` - Mailjet\n* `Redshift` - Redshift\n* `Polar` - Polar\n* `RevenueCat` - RevenueCat\n* `LinkedinAds` - LinkedinAds\n* `RedditAds` - RedditAds\n* `TikTokAds` - TikTokAds\n* `BingAds` - BingAds\n* `Shopify` - Shopify\n* `Attio` - Attio\n* `SnapchatAds` - SnapchatAds\n* `Linear` - Linear\n* `Intercom` - Intercom\n* `Amplitude` - Amplitude\n* `Mixpanel` - Mixpanel\n* `Jira` - Jira\n* `ActiveCampaign` - ActiveCampaign\n* `Marketo` - Marketo\n* `Adjust` - Adjust\n* `AppsFlyer` - AppsFlyer\n* `Freshdesk` - Freshdesk\n* `GoogleAnalytics` - GoogleAnalytics\n* `Pipedrive` - Pipedrive\n* `SendGrid` - SendGrid\n* `Slack` - Slack\n* `PagerDuty` - PagerDuty\n* `Asana` - Asana\n* `Notion` - Notion\n* `Airtable` - Airtable\n* `Greenhouse` - Greenhouse\n* `BambooHR` - BambooHR\n* `Lever` - Lever\n* `GitLab` - GitLab\n* `Datadog` - Datadog\n* `Sentry` - Sentry\n* `Pendo` - Pendo\n* `FullStory` - FullStory\n* `AmazonAds` - AmazonAds\n* `PinterestAds` - PinterestAds\n* `AppleSearchAds` - AppleSearchAds\n* `QuickBooks` - QuickBooks\n* `Xero` - Xero\n* `NetSuite` - NetSuite\n* `WooCommerce` - WooCommerce\n* `BigCommerce` - BigCommerce\n* `PayPal` - PayPal\n* `Square` - Square\n* `Zoom` - Zoom\n* `Trello` - Trello\n* `Monday` - Monday\n* `ClickUp` - ClickUp\n* `Confluence` - Confluence\n* `Recurly` - Recurly\n* `SalesLoft` - SalesLoft\n* `Outreach` - Outreach\n* `Gong` - Gong\n* `Calendly` - Calendly\n* `Typeform` - Typeform\n* `Iterable` - Iterable\n* `ZohoCRM` - ZohoCRM\n* `Close` - Close\n* `Oracle` - Oracle\n* `DynamoDB` - DynamoDB\n* `Elasticsearch` - Elasticsearch\n* `Kafka` - Kafka\n* `LaunchDarkly` - LaunchDarkly\n* `Braintree` - Braintree\n* `Recharge` - Recharge\n* `HelpScout` - HelpScout\n* `Gorgias` - Gorgias\n* `Instagram` - Instagram\n* `YouTubeAnalytics` - YouTubeAnalytics\n* `FacebookPages` - FacebookPages\n* `TwitterAds` - TwitterAds\n* `Workday` - Workday\n* `ServiceNow` - ServiceNow\n* `Pardot` - Pardot\n* `Copper` - Copper\n* `Front` - Front\n* `ChartMogul` - ChartMogul\n* `Zuora` - Zuora\n* `Paddle` - Paddle\n* `CircleCI` - CircleCI\n* `CockroachDB` - CockroachDB\n* `Firebase` - Firebase\n* `AzureBlob` - AzureBlob\n* `GoogleDrive` - GoogleDrive\n* `OneDrive` - OneDrive\n* `SharePoint` - SharePoint\n* `Box` - Box\n* `SFTP` - SFTP\n* `MicrosoftTeams` - MicrosoftTeams\n* `Aircall` - Aircall\n* `Webflow` - Webflow\n* `Okta` - Okta\n* `Auth0` - Auth0\n* `Productboard` - Productboard\n* `Smartsheet` - Smartsheet\n* `Wrike` - Wrike\n* `Plaid` - Plaid\n* `SurveyMonkey` - SurveyMonkey\n* `Eventbrite` - Eventbrite\n* `RingCentral` - RingCentral\n* `Twilio` - Twilio\n* `Freshsales` - Freshsales\n* `Shortcut` - Shortcut\n* `ConvertKit` - ConvertKit\n* `Drip` - Drip\n* `CampaignMonitor` - CampaignMonitor\n* `MailerLite` - MailerLite\n* `Omnisend` - Omnisend\n* `Brevo` - Brevo\n* `Postmark` - Postmark\n* `Granola` - Granola\n* `BuildBetter` - BuildBetter\n* `Convex` - Convex\n* `ClickHouse` - ClickHouse\n* `Plain` - Plain\n* `Resend` - Resend\n* `PgAnalyze` - PgAnalyze\n* `WorkOS` - WorkOS\n* `AmazonS3` - AmazonS3\n* `GoogleCloudStorage` - GoogleCloudStorage\n* `Databricks` - Databricks\n* `Dynamics365` - Dynamics365\n* `SalesforceMarketingCloud` - SalesforceMarketingCloud\n* `Db2` - Db2\n* `Heap` - Heap\n* `AdobeAnalytics` - AdobeAnalytics\n* `Matomo` - Matomo\n* `Optimizely` - Optimizely\n* `Adyen` - Adyen\n* `GoCardless` - GoCardless\n* `Mollie` - Mollie\n* `CheckoutCom` - CheckoutCom\n* `Branch` - Branch\n* `Criteo` - Criteo\n* `Outbrain` - Outbrain\n* `Taboola` - Taboola\n* `AdRoll` - AdRoll\n* `DisplayVideo360` - DisplayVideo360\n* `GoogleAdManager` - GoogleAdManager\n* `CampaignManager360` - CampaignManager360\n* `SearchAds360` - SearchAds360\n* `AdobeCommerce` - AdobeCommerce\n* `AmazonSellingPartner` - AmazonSellingPartner\n* `Ebay` - Ebay\n* `Commercetools` - Commercetools\n* `LightspeedRetail` - LightspeedRetail\n* `ShipStation` - ShipStation\n* `ConstantContact` - ConstantContact\n* `Mailgun` - Mailgun\n* `Eloqua` - Eloqua\n* `Sailthru` - Sailthru\n* `Ortto` - Ortto\n* `Attentive` - Attentive\n* `Kustomer` - Kustomer\n* `Dixa` - Dixa\n* `Gladly` - Gladly\n* `Qualtrics` - Qualtrics\n* `Delighted` - Delighted\n* `AzureDevOps` - AzureDevOps\n* `Rollbar` - Rollbar\n* `Opsgenie` - Opsgenie\n* `IncidentIo` - IncidentIo\n* `Pingdom` - Pingdom\n* `Cloudflare` - Cloudflare\n* `CosmosDB` - CosmosDB\n* `PlanetScale` - PlanetScale\n* `SapHana` - SapHana\n* `Rippling` - Rippling\n* `HiBob` - HiBob\n* `Personio` - Personio\n* `Deel` - Deel\n* `AdpWorkforceNow` - AdpWorkforceNow\n* `Paylocity` - Paylocity\n* `Gusto` - Gusto\n* `CultureAmp` - CultureAmp\n* `Lattice` - Lattice\n* `SageIntacct` - SageIntacct\n* `FreshBooks` - FreshBooks\n* `Expensify` - Expensify\n* `Ramp` - Ramp\n* `Brex` - Brex\n* `Coupa` - Coupa\n* `SapConcur` - SapConcur\n* `Apollo` - Apollo\n* `Crunchbase` - Crunchbase\n* `ZoomInfo` - ZoomInfo\n* `Clari` - Clari\n* `Chorus` - Chorus\n* `Coda` - Coda\n* `Guru` - Guru\n* `Dropbox` - Dropbox\n* `Docusign` - Docusign\n* `PandaDoc` - PandaDoc\n* `SapErp` - SapErp\n* `SapSuccessFactors` - SapSuccessFactors\n* `OracleEbs` - OracleEbs\n* `OracleFusion` - OracleFusion\n* `AmazonSNS` - AmazonSNS\n* `AmazonEventBridge` - AmazonEventBridge\n* `AmazonSQS` - AmazonSQS\n* `AmazonKinesis` - AmazonKinesis\n* `AmazonCloudWatch` - AmazonCloudWatch\n* `OpenAIAds` - OpenAIAds\n* `OneHundredMs` - OneHundredMs\n* `SevenShifts` - SevenShifts\n* `AcuityScheduling` - AcuityScheduling\n* `AgileCRM` - AgileCRM\n* `Aha` - Aha\n* `Airbyte` - Airbyte\n* `Akeneo` - Akeneo\n* `Algolia` - Algolia\n* `AlpacaBrokerAPI` - AlpacaBrokerAPI\n* `ApifyDataset` - ApifyDataset\n* `Appcues` - Appcues\n* `Appfigures` - Appfigures\n* `Appfollow` - Appfollow\n* `Apptivo` - Apptivo\n* `AssemblyAI` - AssemblyAI\n* `Awin` - Awin\n* `AwsCloudTrail` - AwsCloudTrail\n* `AzureTableStorage` - AzureTableStorage\n* `Babelforce` - Babelforce\n* `Basecamp` - Basecamp\n* `Beamer` - Beamer\n* `BigMailer` - BigMailer\n* `Bluetally` - Bluetally\n* `BoldSign` - BoldSign\n* `BreezyHR` - BreezyHR\n* `Bugsnag` - Bugsnag\n* `Buildkite` - Buildkite\n* `Bunny` - Bunny\n* `Buzzsprout` - Buzzsprout\n* `CalCom` - CalCom\n* `CallRail` - CallRail\n* `Campayn` - Campayn\n* `Canny` - Canny\n* `CapsuleCRM` - CapsuleCRM\n* `CaptainData` - CaptainData\n* `CartCom` - CartCom\n* `CastorEDC` - CastorEDC\n* `Chameleon` - Chameleon\n* `Chargedesk` - Chargedesk\n* `Chargify` - Chargify\n* `Chift` - Chift\n* `Churnkey` - Churnkey\n* `Cin7` - Cin7\n* `CiscoMeraki` - CiscoMeraki\n* `Clazar` - Clazar\n* `Clockify` - Clockify\n* `Clockodo` - Clockodo\n* `Cloudbeds` - Cloudbeds\n* `Coassemble` - Coassemble\n* `Codefresh` - Codefresh\n* `Concord` - Concord\n* `ConfigCat` - ConfigCat\n* `Couchbase` - Couchbase\n* `Curve` - Curve\n* `Customerly` - Customerly\n* `Datascope` - Datascope\n* `Dbt` - Dbt\n* `Deputy` - Deputy\n* `DevinAI` - DevinAI\n* `Docuseal` - Docuseal\n* `Dolibarr` - Dolibarr\n* `Dremio` - Dremio\n* `DropboxSign` - DropboxSign\n* `Dwolla` - Dwolla\n* `EConomic` - EConomic\n* `Easypost` - Easypost\n* `Easypromos` - Easypromos\n* `Elasticemail` - Elasticemail\n* `EmailOctopus` - EmailOctopus\n* `EmploymentHero` - EmploymentHero\n* `Encharge` - Encharge\n* `Eventee` - Eventee\n* `Eventzilla` - Eventzilla\n* `Everhour` - Everhour\n* `EZOfficeInventory` - EZOfficeInventory\n* `Factorial` - Factorial\n* `Fastbill` - Fastbill\n* `Fastly` - Fastly\n* `Fauna` - Fauna\n* `Feishu` - Feishu\n* `Fillout` - Fillout\n* `Finage` - Finage\n* `Firebolt` - Firebolt\n* `FireHydrant` - FireHydrant\n* `Fleetio` - Fleetio\n* `Flexmail` - Flexmail\n* `Flexport` - Flexport\n* `FloatApp` - FloatApp\n* `Flowlu` - Flowlu\n* `Formbricks` - Formbricks\n* `FreeAgent` - FreeAgent\n* `Freightview` - Freightview\n* `Freshcaller` - Freshcaller\n* `Freshchat` - Freshchat\n* `Freshservice` - Freshservice\n* `Fulcrum` - Fulcrum\n* `GainsightPx` - GainsightPx\n* `GitBook` - GitBook\n* `Glassfrog` - Glassfrog\n* `Goldcast` - Goldcast\n* `GoLogin` - GoLogin\n* `Grafana` - Grafana\n* `GreytHr` - GreytHr\n* `Gridly` - Gridly\n* `Harness` - Harness\n* `Height` - Height\n* `Hellobaton` - Hellobaton\n* `HighLevel` - HighLevel\n* `HoorayHR` - HoorayHR\n* `Hubplanner` - Hubplanner\n* `Humanitix` - Humanitix\n* `Huntr` - Huntr\n* `Inflowinventory` - Inflowinventory\n* `InforNexus` - InforNexus\n* `Insightful` - Insightful\n* `Insightly` - Insightly\n* `Instantly` - Instantly\n* `Instatus` - Instatus\n* `Intruder` - Intruder\n* `Invoiced` - Invoiced\n* `Invoiceninja` - Invoiceninja\n* `JamfPro` - JamfPro\n* `JobNimbus` - JobNimbus\n* `Jotform` - Jotform\n* `JudgeMeReviews` - JudgeMeReviews\n* `JustCall` - JustCall\n* `JustSift` - JustSift\n* `K6Cloud` - K6Cloud\n* `Katana` - Katana\n* `Keka` - Keka\n* `Kisi` - Kisi\n* `Kissmetrics` - Kissmetrics\n* `Klarna` - Klarna\n* `Klaus` - Klaus\n* `Lago` - Lago\n* `Leadfeeder` - Leadfeeder\n* `Lemlist` - Lemlist\n* `LessAnnoyingCRM` - LessAnnoyingCRM\n* `LinkedinPages` - LinkedinPages\n* `Linkrunner` - Linkrunner\n* `Linnworks` - Linnworks\n* `Lob` - Lob\n* `Lokalise` - Lokalise\n* `Looker` - Looker\n* `Luma` - Luma\n* `MailerSend` - MailerSend\n* `Mailosaur` - Mailosaur\n* `Mailtrap` - Mailtrap\n* `Mantle` - Mantle\n* `Mention` - Mention\n* `MercadoAds` - MercadoAds\n* `Merge` - Merge\n* `Metabase` - Metabase\n* `Metricool` - Metricool\n* `MicrosoftDataverse` - MicrosoftDataverse\n* `MicrosoftEntraId` - MicrosoftEntraId\n* `MicrosoftLists` - MicrosoftLists\n* `Miro` - Miro\n* `Missive` - Missive\n* `MixMax` - MixMax\n* `Mode` - Mode\n* `Mux` - Mux\n* `MyHours` - MyHours\n* `N8n` - N8n\n* `Navan` - Navan\n* `NebiusAI` - NebiusAI\n* `Nexiopay` - Nexiopay\n* `NinjaOneRMM` - NinjaOneRMM\n* `NoCRM` - NoCRM\n* `NorthpassLMS` - NorthpassLMS\n* `Nutshell` - Nutshell\n* `Nylas` - Nylas\n* `Oncehub` - Oncehub\n* `Onepagecrm` - Onepagecrm\n* `OneSignal` - OneSignal\n* `Onfleet` - Onfleet\n* `OpinionStage` - OpinionStage\n* `OPUSWatch` - OPUSWatch\n* `Orb` - Orb\n* `Orbit` - Orbit\n* `Oura` - Oura\n* `Oveit` - Oveit\n* `PabblySubscriptionsBilling` - PabblySubscriptionsBilling\n* `Paperform` - Paperform\n* `Papersign` - Papersign\n* `Partnerize` - Partnerize\n* `PartnerStack` - PartnerStack\n* `PayFit` - PayFit\n* `Paystack` - Paystack\n* `Pennylane` - Pennylane\n* `Perk` - Perk\n* `PersistIq` - PersistIq\n* `Persona` - Persona\n* `Phyllo` - Phyllo\n* `Picqer` - Picqer\n* `Pipeliner` - Pipeliner\n* `PivotalTracker` - PivotalTracker\n* `Piwik` - Piwik\n* `Planhat` - Planhat\n* `Plausible` - Plausible\n* `Poplar` - Poplar\n* `PrestaShop` - PrestaShop\n* `Pretix` - Pretix\n* `Primetric` - Primetric\n* `Printify` - Printify\n* `Productive` - Productive\n* `Pylon` - Pylon\n* `Qonto` - Qonto\n* `Qualaroo` - Qualaroo\n* `Railz` - Railz\n* `RDStationMarketing` - RDStationMarketing\n* `Recruitee` - Recruitee\n* `Reddit` - Reddit\n* `ReferralHero` - ReferralHero\n* `RentCast` - RentCast\n* `Repairshopr` - Repairshopr\n* `ReplyIo` - ReplyIo\n* `RetailExpress` - RetailExpress\n* `Retently` - Retently\n* `RevolutMerchant` - RevolutMerchant\n* `RocketChat` - RocketChat\n* `Rocketlane` - Rocketlane\n* `Rootly` - Rootly\n* `Ruddr` - Ruddr\n* `SafetyCulture` - SafetyCulture\n* `SageHR` - SageHR\n* `Salesflare` - Salesflare\n* `SAPFieldglass` - SAPFieldglass\n* `SavvyCal` - SavvyCal\n* `Secoda` - Secoda\n* `Segment` - Segment\n* `Sendowl` - Sendowl\n* `SendPulse` - SendPulse\n* `Senseforce` - Senseforce\n* `Serpstat` - Serpstat\n* `Sharetribe` - Sharetribe\n* `Shippo` - Shippo\n* `ShopWired` - ShopWired\n* `Shortio` - Shortio\n* `Shutterstock` - Shutterstock\n* `SigmaComputing` - SigmaComputing\n* `SignNow` - SignNow\n* `SimpleCast` - SimpleCast\n* `Simplesat` - Simplesat\n* `Smaily` - Smaily\n* `SmartEngage` - SmartEngage\n* `Smartreach` - Smartreach\n* `Smartwaiver` - Smartwaiver\n* `SolarwindsServiceDesk` - SolarwindsServiceDesk\n* `SonarCloud` - SonarCloud\n* `SparkPost` - SparkPost\n* `SplitIo` - SplitIo\n* `SpotifyAds` - SpotifyAds\n* `SpotlerCRM` - SpotlerCRM\n* `Squarespace` - Squarespace\n* `Statsig` - Statsig\n* `Statuspage` - Statuspage\n* `Stigg` - Stigg\n* `Strava` - Strava\n* `SurveySparrow` - SurveySparrow\n* `Survicate` - Survicate\n* `Svix` - Svix\n* `Systeme` - Systeme\n* `Tavus` - Tavus\n* `Teamtailor` - Teamtailor\n* `Teamwork` - Teamwork\n* `Tempo` - Tempo\n* `Testrail` - Testrail\n* `Thinkific` - Thinkific\n* `ThinkificCourses` - ThinkificCourses\n* `ThriveLearning` - ThriveLearning\n* `Ticketmaster` - Ticketmaster\n* `TicketTailor` - TicketTailor\n* `TickTick` - TickTick\n* `Timely` - Timely\n* `Tinyemail` - Tinyemail\n* `Todoist` - Todoist\n* `Toggl` - Toggl\n* `TrackPMS` - TrackPMS\n* `Tremendous` - Tremendous\n* `TrustPilot` - TrustPilot\n* `Twitter` - Twitter\n* `TyntecSMS` - TyntecSMS\n* `Unleash` - Unleash\n* `UpPromote` - UpPromote\n* `Uptick` - Uptick\n* `Uservoice` - Uservoice\n* `Vantage` - Vantage\n* `Veeqo` - Veeqo\n* `Vercel` - Vercel\n* `VismaEconomic` - VismaEconomic\n* `VWO` - VWO\n* `Waiteraid` - Waiteraid\n* `Wasabi` - Wasabi\n* `WhenIWork` - WhenIWork\n* `Wordpress` - Wordpress\n* `Workable` - Workable\n* `Workflowmax` - Workflowmax\n* `Workramp` - Workramp\n* `Wufoo` - Wufoo\n* `Xsolla` - Xsolla\n* `YandexMetrica` - YandexMetrica\n* `Yotpo` - Yotpo\n* `Ynab` - Ynab\n* `Younium` - Younium\n* `YouSign` - YouSign\n* `YoutubeData` - YoutubeData\n* `ZapierSupportedStorage` - ZapierSupportedStorage\n* `ZapSign` - ZapSign\n* `ZendeskSell` - ZendeskSell\n* `ZendeskSunshine` - ZendeskSunshine\n* `Zenefits` - Zenefits\n* `Zenloop` - Zenloop\n* `ZohoAnalytics` - ZohoAnalytics\n* `ZohoBigin` - ZohoBigin\n* `ZohoBilling` - ZohoBilling\n* `ZohoBooks` - ZohoBooks\n* `ZohoCampaign` - ZohoCampaign\n* `ZohoDesk` - ZohoDesk\n* `ZohoExpense` - ZohoExpense\n* `ZohoInventory` - ZohoInventory\n* `ZohoInvoice` - ZohoInvoice\n* `ZonkaFeedback` - ZonkaFeedback\n* `AlphaVantage` - AlphaVantage\n* `Aviationstack` - Aviationstack\n* `Bitly` - Bitly\n* `Blogger` - Blogger\n* `Breezometer` - Breezometer\n* `CareQualityCommission` - CareQualityCommission\n* `Cimis` - Cimis\n* `CoinApi` - CoinApi\n* `CoinGecko` - CoinGecko\n* `CoinMarketCap` - CoinMarketCap\n* `DingConnect` - DingConnect\n* `Dockerhub` - Dockerhub\n* `ExchangeRatesApi` - ExchangeRatesApi\n* `FinancialModelling` - FinancialModelling\n* `Finnhub` - Finnhub\n* `Finnworlds` - Finnworlds\n* `Giphy` - Giphy\n* `Gmail` - Gmail\n* `GNews` - GNews\n* `GoogleCalendar` - GoogleCalendar\n* `GoogleClassroom` - GoogleClassroom\n* `GoogleDirectory` - GoogleDirectory\n* `GoogleForms` - GoogleForms\n* `GooglePageSpeedInsights` - GooglePageSpeedInsights\n* `GoogleTasks` - GoogleTasks\n* `GoogleWebfonts` - GoogleWebfonts\n* `GoogleWorkspaceAdminReports` - GoogleWorkspaceAdminReports\n* `HuggingFace` - HuggingFace\n* `IlluminaBasespace` - IlluminaBasespace\n* `Imagga` - Imagga\n* `Interzoid` - Interzoid\n* `IP2Whois` - IP2Whois\n* `KYVE` - KYVE\n* `Marketstack` - Marketstack\n* `Mendeley` - Mendeley\n* `Nasa` - Nasa\n* `NewYorkTimes` - NewYorkTimes\n* `NewsApi` - NewsApi\n* `NewsData` - NewsData\n* `OpenDataDc` - OpenDataDc\n* `OpenExchangeRates` - OpenExchangeRates\n* `OpenAQ` - OpenAQ\n* `OpenFDA` - OpenFDA\n* `OpenWeather` - OpenWeather\n* `Outlook` - Outlook\n* `Perigon` - Perigon\n* `Pexels` - Pexels\n* `Pocket` - Pocket\n* `Polygon` - Polygon\n* `PyPI` - PyPI\n* `Recreation` - Recreation\n* `RKICovid` - RKICovid\n* `Rss` - Rss\n* `SimFin` - SimFin\n* `StockData` - StockData\n* `Guardian` - Guardian\n* `TMDb` - TMDb\n* `TVMaze` - TVMaze\n* `TwelveData` - TwelveData\n* `Ubidots` - Ubidots\n* `USCensus` - USCensus\n* `Watchmode` - Watchmode\n* `WikipediaPageviews` - WikipediaPageviews\n* `YahooFinance` - YahooFinance\n* `Clarifai` - Clarifai\n* `Adapty` - Adapty\n* `Braintrust` - Braintrust\n* `StreamElements` - StreamElements\n* `Streamlabs` - Streamlabs\n* `Datorama` - Datorama\n* `Ahrefs` - Ahrefs\n* `Lightfield` - Lightfield\n* `Appstack` - Appstack\n* `Razorpay` - Razorpay\n* `Neon` - Neon\n* `NewRelic` - NewRelic\n* `Custom` - Custom\n* `Tile38` - Tile38\n* `Chatwoot` - Chatwoot\n* `Sanity` - Sanity\n* `Metronome` - Metronome\n* `Jobber` - Jobber\n* `Knock` - Knock\n* `Leexi` - Leexi\n* `RB2B` - RB2B\n* `Superwall` - Superwall\n* `Liana` - Liana\n* `TawkTo` - TawkTo\n* `Hightouch` - Hightouch\n* `LemonSqueezy` - LemonSqueezy\n* `Ikas` - Ikas\n* `Talkwalker` - Talkwalker\n* `NextdoorAds` - NextdoorAds\n* `AppLovin` - AppLovin\n* `Baserow` - Baserow\n* `Plunk` - Plunk\n* `Dub` - Dub\n* `AirOps` - AirOps\n* `Podium` - Podium\n* `Loops` - Loops\n* `Redis` - Redis\n* `Mercury` - Mercury\n* `Gojiberry` - Gojiberry\n* `Teachable` - Teachable\n* `PeecAI` - PeecAI\n* `Healthchecks` - Healthchecks\n* `Impact` - Impact\n* `AikidoSecurity` - AikidoSecurity\n* `Alguna` - Alguna\n* `Anthropic` - Anthropic\n* `Appwrite` - Appwrite\n* `BlandAI` - BlandAI\n* `BrowseAI` - BrowseAI\n* `BrowserUse` - BrowserUse\n* `ChartHop` - ChartHop\n* `Cody` - Cody\n* `Cursor` - Cursor\n* `Decagon` - Decagon\n* `Deepgram` - Deepgram\n* `ElevenLabs` - ElevenLabs\n* `Harvey` - Harvey\n* `Hyperspell` - Hyperspell\n* `Langfuse` - Langfuse\n* `LingoDev` - LingoDev\n* `M3ter` - M3ter\n* `Maxio` - Maxio\n* `Metorial` - Metorial\n* `OpenRouter` - OpenRouter\n* `TogetherAI` - TogetherAI\n* `Vapi` - Vapi\n* `Vespa` - Vespa\n* `Writesonic` - Writesonic\n* `Aiven` - Aiven\n* `Aviator` - Aviator\n* `Backblaze` - Backblaze\n* `Baseten` - Baseten\n* `Browserbase` - Browserbase\n* `Cohere` - Cohere\n* `DenoDeploy` - DenoDeploy\n* `DigitalOcean` - DigitalOcean\n* `E2B` - E2B\n* `Fintoc` - Fintoc\n* `Firecrawl` - Firecrawl\n* `FireworksAI` - FireworksAI\n* `FlyIo` - FlyIo\n* `Groq` - Groq\n* `GrowthBook` - GrowthBook\n* `Gumloop` - Gumloop\n* `Hatchet` - Hatchet\n* `Helicone` - Helicone\n* `Heroku` - Heroku\n* `Hetzner` - Hetzner\n* `HeyGen` - HeyGen\n* `Infisical` - Infisical\n* `Inngest` - Inngest\n* `KapaAI` - KapaAI\n* `Kernel` - Kernel\n* `Koyeb` - Koyeb\n* `LambdaLabs` - LambdaLabs\n* `LangSmith` - LangSmith\n* `Linode` - Linode\n* `LlamaCloud` - LlamaCloud\n* `Mem0` - Mem0\n* `Metriport` - Metriport\n* `Mintlify` - Mintlify\n* `MistralAI` - MistralAI\n* `Mono` - Mono\n* `Netlify` - Netlify\n* `Northflank` - Northflank\n* `OpenAI` - OpenAI\n* `Pinecone` - Pinecone\n* `PlatformSh` - PlatformSh\n* `PromptingCompany` - PromptingCompany\n* `Qdrant` - Qdrant\n* `Render` - Render\n* `Replicate` - Replicate\n* `RetellAI` - RetellAI\n* `Roark` - Roark\n* `RunPod` - RunPod\n* `ScaleAI` - ScaleAI\n* `Scaleway` - Scaleway\n* `SigNoz` - SigNoz\n* `Sim` - Sim\n* `Skyvern` - Skyvern\n* `Slash` - Slash\n* `Synthesia` - Synthesia\n* `Telli` - Telli\n* `TerraApi` - TerraApi\n* `TriggerDev` - TriggerDev\n* `Turso` - Turso\n* `Singular` - Singular\n* `Swonkie` - Swonkie\n* `TwelveLabs` - TwelveLabs\n* `Twenty` - Twenty\n* `Unstructured` - Unstructured\n* `Upstash` - Upstash\n* `Vellum` - Vellum\n* `Vultr` - Vultr\n* `Windmill` - Windmill\n* `Zep` - Zep\n* `Hex` - Hex"
103131
+ "* `Ashby` - Ashby\n* `Supabase` - Supabase\n* `CustomerIO` - CustomerIO\n* `Github` - Github\n* `Stripe` - Stripe\n* `Hubspot` - Hubspot\n* `Postgres` - Postgres\n* `Zendesk` - Zendesk\n* `Snowflake` - Snowflake\n* `Salesforce` - Salesforce\n* `MySQL` - MySQL\n* `MongoDB` - MongoDB\n* `MSSQL` - MSSQL\n* `Vitally` - Vitally\n* `BigQuery` - BigQuery\n* `Chargebee` - Chargebee\n* `Clerk` - Clerk\n* `GoogleAds` - GoogleAds\n* `GoogleSearchConsole` - GoogleSearchConsole\n* `TemporalIO` - TemporalIO\n* `DoIt` - DoIt\n* `GoogleSheets` - GoogleSheets\n* `MetaAds` - MetaAds\n* `Klaviyo` - Klaviyo\n* `Mailchimp` - Mailchimp\n* `Braze` - Braze\n* `Mailjet` - Mailjet\n* `Redshift` - Redshift\n* `Polar` - Polar\n* `RevenueCat` - RevenueCat\n* `LinkedinAds` - LinkedinAds\n* `RedditAds` - RedditAds\n* `TikTokAds` - TikTokAds\n* `BingAds` - BingAds\n* `Shopify` - Shopify\n* `Attio` - Attio\n* `SnapchatAds` - SnapchatAds\n* `Linear` - Linear\n* `Intercom` - Intercom\n* `Amplitude` - Amplitude\n* `Mixpanel` - Mixpanel\n* `Jira` - Jira\n* `ActiveCampaign` - ActiveCampaign\n* `Marketo` - Marketo\n* `Adjust` - Adjust\n* `AppsFlyer` - AppsFlyer\n* `Freshdesk` - Freshdesk\n* `GoogleAnalytics` - GoogleAnalytics\n* `Pipedrive` - Pipedrive\n* `SendGrid` - SendGrid\n* `Slack` - Slack\n* `PagerDuty` - PagerDuty\n* `Asana` - Asana\n* `Notion` - Notion\n* `Airtable` - Airtable\n* `Greenhouse` - Greenhouse\n* `BambooHR` - BambooHR\n* `Lever` - Lever\n* `GitLab` - GitLab\n* `Datadog` - Datadog\n* `Sentry` - Sentry\n* `Pendo` - Pendo\n* `FullStory` - FullStory\n* `AmazonAds` - AmazonAds\n* `PinterestAds` - PinterestAds\n* `AppleSearchAds` - AppleSearchAds\n* `QuickBooks` - QuickBooks\n* `Xero` - Xero\n* `NetSuite` - NetSuite\n* `WooCommerce` - WooCommerce\n* `BigCommerce` - BigCommerce\n* `PayPal` - PayPal\n* `Square` - Square\n* `Zoom` - Zoom\n* `Trello` - Trello\n* `Monday` - Monday\n* `ClickUp` - ClickUp\n* `Confluence` - Confluence\n* `Recurly` - Recurly\n* `SalesLoft` - SalesLoft\n* `Outreach` - Outreach\n* `Gong` - Gong\n* `Calendly` - Calendly\n* `Typeform` - Typeform\n* `Iterable` - Iterable\n* `ZohoCRM` - ZohoCRM\n* `Close` - Close\n* `Oracle` - Oracle\n* `DynamoDB` - DynamoDB\n* `Elasticsearch` - Elasticsearch\n* `Kafka` - Kafka\n* `LaunchDarkly` - LaunchDarkly\n* `Braintree` - Braintree\n* `Recharge` - Recharge\n* `HelpScout` - HelpScout\n* `Gorgias` - Gorgias\n* `Instagram` - Instagram\n* `YouTubeAnalytics` - YouTubeAnalytics\n* `FacebookPages` - FacebookPages\n* `TwitterAds` - TwitterAds\n* `Workday` - Workday\n* `ServiceNow` - ServiceNow\n* `Pardot` - Pardot\n* `Copper` - Copper\n* `Front` - Front\n* `ChartMogul` - ChartMogul\n* `Zuora` - Zuora\n* `Paddle` - Paddle\n* `CircleCI` - CircleCI\n* `CockroachDB` - CockroachDB\n* `Firebase` - Firebase\n* `AzureBlob` - AzureBlob\n* `GoogleDrive` - GoogleDrive\n* `OneDrive` - OneDrive\n* `SharePoint` - SharePoint\n* `Box` - Box\n* `SFTP` - SFTP\n* `MicrosoftTeams` - MicrosoftTeams\n* `Aircall` - Aircall\n* `Webflow` - Webflow\n* `Okta` - Okta\n* `Auth0` - Auth0\n* `Productboard` - Productboard\n* `Smartsheet` - Smartsheet\n* `Wrike` - Wrike\n* `Plaid` - Plaid\n* `SurveyMonkey` - SurveyMonkey\n* `Eventbrite` - Eventbrite\n* `RingCentral` - RingCentral\n* `Twilio` - Twilio\n* `Freshsales` - Freshsales\n* `Shortcut` - Shortcut\n* `ConvertKit` - ConvertKit\n* `Drip` - Drip\n* `CampaignMonitor` - CampaignMonitor\n* `MailerLite` - MailerLite\n* `Omnisend` - Omnisend\n* `Brevo` - Brevo\n* `Postmark` - Postmark\n* `Granola` - Granola\n* `BuildBetter` - BuildBetter\n* `Convex` - Convex\n* `ClickHouse` - ClickHouse\n* `Plain` - Plain\n* `Resend` - Resend\n* `PgAnalyze` - PgAnalyze\n* `WorkOS` - WorkOS\n* `AmazonS3` - AmazonS3\n* `GoogleCloudStorage` - GoogleCloudStorage\n* `Databricks` - Databricks\n* `Dynamics365` - Dynamics365\n* `SalesforceMarketingCloud` - SalesforceMarketingCloud\n* `Db2` - Db2\n* `Heap` - Heap\n* `AdobeAnalytics` - AdobeAnalytics\n* `Matomo` - Matomo\n* `Optimizely` - Optimizely\n* `Adyen` - Adyen\n* `GoCardless` - GoCardless\n* `Mollie` - Mollie\n* `CheckoutCom` - CheckoutCom\n* `Branch` - Branch\n* `Criteo` - Criteo\n* `Outbrain` - Outbrain\n* `Taboola` - Taboola\n* `AdRoll` - AdRoll\n* `DisplayVideo360` - DisplayVideo360\n* `GoogleAdManager` - GoogleAdManager\n* `CampaignManager360` - CampaignManager360\n* `SearchAds360` - SearchAds360\n* `AdobeCommerce` - AdobeCommerce\n* `AmazonSellingPartner` - AmazonSellingPartner\n* `Ebay` - Ebay\n* `Commercetools` - Commercetools\n* `LightspeedRetail` - LightspeedRetail\n* `ShipStation` - ShipStation\n* `ConstantContact` - ConstantContact\n* `Mailgun` - Mailgun\n* `Eloqua` - Eloqua\n* `Sailthru` - Sailthru\n* `Ortto` - Ortto\n* `Attentive` - Attentive\n* `Kustomer` - Kustomer\n* `Dixa` - Dixa\n* `Gladly` - Gladly\n* `Qualtrics` - Qualtrics\n* `Delighted` - Delighted\n* `AzureDevOps` - AzureDevOps\n* `Rollbar` - Rollbar\n* `Opsgenie` - Opsgenie\n* `IncidentIo` - IncidentIo\n* `Pingdom` - Pingdom\n* `Cloudflare` - Cloudflare\n* `CosmosDB` - CosmosDB\n* `PlanetScale` - PlanetScale\n* `SapHana` - SapHana\n* `Rippling` - Rippling\n* `HiBob` - HiBob\n* `Personio` - Personio\n* `Deel` - Deel\n* `AdpWorkforceNow` - AdpWorkforceNow\n* `Paylocity` - Paylocity\n* `Gusto` - Gusto\n* `CultureAmp` - CultureAmp\n* `Lattice` - Lattice\n* `SageIntacct` - SageIntacct\n* `FreshBooks` - FreshBooks\n* `Expensify` - Expensify\n* `Ramp` - Ramp\n* `Brex` - Brex\n* `Coupa` - Coupa\n* `SapConcur` - SapConcur\n* `Apollo` - Apollo\n* `Crunchbase` - Crunchbase\n* `ZoomInfo` - ZoomInfo\n* `Clari` - Clari\n* `Chorus` - Chorus\n* `Coda` - Coda\n* `Guru` - Guru\n* `Dropbox` - Dropbox\n* `Docusign` - Docusign\n* `PandaDoc` - PandaDoc\n* `SapErp` - SapErp\n* `SapSuccessFactors` - SapSuccessFactors\n* `OracleEbs` - OracleEbs\n* `OracleFusion` - OracleFusion\n* `AmazonSNS` - AmazonSNS\n* `AmazonEventBridge` - AmazonEventBridge\n* `AmazonSQS` - AmazonSQS\n* `AmazonKinesis` - AmazonKinesis\n* `AmazonCloudWatch` - AmazonCloudWatch\n* `OpenAIAds` - OpenAIAds\n* `OneHundredMs` - OneHundredMs\n* `SevenShifts` - SevenShifts\n* `AcuityScheduling` - AcuityScheduling\n* `AgileCRM` - AgileCRM\n* `Aha` - Aha\n* `Airbyte` - Airbyte\n* `Akeneo` - Akeneo\n* `Algolia` - Algolia\n* `AlpacaBrokerAPI` - AlpacaBrokerAPI\n* `ApifyDataset` - ApifyDataset\n* `Appcues` - Appcues\n* `Appfigures` - Appfigures\n* `Appfollow` - Appfollow\n* `Apptivo` - Apptivo\n* `AssemblyAI` - AssemblyAI\n* `Awin` - Awin\n* `AwsCloudTrail` - AwsCloudTrail\n* `AzureTableStorage` - AzureTableStorage\n* `Babelforce` - Babelforce\n* `Basecamp` - Basecamp\n* `Beamer` - Beamer\n* `BigMailer` - BigMailer\n* `Bluetally` - Bluetally\n* `BoldSign` - BoldSign\n* `BreezyHR` - BreezyHR\n* `Bugsnag` - Bugsnag\n* `Buildkite` - Buildkite\n* `Bunny` - Bunny\n* `Buzzsprout` - Buzzsprout\n* `CalCom` - CalCom\n* `CallRail` - CallRail\n* `Campayn` - Campayn\n* `Canny` - Canny\n* `CapsuleCRM` - CapsuleCRM\n* `CaptainData` - CaptainData\n* `CartCom` - CartCom\n* `CastorEDC` - CastorEDC\n* `Chameleon` - Chameleon\n* `Chargedesk` - Chargedesk\n* `Chargify` - Chargify\n* `Chift` - Chift\n* `Churnkey` - Churnkey\n* `Cin7` - Cin7\n* `CiscoMeraki` - CiscoMeraki\n* `Clazar` - Clazar\n* `Clockify` - Clockify\n* `Clockodo` - Clockodo\n* `Cloudbeds` - Cloudbeds\n* `Coassemble` - Coassemble\n* `Codefresh` - Codefresh\n* `Concord` - Concord\n* `ConfigCat` - ConfigCat\n* `Couchbase` - Couchbase\n* `Curve` - Curve\n* `Customerly` - Customerly\n* `Datascope` - Datascope\n* `Dbt` - Dbt\n* `Deputy` - Deputy\n* `DevinAI` - DevinAI\n* `Docuseal` - Docuseal\n* `Dolibarr` - Dolibarr\n* `Dremio` - Dremio\n* `DropboxSign` - DropboxSign\n* `Dwolla` - Dwolla\n* `EConomic` - EConomic\n* `Easypost` - Easypost\n* `Easypromos` - Easypromos\n* `Elasticemail` - Elasticemail\n* `EmailOctopus` - EmailOctopus\n* `EmploymentHero` - EmploymentHero\n* `Encharge` - Encharge\n* `Eventee` - Eventee\n* `Eventzilla` - Eventzilla\n* `Everhour` - Everhour\n* `EZOfficeInventory` - EZOfficeInventory\n* `Factorial` - Factorial\n* `Fastbill` - Fastbill\n* `Fastly` - Fastly\n* `Fauna` - Fauna\n* `Feishu` - Feishu\n* `Fillout` - Fillout\n* `Finage` - Finage\n* `Firebolt` - Firebolt\n* `FireHydrant` - FireHydrant\n* `Fleetio` - Fleetio\n* `Flexmail` - Flexmail\n* `Flexport` - Flexport\n* `FloatApp` - FloatApp\n* `Flowlu` - Flowlu\n* `Formbricks` - Formbricks\n* `FreeAgent` - FreeAgent\n* `Freightview` - Freightview\n* `Freshcaller` - Freshcaller\n* `Freshchat` - Freshchat\n* `Freshservice` - Freshservice\n* `Fulcrum` - Fulcrum\n* `GainsightPx` - GainsightPx\n* `GitBook` - GitBook\n* `Glassfrog` - Glassfrog\n* `Goldcast` - Goldcast\n* `GoLogin` - GoLogin\n* `Grafana` - Grafana\n* `GreytHr` - GreytHr\n* `Gridly` - Gridly\n* `Harness` - Harness\n* `Height` - Height\n* `Hellobaton` - Hellobaton\n* `HighLevel` - HighLevel\n* `HoorayHR` - HoorayHR\n* `Hubplanner` - Hubplanner\n* `Humanitix` - Humanitix\n* `Huntr` - Huntr\n* `Inflowinventory` - Inflowinventory\n* `InforNexus` - InforNexus\n* `Insightful` - Insightful\n* `Insightly` - Insightly\n* `Instantly` - Instantly\n* `Instatus` - Instatus\n* `Intruder` - Intruder\n* `Invoiced` - Invoiced\n* `Invoiceninja` - Invoiceninja\n* `JamfPro` - JamfPro\n* `JobNimbus` - JobNimbus\n* `Jotform` - Jotform\n* `JudgeMeReviews` - JudgeMeReviews\n* `JustCall` - JustCall\n* `JustSift` - JustSift\n* `K6Cloud` - K6Cloud\n* `Katana` - Katana\n* `Keka` - Keka\n* `Kisi` - Kisi\n* `Kissmetrics` - Kissmetrics\n* `Klarna` - Klarna\n* `Klaus` - Klaus\n* `Lago` - Lago\n* `Leadfeeder` - Leadfeeder\n* `Lemlist` - Lemlist\n* `LessAnnoyingCRM` - LessAnnoyingCRM\n* `LinkedinPages` - LinkedinPages\n* `Linkrunner` - Linkrunner\n* `Linnworks` - Linnworks\n* `Lob` - Lob\n* `Lokalise` - Lokalise\n* `Looker` - Looker\n* `Luma` - Luma\n* `MailerSend` - MailerSend\n* `Mailosaur` - Mailosaur\n* `Mailtrap` - Mailtrap\n* `Mantle` - Mantle\n* `Mention` - Mention\n* `MercadoAds` - MercadoAds\n* `Merge` - Merge\n* `Metabase` - Metabase\n* `Metricool` - Metricool\n* `MicrosoftDataverse` - MicrosoftDataverse\n* `MicrosoftEntraId` - MicrosoftEntraId\n* `MicrosoftLists` - MicrosoftLists\n* `Miro` - Miro\n* `Missive` - Missive\n* `MixMax` - MixMax\n* `Mode` - Mode\n* `Mux` - Mux\n* `MyHours` - MyHours\n* `N8n` - N8n\n* `Navan` - Navan\n* `NebiusAI` - NebiusAI\n* `Nexiopay` - Nexiopay\n* `NinjaOneRMM` - NinjaOneRMM\n* `NoCRM` - NoCRM\n* `NorthpassLMS` - NorthpassLMS\n* `Nutshell` - Nutshell\n* `Nylas` - Nylas\n* `Oncehub` - Oncehub\n* `Onepagecrm` - Onepagecrm\n* `OneSignal` - OneSignal\n* `Onfleet` - Onfleet\n* `OpinionStage` - OpinionStage\n* `OPUSWatch` - OPUSWatch\n* `Orb` - Orb\n* `Orbit` - Orbit\n* `Oura` - Oura\n* `Oveit` - Oveit\n* `PabblySubscriptionsBilling` - PabblySubscriptionsBilling\n* `Paperform` - Paperform\n* `Papersign` - Papersign\n* `Partnerize` - Partnerize\n* `PartnerStack` - PartnerStack\n* `PayFit` - PayFit\n* `Paystack` - Paystack\n* `Pennylane` - Pennylane\n* `Perk` - Perk\n* `PersistIq` - PersistIq\n* `Persona` - Persona\n* `Phyllo` - Phyllo\n* `Picqer` - Picqer\n* `Pipeliner` - Pipeliner\n* `PivotalTracker` - PivotalTracker\n* `Piwik` - Piwik\n* `Planhat` - Planhat\n* `Plausible` - Plausible\n* `Poplar` - Poplar\n* `PrestaShop` - PrestaShop\n* `Pretix` - Pretix\n* `Primetric` - Primetric\n* `Printify` - Printify\n* `Productive` - Productive\n* `Pylon` - Pylon\n* `Qonto` - Qonto\n* `Qualaroo` - Qualaroo\n* `Railz` - Railz\n* `RDStationMarketing` - RDStationMarketing\n* `Recruitee` - Recruitee\n* `Reddit` - Reddit\n* `ReferralHero` - ReferralHero\n* `RentCast` - RentCast\n* `Repairshopr` - Repairshopr\n* `ReplyIo` - ReplyIo\n* `RetailExpress` - RetailExpress\n* `Retently` - Retently\n* `RevolutMerchant` - RevolutMerchant\n* `RocketChat` - RocketChat\n* `Rocketlane` - Rocketlane\n* `Rootly` - Rootly\n* `Ruddr` - Ruddr\n* `SafetyCulture` - SafetyCulture\n* `SageHR` - SageHR\n* `Salesflare` - Salesflare\n* `SAPFieldglass` - SAPFieldglass\n* `SavvyCal` - SavvyCal\n* `Secoda` - Secoda\n* `Segment` - Segment\n* `Sendowl` - Sendowl\n* `SendPulse` - SendPulse\n* `Senseforce` - Senseforce\n* `Serpstat` - Serpstat\n* `Sharetribe` - Sharetribe\n* `Shippo` - Shippo\n* `ShopWired` - ShopWired\n* `Shortio` - Shortio\n* `Shutterstock` - Shutterstock\n* `SigmaComputing` - SigmaComputing\n* `SignNow` - SignNow\n* `SimpleCast` - SimpleCast\n* `Simplesat` - Simplesat\n* `Smaily` - Smaily\n* `SmartEngage` - SmartEngage\n* `Smartreach` - Smartreach\n* `Smartwaiver` - Smartwaiver\n* `SolarwindsServiceDesk` - SolarwindsServiceDesk\n* `SonarCloud` - SonarCloud\n* `SparkPost` - SparkPost\n* `SplitIo` - SplitIo\n* `SpotifyAds` - SpotifyAds\n* `SpotlerCRM` - SpotlerCRM\n* `Squarespace` - Squarespace\n* `Statsig` - Statsig\n* `Statuspage` - Statuspage\n* `Stigg` - Stigg\n* `Strava` - Strava\n* `SurveySparrow` - SurveySparrow\n* `Survicate` - Survicate\n* `Svix` - Svix\n* `Systeme` - Systeme\n* `Tavus` - Tavus\n* `Teamtailor` - Teamtailor\n* `Teamwork` - Teamwork\n* `Tempo` - Tempo\n* `Testrail` - Testrail\n* `Thinkific` - Thinkific\n* `ThinkificCourses` - ThinkificCourses\n* `ThriveLearning` - ThriveLearning\n* `Ticketmaster` - Ticketmaster\n* `TicketTailor` - TicketTailor\n* `TickTick` - TickTick\n* `Timely` - Timely\n* `Tinyemail` - Tinyemail\n* `Todoist` - Todoist\n* `Toggl` - Toggl\n* `TrackPMS` - TrackPMS\n* `Tremendous` - Tremendous\n* `TrustPilot` - TrustPilot\n* `Twitter` - Twitter\n* `TyntecSMS` - TyntecSMS\n* `Unleash` - Unleash\n* `UpPromote` - UpPromote\n* `Uptick` - Uptick\n* `Uservoice` - Uservoice\n* `Vantage` - Vantage\n* `Veeqo` - Veeqo\n* `Vercel` - Vercel\n* `VismaEconomic` - VismaEconomic\n* `VWO` - VWO\n* `Waiteraid` - Waiteraid\n* `Wasabi` - Wasabi\n* `WhenIWork` - WhenIWork\n* `Wordpress` - Wordpress\n* `Workable` - Workable\n* `Workflowmax` - Workflowmax\n* `Workramp` - Workramp\n* `Wufoo` - Wufoo\n* `Xsolla` - Xsolla\n* `YandexMetrica` - YandexMetrica\n* `Yotpo` - Yotpo\n* `Ynab` - Ynab\n* `Younium` - Younium\n* `YouSign` - YouSign\n* `YoutubeData` - YoutubeData\n* `ZapierSupportedStorage` - ZapierSupportedStorage\n* `ZapSign` - ZapSign\n* `ZendeskSell` - ZendeskSell\n* `ZendeskSunshine` - ZendeskSunshine\n* `Zenefits` - Zenefits\n* `Zenloop` - Zenloop\n* `ZohoAnalytics` - ZohoAnalytics\n* `ZohoBigin` - ZohoBigin\n* `ZohoBilling` - ZohoBilling\n* `ZohoBooks` - ZohoBooks\n* `ZohoCampaign` - ZohoCampaign\n* `ZohoDesk` - ZohoDesk\n* `ZohoExpense` - ZohoExpense\n* `ZohoInventory` - ZohoInventory\n* `ZohoInvoice` - ZohoInvoice\n* `ZonkaFeedback` - ZonkaFeedback\n* `AlphaVantage` - AlphaVantage\n* `Aviationstack` - Aviationstack\n* `Bitly` - Bitly\n* `Blogger` - Blogger\n* `Breezometer` - Breezometer\n* `CareQualityCommission` - CareQualityCommission\n* `Cimis` - Cimis\n* `CoinApi` - CoinApi\n* `CoinGecko` - CoinGecko\n* `CoinMarketCap` - CoinMarketCap\n* `DingConnect` - DingConnect\n* `Dockerhub` - Dockerhub\n* `ExchangeRatesApi` - ExchangeRatesApi\n* `FinancialModelling` - FinancialModelling\n* `Finnhub` - Finnhub\n* `Finnworlds` - Finnworlds\n* `Giphy` - Giphy\n* `Gmail` - Gmail\n* `GNews` - GNews\n* `GoogleCalendar` - GoogleCalendar\n* `GoogleClassroom` - GoogleClassroom\n* `GoogleDirectory` - GoogleDirectory\n* `GoogleForms` - GoogleForms\n* `GooglePageSpeedInsights` - GooglePageSpeedInsights\n* `GoogleTasks` - GoogleTasks\n* `GoogleWebfonts` - GoogleWebfonts\n* `GoogleWorkspaceAdminReports` - GoogleWorkspaceAdminReports\n* `HuggingFace` - HuggingFace\n* `IlluminaBasespace` - IlluminaBasespace\n* `Imagga` - Imagga\n* `Interzoid` - Interzoid\n* `IP2Whois` - IP2Whois\n* `KYVE` - KYVE\n* `Marketstack` - Marketstack\n* `Mendeley` - Mendeley\n* `Nasa` - Nasa\n* `NewYorkTimes` - NewYorkTimes\n* `NewsApi` - NewsApi\n* `NewsData` - NewsData\n* `OpenDataDc` - OpenDataDc\n* `OpenExchangeRates` - OpenExchangeRates\n* `OpenAQ` - OpenAQ\n* `OpenFDA` - OpenFDA\n* `OpenWeather` - OpenWeather\n* `Outlook` - Outlook\n* `Perigon` - Perigon\n* `Pexels` - Pexels\n* `Pocket` - Pocket\n* `Polygon` - Polygon\n* `PyPI` - PyPI\n* `Recreation` - Recreation\n* `RKICovid` - RKICovid\n* `Rss` - Rss\n* `SimFin` - SimFin\n* `StockData` - StockData\n* `Guardian` - Guardian\n* `TMDb` - TMDb\n* `TVMaze` - TVMaze\n* `TwelveData` - TwelveData\n* `Ubidots` - Ubidots\n* `USCensus` - USCensus\n* `Watchmode` - Watchmode\n* `WikipediaPageviews` - WikipediaPageviews\n* `YahooFinance` - YahooFinance\n* `Clarifai` - Clarifai\n* `Adapty` - Adapty\n* `Braintrust` - Braintrust\n* `StreamElements` - StreamElements\n* `Streamlabs` - Streamlabs\n* `Datorama` - Datorama\n* `Ahrefs` - Ahrefs\n* `Lightfield` - Lightfield\n* `Appstack` - Appstack\n* `Razorpay` - Razorpay\n* `Neon` - Neon\n* `NewRelic` - NewRelic\n* `Custom` - Custom\n* `Tile38` - Tile38\n* `Chatwoot` - Chatwoot\n* `Sanity` - Sanity\n* `Metronome` - Metronome\n* `Jobber` - Jobber\n* `Knock` - Knock\n* `Leexi` - Leexi\n* `RB2B` - RB2B\n* `Superwall` - Superwall\n* `Liana` - Liana\n* `TawkTo` - TawkTo\n* `Hightouch` - Hightouch\n* `LemonSqueezy` - LemonSqueezy\n* `Ikas` - Ikas\n* `Talkwalker` - Talkwalker\n* `NextdoorAds` - NextdoorAds\n* `AppLovin` - AppLovin\n* `Baserow` - Baserow\n* `Plunk` - Plunk\n* `Dub` - Dub\n* `AirOps` - AirOps\n* `Podium` - Podium\n* `Loops` - Loops\n* `Redis` - Redis\n* `Mercury` - Mercury\n* `Gojiberry` - Gojiberry\n* `Teachable` - Teachable\n* `PeecAI` - PeecAI\n* `Healthchecks` - Healthchecks\n* `Impact` - Impact\n* `AikidoSecurity` - AikidoSecurity\n* `Alguna` - Alguna\n* `Anthropic` - Anthropic\n* `Appwrite` - Appwrite\n* `BlandAI` - BlandAI\n* `BrowseAI` - BrowseAI\n* `BrowserUse` - BrowserUse\n* `ChartHop` - ChartHop\n* `Cody` - Cody\n* `Cursor` - Cursor\n* `Decagon` - Decagon\n* `Deepgram` - Deepgram\n* `ElevenLabs` - ElevenLabs\n* `Harvey` - Harvey\n* `Hyperspell` - Hyperspell\n* `Langfuse` - Langfuse\n* `LingoDev` - LingoDev\n* `M3ter` - M3ter\n* `Maxio` - Maxio\n* `Metorial` - Metorial\n* `OpenRouter` - OpenRouter\n* `TogetherAI` - TogetherAI\n* `Vapi` - Vapi\n* `Vespa` - Vespa\n* `Writesonic` - Writesonic\n* `Aiven` - Aiven\n* `Aviator` - Aviator\n* `Backblaze` - Backblaze\n* `Baseten` - Baseten\n* `Browserbase` - Browserbase\n* `Cohere` - Cohere\n* `DenoDeploy` - DenoDeploy\n* `DigitalOcean` - DigitalOcean\n* `E2B` - E2B\n* `Fintoc` - Fintoc\n* `Firecrawl` - Firecrawl\n* `FireworksAI` - FireworksAI\n* `FlyIo` - FlyIo\n* `Groq` - Groq\n* `GrowthBook` - GrowthBook\n* `Gumloop` - Gumloop\n* `Hatchet` - Hatchet\n* `Helicone` - Helicone\n* `Heroku` - Heroku\n* `Hetzner` - Hetzner\n* `HeyGen` - HeyGen\n* `Infisical` - Infisical\n* `Inngest` - Inngest\n* `KapaAI` - KapaAI\n* `Kernel` - Kernel\n* `Koyeb` - Koyeb\n* `LambdaLabs` - LambdaLabs\n* `LangSmith` - LangSmith\n* `Linode` - Linode\n* `LlamaCloud` - LlamaCloud\n* `Mem0` - Mem0\n* `Metriport` - Metriport\n* `Mintlify` - Mintlify\n* `MistralAI` - MistralAI\n* `Mono` - Mono\n* `Netlify` - Netlify\n* `Northflank` - Northflank\n* `OpenAI` - OpenAI\n* `Pinecone` - Pinecone\n* `PlatformSh` - PlatformSh\n* `PromptingCompany` - PromptingCompany\n* `Qdrant` - Qdrant\n* `Render` - Render\n* `Replicate` - Replicate\n* `RetellAI` - RetellAI\n* `Roark` - Roark\n* `RunPod` - RunPod\n* `ScaleAI` - ScaleAI\n* `Scaleway` - Scaleway\n* `SigNoz` - SigNoz\n* `Sim` - Sim\n* `Skyvern` - Skyvern\n* `Slash` - Slash\n* `Synthesia` - Synthesia\n* `Telli` - Telli\n* `TerraApi` - TerraApi\n* `TriggerDev` - TriggerDev\n* `Turso` - Turso\n* `Singular` - Singular\n* `Swonkie` - Swonkie\n* `TwelveLabs` - TwelveLabs\n* `Twenty` - Twenty\n* `Unstructured` - Unstructured\n* `Upstash` - Upstash\n* `Vellum` - Vellum\n* `Vultr` - Vultr\n* `Windmill` - Windmill\n* `Zep` - Zep\n* `Hex` - Hex\n* `Sumsub` - Sumsub\n* `GoogleChat` - GoogleChat\n* `Kickscale` - Kickscale\n* `Zellify` - Zellify\n* `RudderStack` - RudderStack"
102975
103132
  ).describe(
102976
- "The source type (e.g. 'Postgres', 'Stripe').\n\n* `Ashby` - Ashby\n* `Supabase` - Supabase\n* `CustomerIO` - CustomerIO\n* `Github` - Github\n* `Stripe` - Stripe\n* `Hubspot` - Hubspot\n* `Postgres` - Postgres\n* `Zendesk` - Zendesk\n* `Snowflake` - Snowflake\n* `Salesforce` - Salesforce\n* `MySQL` - MySQL\n* `MongoDB` - MongoDB\n* `MSSQL` - MSSQL\n* `Vitally` - Vitally\n* `BigQuery` - BigQuery\n* `Chargebee` - Chargebee\n* `Clerk` - Clerk\n* `GoogleAds` - GoogleAds\n* `GoogleSearchConsole` - GoogleSearchConsole\n* `TemporalIO` - TemporalIO\n* `DoIt` - DoIt\n* `GoogleSheets` - GoogleSheets\n* `MetaAds` - MetaAds\n* `Klaviyo` - Klaviyo\n* `Mailchimp` - Mailchimp\n* `Braze` - Braze\n* `Mailjet` - Mailjet\n* `Redshift` - Redshift\n* `Polar` - Polar\n* `RevenueCat` - RevenueCat\n* `LinkedinAds` - LinkedinAds\n* `RedditAds` - RedditAds\n* `TikTokAds` - TikTokAds\n* `BingAds` - BingAds\n* `Shopify` - Shopify\n* `Attio` - Attio\n* `SnapchatAds` - SnapchatAds\n* `Linear` - Linear\n* `Intercom` - Intercom\n* `Amplitude` - Amplitude\n* `Mixpanel` - Mixpanel\n* `Jira` - Jira\n* `ActiveCampaign` - ActiveCampaign\n* `Marketo` - Marketo\n* `Adjust` - Adjust\n* `AppsFlyer` - AppsFlyer\n* `Freshdesk` - Freshdesk\n* `GoogleAnalytics` - GoogleAnalytics\n* `Pipedrive` - Pipedrive\n* `SendGrid` - SendGrid\n* `Slack` - Slack\n* `PagerDuty` - PagerDuty\n* `Asana` - Asana\n* `Notion` - Notion\n* `Airtable` - Airtable\n* `Greenhouse` - Greenhouse\n* `BambooHR` - BambooHR\n* `Lever` - Lever\n* `GitLab` - GitLab\n* `Datadog` - Datadog\n* `Sentry` - Sentry\n* `Pendo` - Pendo\n* `FullStory` - FullStory\n* `AmazonAds` - AmazonAds\n* `PinterestAds` - PinterestAds\n* `AppleSearchAds` - AppleSearchAds\n* `QuickBooks` - QuickBooks\n* `Xero` - Xero\n* `NetSuite` - NetSuite\n* `WooCommerce` - WooCommerce\n* `BigCommerce` - BigCommerce\n* `PayPal` - PayPal\n* `Square` - Square\n* `Zoom` - Zoom\n* `Trello` - Trello\n* `Monday` - Monday\n* `ClickUp` - ClickUp\n* `Confluence` - Confluence\n* `Recurly` - Recurly\n* `SalesLoft` - SalesLoft\n* `Outreach` - Outreach\n* `Gong` - Gong\n* `Calendly` - Calendly\n* `Typeform` - Typeform\n* `Iterable` - Iterable\n* `ZohoCRM` - ZohoCRM\n* `Close` - Close\n* `Oracle` - Oracle\n* `DynamoDB` - DynamoDB\n* `Elasticsearch` - Elasticsearch\n* `Kafka` - Kafka\n* `LaunchDarkly` - LaunchDarkly\n* `Braintree` - Braintree\n* `Recharge` - Recharge\n* `HelpScout` - HelpScout\n* `Gorgias` - Gorgias\n* `Instagram` - Instagram\n* `YouTubeAnalytics` - YouTubeAnalytics\n* `FacebookPages` - FacebookPages\n* `TwitterAds` - TwitterAds\n* `Workday` - Workday\n* `ServiceNow` - ServiceNow\n* `Pardot` - Pardot\n* `Copper` - Copper\n* `Front` - Front\n* `ChartMogul` - ChartMogul\n* `Zuora` - Zuora\n* `Paddle` - Paddle\n* `CircleCI` - CircleCI\n* `CockroachDB` - CockroachDB\n* `Firebase` - Firebase\n* `AzureBlob` - AzureBlob\n* `GoogleDrive` - GoogleDrive\n* `OneDrive` - OneDrive\n* `SharePoint` - SharePoint\n* `Box` - Box\n* `SFTP` - SFTP\n* `MicrosoftTeams` - MicrosoftTeams\n* `Aircall` - Aircall\n* `Webflow` - Webflow\n* `Okta` - Okta\n* `Auth0` - Auth0\n* `Productboard` - Productboard\n* `Smartsheet` - Smartsheet\n* `Wrike` - Wrike\n* `Plaid` - Plaid\n* `SurveyMonkey` - SurveyMonkey\n* `Eventbrite` - Eventbrite\n* `RingCentral` - RingCentral\n* `Twilio` - Twilio\n* `Freshsales` - Freshsales\n* `Shortcut` - Shortcut\n* `ConvertKit` - ConvertKit\n* `Drip` - Drip\n* `CampaignMonitor` - CampaignMonitor\n* `MailerLite` - MailerLite\n* `Omnisend` - Omnisend\n* `Brevo` - Brevo\n* `Postmark` - Postmark\n* `Granola` - Granola\n* `BuildBetter` - BuildBetter\n* `Convex` - Convex\n* `ClickHouse` - ClickHouse\n* `Plain` - Plain\n* `Resend` - Resend\n* `PgAnalyze` - PgAnalyze\n* `WorkOS` - WorkOS\n* `AmazonS3` - AmazonS3\n* `GoogleCloudStorage` - GoogleCloudStorage\n* `Databricks` - Databricks\n* `Dynamics365` - Dynamics365\n* `SalesforceMarketingCloud` - SalesforceMarketingCloud\n* `Db2` - Db2\n* `Heap` - Heap\n* `AdobeAnalytics` - AdobeAnalytics\n* `Matomo` - Matomo\n* `Optimizely` - Optimizely\n* `Adyen` - Adyen\n* `GoCardless` - GoCardless\n* `Mollie` - Mollie\n* `CheckoutCom` - CheckoutCom\n* `Branch` - Branch\n* `Criteo` - Criteo\n* `Outbrain` - Outbrain\n* `Taboola` - Taboola\n* `AdRoll` - AdRoll\n* `DisplayVideo360` - DisplayVideo360\n* `GoogleAdManager` - GoogleAdManager\n* `CampaignManager360` - CampaignManager360\n* `SearchAds360` - SearchAds360\n* `AdobeCommerce` - AdobeCommerce\n* `AmazonSellingPartner` - AmazonSellingPartner\n* `Ebay` - Ebay\n* `Commercetools` - Commercetools\n* `LightspeedRetail` - LightspeedRetail\n* `ShipStation` - ShipStation\n* `ConstantContact` - ConstantContact\n* `Mailgun` - Mailgun\n* `Eloqua` - Eloqua\n* `Sailthru` - Sailthru\n* `Ortto` - Ortto\n* `Attentive` - Attentive\n* `Kustomer` - Kustomer\n* `Dixa` - Dixa\n* `Gladly` - Gladly\n* `Qualtrics` - Qualtrics\n* `Delighted` - Delighted\n* `AzureDevOps` - AzureDevOps\n* `Rollbar` - Rollbar\n* `Opsgenie` - Opsgenie\n* `IncidentIo` - IncidentIo\n* `Pingdom` - Pingdom\n* `Cloudflare` - Cloudflare\n* `CosmosDB` - CosmosDB\n* `PlanetScale` - PlanetScale\n* `SapHana` - SapHana\n* `Rippling` - Rippling\n* `HiBob` - HiBob\n* `Personio` - Personio\n* `Deel` - Deel\n* `AdpWorkforceNow` - AdpWorkforceNow\n* `Paylocity` - Paylocity\n* `Gusto` - Gusto\n* `CultureAmp` - CultureAmp\n* `Lattice` - Lattice\n* `SageIntacct` - SageIntacct\n* `FreshBooks` - FreshBooks\n* `Expensify` - Expensify\n* `Ramp` - Ramp\n* `Brex` - Brex\n* `Coupa` - Coupa\n* `SapConcur` - SapConcur\n* `Apollo` - Apollo\n* `Crunchbase` - Crunchbase\n* `ZoomInfo` - ZoomInfo\n* `Clari` - Clari\n* `Chorus` - Chorus\n* `Coda` - Coda\n* `Guru` - Guru\n* `Dropbox` - Dropbox\n* `Docusign` - Docusign\n* `PandaDoc` - PandaDoc\n* `SapErp` - SapErp\n* `SapSuccessFactors` - SapSuccessFactors\n* `OracleEbs` - OracleEbs\n* `OracleFusion` - OracleFusion\n* `AmazonSNS` - AmazonSNS\n* `AmazonEventBridge` - AmazonEventBridge\n* `AmazonSQS` - AmazonSQS\n* `AmazonKinesis` - AmazonKinesis\n* `AmazonCloudWatch` - AmazonCloudWatch\n* `OpenAIAds` - OpenAIAds\n* `OneHundredMs` - OneHundredMs\n* `SevenShifts` - SevenShifts\n* `AcuityScheduling` - AcuityScheduling\n* `AgileCRM` - AgileCRM\n* `Aha` - Aha\n* `Airbyte` - Airbyte\n* `Akeneo` - Akeneo\n* `Algolia` - Algolia\n* `AlpacaBrokerAPI` - AlpacaBrokerAPI\n* `ApifyDataset` - ApifyDataset\n* `Appcues` - Appcues\n* `Appfigures` - Appfigures\n* `Appfollow` - Appfollow\n* `Apptivo` - Apptivo\n* `AssemblyAI` - AssemblyAI\n* `Awin` - Awin\n* `AwsCloudTrail` - AwsCloudTrail\n* `AzureTableStorage` - AzureTableStorage\n* `Babelforce` - Babelforce\n* `Basecamp` - Basecamp\n* `Beamer` - Beamer\n* `BigMailer` - BigMailer\n* `Bluetally` - Bluetally\n* `BoldSign` - BoldSign\n* `BreezyHR` - BreezyHR\n* `Bugsnag` - Bugsnag\n* `Buildkite` - Buildkite\n* `Bunny` - Bunny\n* `Buzzsprout` - Buzzsprout\n* `CalCom` - CalCom\n* `CallRail` - CallRail\n* `Campayn` - Campayn\n* `Canny` - Canny\n* `CapsuleCRM` - CapsuleCRM\n* `CaptainData` - CaptainData\n* `CartCom` - CartCom\n* `CastorEDC` - CastorEDC\n* `Chameleon` - Chameleon\n* `Chargedesk` - Chargedesk\n* `Chargify` - Chargify\n* `Chift` - Chift\n* `Churnkey` - Churnkey\n* `Cin7` - Cin7\n* `CiscoMeraki` - CiscoMeraki\n* `Clazar` - Clazar\n* `Clockify` - Clockify\n* `Clockodo` - Clockodo\n* `Cloudbeds` - Cloudbeds\n* `Coassemble` - Coassemble\n* `Codefresh` - Codefresh\n* `Concord` - Concord\n* `ConfigCat` - ConfigCat\n* `Couchbase` - Couchbase\n* `Curve` - Curve\n* `Customerly` - Customerly\n* `Datascope` - Datascope\n* `Dbt` - Dbt\n* `Deputy` - Deputy\n* `DevinAI` - DevinAI\n* `Docuseal` - Docuseal\n* `Dolibarr` - Dolibarr\n* `Dremio` - Dremio\n* `DropboxSign` - DropboxSign\n* `Dwolla` - Dwolla\n* `EConomic` - EConomic\n* `Easypost` - Easypost\n* `Easypromos` - Easypromos\n* `Elasticemail` - Elasticemail\n* `EmailOctopus` - EmailOctopus\n* `EmploymentHero` - EmploymentHero\n* `Encharge` - Encharge\n* `Eventee` - Eventee\n* `Eventzilla` - Eventzilla\n* `Everhour` - Everhour\n* `EZOfficeInventory` - EZOfficeInventory\n* `Factorial` - Factorial\n* `Fastbill` - Fastbill\n* `Fastly` - Fastly\n* `Fauna` - Fauna\n* `Feishu` - Feishu\n* `Fillout` - Fillout\n* `Finage` - Finage\n* `Firebolt` - Firebolt\n* `FireHydrant` - FireHydrant\n* `Fleetio` - Fleetio\n* `Flexmail` - Flexmail\n* `Flexport` - Flexport\n* `FloatApp` - FloatApp\n* `Flowlu` - Flowlu\n* `Formbricks` - Formbricks\n* `FreeAgent` - FreeAgent\n* `Freightview` - Freightview\n* `Freshcaller` - Freshcaller\n* `Freshchat` - Freshchat\n* `Freshservice` - Freshservice\n* `Fulcrum` - Fulcrum\n* `GainsightPx` - GainsightPx\n* `GitBook` - GitBook\n* `Glassfrog` - Glassfrog\n* `Goldcast` - Goldcast\n* `GoLogin` - GoLogin\n* `Grafana` - Grafana\n* `GreytHr` - GreytHr\n* `Gridly` - Gridly\n* `Harness` - Harness\n* `Height` - Height\n* `Hellobaton` - Hellobaton\n* `HighLevel` - HighLevel\n* `HoorayHR` - HoorayHR\n* `Hubplanner` - Hubplanner\n* `Humanitix` - Humanitix\n* `Huntr` - Huntr\n* `Inflowinventory` - Inflowinventory\n* `InforNexus` - InforNexus\n* `Insightful` - Insightful\n* `Insightly` - Insightly\n* `Instantly` - Instantly\n* `Instatus` - Instatus\n* `Intruder` - Intruder\n* `Invoiced` - Invoiced\n* `Invoiceninja` - Invoiceninja\n* `JamfPro` - JamfPro\n* `JobNimbus` - JobNimbus\n* `Jotform` - Jotform\n* `JudgeMeReviews` - JudgeMeReviews\n* `JustCall` - JustCall\n* `JustSift` - JustSift\n* `K6Cloud` - K6Cloud\n* `Katana` - Katana\n* `Keka` - Keka\n* `Kisi` - Kisi\n* `Kissmetrics` - Kissmetrics\n* `Klarna` - Klarna\n* `Klaus` - Klaus\n* `Lago` - Lago\n* `Leadfeeder` - Leadfeeder\n* `Lemlist` - Lemlist\n* `LessAnnoyingCRM` - LessAnnoyingCRM\n* `LinkedinPages` - LinkedinPages\n* `Linkrunner` - Linkrunner\n* `Linnworks` - Linnworks\n* `Lob` - Lob\n* `Lokalise` - Lokalise\n* `Looker` - Looker\n* `Luma` - Luma\n* `MailerSend` - MailerSend\n* `Mailosaur` - Mailosaur\n* `Mailtrap` - Mailtrap\n* `Mantle` - Mantle\n* `Mention` - Mention\n* `MercadoAds` - MercadoAds\n* `Merge` - Merge\n* `Metabase` - Metabase\n* `Metricool` - Metricool\n* `MicrosoftDataverse` - MicrosoftDataverse\n* `MicrosoftEntraId` - MicrosoftEntraId\n* `MicrosoftLists` - MicrosoftLists\n* `Miro` - Miro\n* `Missive` - Missive\n* `MixMax` - MixMax\n* `Mode` - Mode\n* `Mux` - Mux\n* `MyHours` - MyHours\n* `N8n` - N8n\n* `Navan` - Navan\n* `NebiusAI` - NebiusAI\n* `Nexiopay` - Nexiopay\n* `NinjaOneRMM` - NinjaOneRMM\n* `NoCRM` - NoCRM\n* `NorthpassLMS` - NorthpassLMS\n* `Nutshell` - Nutshell\n* `Nylas` - Nylas\n* `Oncehub` - Oncehub\n* `Onepagecrm` - Onepagecrm\n* `OneSignal` - OneSignal\n* `Onfleet` - Onfleet\n* `OpinionStage` - OpinionStage\n* `OPUSWatch` - OPUSWatch\n* `Orb` - Orb\n* `Orbit` - Orbit\n* `Oura` - Oura\n* `Oveit` - Oveit\n* `PabblySubscriptionsBilling` - PabblySubscriptionsBilling\n* `Paperform` - Paperform\n* `Papersign` - Papersign\n* `Partnerize` - Partnerize\n* `PartnerStack` - PartnerStack\n* `PayFit` - PayFit\n* `Paystack` - Paystack\n* `Pennylane` - Pennylane\n* `Perk` - Perk\n* `PersistIq` - PersistIq\n* `Persona` - Persona\n* `Phyllo` - Phyllo\n* `Picqer` - Picqer\n* `Pipeliner` - Pipeliner\n* `PivotalTracker` - PivotalTracker\n* `Piwik` - Piwik\n* `Planhat` - Planhat\n* `Plausible` - Plausible\n* `Poplar` - Poplar\n* `PrestaShop` - PrestaShop\n* `Pretix` - Pretix\n* `Primetric` - Primetric\n* `Printify` - Printify\n* `Productive` - Productive\n* `Pylon` - Pylon\n* `Qonto` - Qonto\n* `Qualaroo` - Qualaroo\n* `Railz` - Railz\n* `RDStationMarketing` - RDStationMarketing\n* `Recruitee` - Recruitee\n* `Reddit` - Reddit\n* `ReferralHero` - ReferralHero\n* `RentCast` - RentCast\n* `Repairshopr` - Repairshopr\n* `ReplyIo` - ReplyIo\n* `RetailExpress` - RetailExpress\n* `Retently` - Retently\n* `RevolutMerchant` - RevolutMerchant\n* `RocketChat` - RocketChat\n* `Rocketlane` - Rocketlane\n* `Rootly` - Rootly\n* `Ruddr` - Ruddr\n* `SafetyCulture` - SafetyCulture\n* `SageHR` - SageHR\n* `Salesflare` - Salesflare\n* `SAPFieldglass` - SAPFieldglass\n* `SavvyCal` - SavvyCal\n* `Secoda` - Secoda\n* `Segment` - Segment\n* `Sendowl` - Sendowl\n* `SendPulse` - SendPulse\n* `Senseforce` - Senseforce\n* `Serpstat` - Serpstat\n* `Sharetribe` - Sharetribe\n* `Shippo` - Shippo\n* `ShopWired` - ShopWired\n* `Shortio` - Shortio\n* `Shutterstock` - Shutterstock\n* `SigmaComputing` - SigmaComputing\n* `SignNow` - SignNow\n* `SimpleCast` - SimpleCast\n* `Simplesat` - Simplesat\n* `Smaily` - Smaily\n* `SmartEngage` - SmartEngage\n* `Smartreach` - Smartreach\n* `Smartwaiver` - Smartwaiver\n* `SolarwindsServiceDesk` - SolarwindsServiceDesk\n* `SonarCloud` - SonarCloud\n* `SparkPost` - SparkPost\n* `SplitIo` - SplitIo\n* `SpotifyAds` - SpotifyAds\n* `SpotlerCRM` - SpotlerCRM\n* `Squarespace` - Squarespace\n* `Statsig` - Statsig\n* `Statuspage` - Statuspage\n* `Stigg` - Stigg\n* `Strava` - Strava\n* `SurveySparrow` - SurveySparrow\n* `Survicate` - Survicate\n* `Svix` - Svix\n* `Systeme` - Systeme\n* `Tavus` - Tavus\n* `Teamtailor` - Teamtailor\n* `Teamwork` - Teamwork\n* `Tempo` - Tempo\n* `Testrail` - Testrail\n* `Thinkific` - Thinkific\n* `ThinkificCourses` - ThinkificCourses\n* `ThriveLearning` - ThriveLearning\n* `Ticketmaster` - Ticketmaster\n* `TicketTailor` - TicketTailor\n* `TickTick` - TickTick\n* `Timely` - Timely\n* `Tinyemail` - Tinyemail\n* `Todoist` - Todoist\n* `Toggl` - Toggl\n* `TrackPMS` - TrackPMS\n* `Tremendous` - Tremendous\n* `TrustPilot` - TrustPilot\n* `Twitter` - Twitter\n* `TyntecSMS` - TyntecSMS\n* `Unleash` - Unleash\n* `UpPromote` - UpPromote\n* `Uptick` - Uptick\n* `Uservoice` - Uservoice\n* `Vantage` - Vantage\n* `Veeqo` - Veeqo\n* `Vercel` - Vercel\n* `VismaEconomic` - VismaEconomic\n* `VWO` - VWO\n* `Waiteraid` - Waiteraid\n* `Wasabi` - Wasabi\n* `WhenIWork` - WhenIWork\n* `Wordpress` - Wordpress\n* `Workable` - Workable\n* `Workflowmax` - Workflowmax\n* `Workramp` - Workramp\n* `Wufoo` - Wufoo\n* `Xsolla` - Xsolla\n* `YandexMetrica` - YandexMetrica\n* `Yotpo` - Yotpo\n* `Ynab` - Ynab\n* `Younium` - Younium\n* `YouSign` - YouSign\n* `YoutubeData` - YoutubeData\n* `ZapierSupportedStorage` - ZapierSupportedStorage\n* `ZapSign` - ZapSign\n* `ZendeskSell` - ZendeskSell\n* `ZendeskSunshine` - ZendeskSunshine\n* `Zenefits` - Zenefits\n* `Zenloop` - Zenloop\n* `ZohoAnalytics` - ZohoAnalytics\n* `ZohoBigin` - ZohoBigin\n* `ZohoBilling` - ZohoBilling\n* `ZohoBooks` - ZohoBooks\n* `ZohoCampaign` - ZohoCampaign\n* `ZohoDesk` - ZohoDesk\n* `ZohoExpense` - ZohoExpense\n* `ZohoInventory` - ZohoInventory\n* `ZohoInvoice` - ZohoInvoice\n* `ZonkaFeedback` - ZonkaFeedback\n* `AlphaVantage` - AlphaVantage\n* `Aviationstack` - Aviationstack\n* `Bitly` - Bitly\n* `Blogger` - Blogger\n* `Breezometer` - Breezometer\n* `CareQualityCommission` - CareQualityCommission\n* `Cimis` - Cimis\n* `CoinApi` - CoinApi\n* `CoinGecko` - CoinGecko\n* `CoinMarketCap` - CoinMarketCap\n* `DingConnect` - DingConnect\n* `Dockerhub` - Dockerhub\n* `ExchangeRatesApi` - ExchangeRatesApi\n* `FinancialModelling` - FinancialModelling\n* `Finnhub` - Finnhub\n* `Finnworlds` - Finnworlds\n* `Giphy` - Giphy\n* `Gmail` - Gmail\n* `GNews` - GNews\n* `GoogleCalendar` - GoogleCalendar\n* `GoogleClassroom` - GoogleClassroom\n* `GoogleDirectory` - GoogleDirectory\n* `GoogleForms` - GoogleForms\n* `GooglePageSpeedInsights` - GooglePageSpeedInsights\n* `GoogleTasks` - GoogleTasks\n* `GoogleWebfonts` - GoogleWebfonts\n* `GoogleWorkspaceAdminReports` - GoogleWorkspaceAdminReports\n* `HuggingFace` - HuggingFace\n* `IlluminaBasespace` - IlluminaBasespace\n* `Imagga` - Imagga\n* `Interzoid` - Interzoid\n* `IP2Whois` - IP2Whois\n* `KYVE` - KYVE\n* `Marketstack` - Marketstack\n* `Mendeley` - Mendeley\n* `Nasa` - Nasa\n* `NewYorkTimes` - NewYorkTimes\n* `NewsApi` - NewsApi\n* `NewsData` - NewsData\n* `OpenDataDc` - OpenDataDc\n* `OpenExchangeRates` - OpenExchangeRates\n* `OpenAQ` - OpenAQ\n* `OpenFDA` - OpenFDA\n* `OpenWeather` - OpenWeather\n* `Outlook` - Outlook\n* `Perigon` - Perigon\n* `Pexels` - Pexels\n* `Pocket` - Pocket\n* `Polygon` - Polygon\n* `PyPI` - PyPI\n* `Recreation` - Recreation\n* `RKICovid` - RKICovid\n* `Rss` - Rss\n* `SimFin` - SimFin\n* `StockData` - StockData\n* `Guardian` - Guardian\n* `TMDb` - TMDb\n* `TVMaze` - TVMaze\n* `TwelveData` - TwelveData\n* `Ubidots` - Ubidots\n* `USCensus` - USCensus\n* `Watchmode` - Watchmode\n* `WikipediaPageviews` - WikipediaPageviews\n* `YahooFinance` - YahooFinance\n* `Clarifai` - Clarifai\n* `Adapty` - Adapty\n* `Braintrust` - Braintrust\n* `StreamElements` - StreamElements\n* `Streamlabs` - Streamlabs\n* `Datorama` - Datorama\n* `Ahrefs` - Ahrefs\n* `Lightfield` - Lightfield\n* `Appstack` - Appstack\n* `Razorpay` - Razorpay\n* `Neon` - Neon\n* `NewRelic` - NewRelic\n* `Custom` - Custom\n* `Tile38` - Tile38\n* `Chatwoot` - Chatwoot\n* `Sanity` - Sanity\n* `Metronome` - Metronome\n* `Jobber` - Jobber\n* `Knock` - Knock\n* `Leexi` - Leexi\n* `RB2B` - RB2B\n* `Superwall` - Superwall\n* `Liana` - Liana\n* `TawkTo` - TawkTo\n* `Hightouch` - Hightouch\n* `LemonSqueezy` - LemonSqueezy\n* `Ikas` - Ikas\n* `Talkwalker` - Talkwalker\n* `NextdoorAds` - NextdoorAds\n* `AppLovin` - AppLovin\n* `Baserow` - Baserow\n* `Plunk` - Plunk\n* `Dub` - Dub\n* `AirOps` - AirOps\n* `Podium` - Podium\n* `Loops` - Loops\n* `Redis` - Redis\n* `Mercury` - Mercury\n* `Gojiberry` - Gojiberry\n* `Teachable` - Teachable\n* `PeecAI` - PeecAI\n* `Healthchecks` - Healthchecks\n* `Impact` - Impact\n* `AikidoSecurity` - AikidoSecurity\n* `Alguna` - Alguna\n* `Anthropic` - Anthropic\n* `Appwrite` - Appwrite\n* `BlandAI` - BlandAI\n* `BrowseAI` - BrowseAI\n* `BrowserUse` - BrowserUse\n* `ChartHop` - ChartHop\n* `Cody` - Cody\n* `Cursor` - Cursor\n* `Decagon` - Decagon\n* `Deepgram` - Deepgram\n* `ElevenLabs` - ElevenLabs\n* `Harvey` - Harvey\n* `Hyperspell` - Hyperspell\n* `Langfuse` - Langfuse\n* `LingoDev` - LingoDev\n* `M3ter` - M3ter\n* `Maxio` - Maxio\n* `Metorial` - Metorial\n* `OpenRouter` - OpenRouter\n* `TogetherAI` - TogetherAI\n* `Vapi` - Vapi\n* `Vespa` - Vespa\n* `Writesonic` - Writesonic\n* `Aiven` - Aiven\n* `Aviator` - Aviator\n* `Backblaze` - Backblaze\n* `Baseten` - Baseten\n* `Browserbase` - Browserbase\n* `Cohere` - Cohere\n* `DenoDeploy` - DenoDeploy\n* `DigitalOcean` - DigitalOcean\n* `E2B` - E2B\n* `Fintoc` - Fintoc\n* `Firecrawl` - Firecrawl\n* `FireworksAI` - FireworksAI\n* `FlyIo` - FlyIo\n* `Groq` - Groq\n* `GrowthBook` - GrowthBook\n* `Gumloop` - Gumloop\n* `Hatchet` - Hatchet\n* `Helicone` - Helicone\n* `Heroku` - Heroku\n* `Hetzner` - Hetzner\n* `HeyGen` - HeyGen\n* `Infisical` - Infisical\n* `Inngest` - Inngest\n* `KapaAI` - KapaAI\n* `Kernel` - Kernel\n* `Koyeb` - Koyeb\n* `LambdaLabs` - LambdaLabs\n* `LangSmith` - LangSmith\n* `Linode` - Linode\n* `LlamaCloud` - LlamaCloud\n* `Mem0` - Mem0\n* `Metriport` - Metriport\n* `Mintlify` - Mintlify\n* `MistralAI` - MistralAI\n* `Mono` - Mono\n* `Netlify` - Netlify\n* `Northflank` - Northflank\n* `OpenAI` - OpenAI\n* `Pinecone` - Pinecone\n* `PlatformSh` - PlatformSh\n* `PromptingCompany` - PromptingCompany\n* `Qdrant` - Qdrant\n* `Render` - Render\n* `Replicate` - Replicate\n* `RetellAI` - RetellAI\n* `Roark` - Roark\n* `RunPod` - RunPod\n* `ScaleAI` - ScaleAI\n* `Scaleway` - Scaleway\n* `SigNoz` - SigNoz\n* `Sim` - Sim\n* `Skyvern` - Skyvern\n* `Slash` - Slash\n* `Synthesia` - Synthesia\n* `Telli` - Telli\n* `TerraApi` - TerraApi\n* `TriggerDev` - TriggerDev\n* `Turso` - Turso\n* `Singular` - Singular\n* `Swonkie` - Swonkie\n* `TwelveLabs` - TwelveLabs\n* `Twenty` - Twenty\n* `Unstructured` - Unstructured\n* `Upstash` - Upstash\n* `Vellum` - Vellum\n* `Vultr` - Vultr\n* `Windmill` - Windmill\n* `Zep` - Zep\n* `Hex` - Hex"
103133
+ "The source type (e.g. 'Postgres', 'Stripe').\n\n* `Ashby` - Ashby\n* `Supabase` - Supabase\n* `CustomerIO` - CustomerIO\n* `Github` - Github\n* `Stripe` - Stripe\n* `Hubspot` - Hubspot\n* `Postgres` - Postgres\n* `Zendesk` - Zendesk\n* `Snowflake` - Snowflake\n* `Salesforce` - Salesforce\n* `MySQL` - MySQL\n* `MongoDB` - MongoDB\n* `MSSQL` - MSSQL\n* `Vitally` - Vitally\n* `BigQuery` - BigQuery\n* `Chargebee` - Chargebee\n* `Clerk` - Clerk\n* `GoogleAds` - GoogleAds\n* `GoogleSearchConsole` - GoogleSearchConsole\n* `TemporalIO` - TemporalIO\n* `DoIt` - DoIt\n* `GoogleSheets` - GoogleSheets\n* `MetaAds` - MetaAds\n* `Klaviyo` - Klaviyo\n* `Mailchimp` - Mailchimp\n* `Braze` - Braze\n* `Mailjet` - Mailjet\n* `Redshift` - Redshift\n* `Polar` - Polar\n* `RevenueCat` - RevenueCat\n* `LinkedinAds` - LinkedinAds\n* `RedditAds` - RedditAds\n* `TikTokAds` - TikTokAds\n* `BingAds` - BingAds\n* `Shopify` - Shopify\n* `Attio` - Attio\n* `SnapchatAds` - SnapchatAds\n* `Linear` - Linear\n* `Intercom` - Intercom\n* `Amplitude` - Amplitude\n* `Mixpanel` - Mixpanel\n* `Jira` - Jira\n* `ActiveCampaign` - ActiveCampaign\n* `Marketo` - Marketo\n* `Adjust` - Adjust\n* `AppsFlyer` - AppsFlyer\n* `Freshdesk` - Freshdesk\n* `GoogleAnalytics` - GoogleAnalytics\n* `Pipedrive` - Pipedrive\n* `SendGrid` - SendGrid\n* `Slack` - Slack\n* `PagerDuty` - PagerDuty\n* `Asana` - Asana\n* `Notion` - Notion\n* `Airtable` - Airtable\n* `Greenhouse` - Greenhouse\n* `BambooHR` - BambooHR\n* `Lever` - Lever\n* `GitLab` - GitLab\n* `Datadog` - Datadog\n* `Sentry` - Sentry\n* `Pendo` - Pendo\n* `FullStory` - FullStory\n* `AmazonAds` - AmazonAds\n* `PinterestAds` - PinterestAds\n* `AppleSearchAds` - AppleSearchAds\n* `QuickBooks` - QuickBooks\n* `Xero` - Xero\n* `NetSuite` - NetSuite\n* `WooCommerce` - WooCommerce\n* `BigCommerce` - BigCommerce\n* `PayPal` - PayPal\n* `Square` - Square\n* `Zoom` - Zoom\n* `Trello` - Trello\n* `Monday` - Monday\n* `ClickUp` - ClickUp\n* `Confluence` - Confluence\n* `Recurly` - Recurly\n* `SalesLoft` - SalesLoft\n* `Outreach` - Outreach\n* `Gong` - Gong\n* `Calendly` - Calendly\n* `Typeform` - Typeform\n* `Iterable` - Iterable\n* `ZohoCRM` - ZohoCRM\n* `Close` - Close\n* `Oracle` - Oracle\n* `DynamoDB` - DynamoDB\n* `Elasticsearch` - Elasticsearch\n* `Kafka` - Kafka\n* `LaunchDarkly` - LaunchDarkly\n* `Braintree` - Braintree\n* `Recharge` - Recharge\n* `HelpScout` - HelpScout\n* `Gorgias` - Gorgias\n* `Instagram` - Instagram\n* `YouTubeAnalytics` - YouTubeAnalytics\n* `FacebookPages` - FacebookPages\n* `TwitterAds` - TwitterAds\n* `Workday` - Workday\n* `ServiceNow` - ServiceNow\n* `Pardot` - Pardot\n* `Copper` - Copper\n* `Front` - Front\n* `ChartMogul` - ChartMogul\n* `Zuora` - Zuora\n* `Paddle` - Paddle\n* `CircleCI` - CircleCI\n* `CockroachDB` - CockroachDB\n* `Firebase` - Firebase\n* `AzureBlob` - AzureBlob\n* `GoogleDrive` - GoogleDrive\n* `OneDrive` - OneDrive\n* `SharePoint` - SharePoint\n* `Box` - Box\n* `SFTP` - SFTP\n* `MicrosoftTeams` - MicrosoftTeams\n* `Aircall` - Aircall\n* `Webflow` - Webflow\n* `Okta` - Okta\n* `Auth0` - Auth0\n* `Productboard` - Productboard\n* `Smartsheet` - Smartsheet\n* `Wrike` - Wrike\n* `Plaid` - Plaid\n* `SurveyMonkey` - SurveyMonkey\n* `Eventbrite` - Eventbrite\n* `RingCentral` - RingCentral\n* `Twilio` - Twilio\n* `Freshsales` - Freshsales\n* `Shortcut` - Shortcut\n* `ConvertKit` - ConvertKit\n* `Drip` - Drip\n* `CampaignMonitor` - CampaignMonitor\n* `MailerLite` - MailerLite\n* `Omnisend` - Omnisend\n* `Brevo` - Brevo\n* `Postmark` - Postmark\n* `Granola` - Granola\n* `BuildBetter` - BuildBetter\n* `Convex` - Convex\n* `ClickHouse` - ClickHouse\n* `Plain` - Plain\n* `Resend` - Resend\n* `PgAnalyze` - PgAnalyze\n* `WorkOS` - WorkOS\n* `AmazonS3` - AmazonS3\n* `GoogleCloudStorage` - GoogleCloudStorage\n* `Databricks` - Databricks\n* `Dynamics365` - Dynamics365\n* `SalesforceMarketingCloud` - SalesforceMarketingCloud\n* `Db2` - Db2\n* `Heap` - Heap\n* `AdobeAnalytics` - AdobeAnalytics\n* `Matomo` - Matomo\n* `Optimizely` - Optimizely\n* `Adyen` - Adyen\n* `GoCardless` - GoCardless\n* `Mollie` - Mollie\n* `CheckoutCom` - CheckoutCom\n* `Branch` - Branch\n* `Criteo` - Criteo\n* `Outbrain` - Outbrain\n* `Taboola` - Taboola\n* `AdRoll` - AdRoll\n* `DisplayVideo360` - DisplayVideo360\n* `GoogleAdManager` - GoogleAdManager\n* `CampaignManager360` - CampaignManager360\n* `SearchAds360` - SearchAds360\n* `AdobeCommerce` - AdobeCommerce\n* `AmazonSellingPartner` - AmazonSellingPartner\n* `Ebay` - Ebay\n* `Commercetools` - Commercetools\n* `LightspeedRetail` - LightspeedRetail\n* `ShipStation` - ShipStation\n* `ConstantContact` - ConstantContact\n* `Mailgun` - Mailgun\n* `Eloqua` - Eloqua\n* `Sailthru` - Sailthru\n* `Ortto` - Ortto\n* `Attentive` - Attentive\n* `Kustomer` - Kustomer\n* `Dixa` - Dixa\n* `Gladly` - Gladly\n* `Qualtrics` - Qualtrics\n* `Delighted` - Delighted\n* `AzureDevOps` - AzureDevOps\n* `Rollbar` - Rollbar\n* `Opsgenie` - Opsgenie\n* `IncidentIo` - IncidentIo\n* `Pingdom` - Pingdom\n* `Cloudflare` - Cloudflare\n* `CosmosDB` - CosmosDB\n* `PlanetScale` - PlanetScale\n* `SapHana` - SapHana\n* `Rippling` - Rippling\n* `HiBob` - HiBob\n* `Personio` - Personio\n* `Deel` - Deel\n* `AdpWorkforceNow` - AdpWorkforceNow\n* `Paylocity` - Paylocity\n* `Gusto` - Gusto\n* `CultureAmp` - CultureAmp\n* `Lattice` - Lattice\n* `SageIntacct` - SageIntacct\n* `FreshBooks` - FreshBooks\n* `Expensify` - Expensify\n* `Ramp` - Ramp\n* `Brex` - Brex\n* `Coupa` - Coupa\n* `SapConcur` - SapConcur\n* `Apollo` - Apollo\n* `Crunchbase` - Crunchbase\n* `ZoomInfo` - ZoomInfo\n* `Clari` - Clari\n* `Chorus` - Chorus\n* `Coda` - Coda\n* `Guru` - Guru\n* `Dropbox` - Dropbox\n* `Docusign` - Docusign\n* `PandaDoc` - PandaDoc\n* `SapErp` - SapErp\n* `SapSuccessFactors` - SapSuccessFactors\n* `OracleEbs` - OracleEbs\n* `OracleFusion` - OracleFusion\n* `AmazonSNS` - AmazonSNS\n* `AmazonEventBridge` - AmazonEventBridge\n* `AmazonSQS` - AmazonSQS\n* `AmazonKinesis` - AmazonKinesis\n* `AmazonCloudWatch` - AmazonCloudWatch\n* `OpenAIAds` - OpenAIAds\n* `OneHundredMs` - OneHundredMs\n* `SevenShifts` - SevenShifts\n* `AcuityScheduling` - AcuityScheduling\n* `AgileCRM` - AgileCRM\n* `Aha` - Aha\n* `Airbyte` - Airbyte\n* `Akeneo` - Akeneo\n* `Algolia` - Algolia\n* `AlpacaBrokerAPI` - AlpacaBrokerAPI\n* `ApifyDataset` - ApifyDataset\n* `Appcues` - Appcues\n* `Appfigures` - Appfigures\n* `Appfollow` - Appfollow\n* `Apptivo` - Apptivo\n* `AssemblyAI` - AssemblyAI\n* `Awin` - Awin\n* `AwsCloudTrail` - AwsCloudTrail\n* `AzureTableStorage` - AzureTableStorage\n* `Babelforce` - Babelforce\n* `Basecamp` - Basecamp\n* `Beamer` - Beamer\n* `BigMailer` - BigMailer\n* `Bluetally` - Bluetally\n* `BoldSign` - BoldSign\n* `BreezyHR` - BreezyHR\n* `Bugsnag` - Bugsnag\n* `Buildkite` - Buildkite\n* `Bunny` - Bunny\n* `Buzzsprout` - Buzzsprout\n* `CalCom` - CalCom\n* `CallRail` - CallRail\n* `Campayn` - Campayn\n* `Canny` - Canny\n* `CapsuleCRM` - CapsuleCRM\n* `CaptainData` - CaptainData\n* `CartCom` - CartCom\n* `CastorEDC` - CastorEDC\n* `Chameleon` - Chameleon\n* `Chargedesk` - Chargedesk\n* `Chargify` - Chargify\n* `Chift` - Chift\n* `Churnkey` - Churnkey\n* `Cin7` - Cin7\n* `CiscoMeraki` - CiscoMeraki\n* `Clazar` - Clazar\n* `Clockify` - Clockify\n* `Clockodo` - Clockodo\n* `Cloudbeds` - Cloudbeds\n* `Coassemble` - Coassemble\n* `Codefresh` - Codefresh\n* `Concord` - Concord\n* `ConfigCat` - ConfigCat\n* `Couchbase` - Couchbase\n* `Curve` - Curve\n* `Customerly` - Customerly\n* `Datascope` - Datascope\n* `Dbt` - Dbt\n* `Deputy` - Deputy\n* `DevinAI` - DevinAI\n* `Docuseal` - Docuseal\n* `Dolibarr` - Dolibarr\n* `Dremio` - Dremio\n* `DropboxSign` - DropboxSign\n* `Dwolla` - Dwolla\n* `EConomic` - EConomic\n* `Easypost` - Easypost\n* `Easypromos` - Easypromos\n* `Elasticemail` - Elasticemail\n* `EmailOctopus` - EmailOctopus\n* `EmploymentHero` - EmploymentHero\n* `Encharge` - Encharge\n* `Eventee` - Eventee\n* `Eventzilla` - Eventzilla\n* `Everhour` - Everhour\n* `EZOfficeInventory` - EZOfficeInventory\n* `Factorial` - Factorial\n* `Fastbill` - Fastbill\n* `Fastly` - Fastly\n* `Fauna` - Fauna\n* `Feishu` - Feishu\n* `Fillout` - Fillout\n* `Finage` - Finage\n* `Firebolt` - Firebolt\n* `FireHydrant` - FireHydrant\n* `Fleetio` - Fleetio\n* `Flexmail` - Flexmail\n* `Flexport` - Flexport\n* `FloatApp` - FloatApp\n* `Flowlu` - Flowlu\n* `Formbricks` - Formbricks\n* `FreeAgent` - FreeAgent\n* `Freightview` - Freightview\n* `Freshcaller` - Freshcaller\n* `Freshchat` - Freshchat\n* `Freshservice` - Freshservice\n* `Fulcrum` - Fulcrum\n* `GainsightPx` - GainsightPx\n* `GitBook` - GitBook\n* `Glassfrog` - Glassfrog\n* `Goldcast` - Goldcast\n* `GoLogin` - GoLogin\n* `Grafana` - Grafana\n* `GreytHr` - GreytHr\n* `Gridly` - Gridly\n* `Harness` - Harness\n* `Height` - Height\n* `Hellobaton` - Hellobaton\n* `HighLevel` - HighLevel\n* `HoorayHR` - HoorayHR\n* `Hubplanner` - Hubplanner\n* `Humanitix` - Humanitix\n* `Huntr` - Huntr\n* `Inflowinventory` - Inflowinventory\n* `InforNexus` - InforNexus\n* `Insightful` - Insightful\n* `Insightly` - Insightly\n* `Instantly` - Instantly\n* `Instatus` - Instatus\n* `Intruder` - Intruder\n* `Invoiced` - Invoiced\n* `Invoiceninja` - Invoiceninja\n* `JamfPro` - JamfPro\n* `JobNimbus` - JobNimbus\n* `Jotform` - Jotform\n* `JudgeMeReviews` - JudgeMeReviews\n* `JustCall` - JustCall\n* `JustSift` - JustSift\n* `K6Cloud` - K6Cloud\n* `Katana` - Katana\n* `Keka` - Keka\n* `Kisi` - Kisi\n* `Kissmetrics` - Kissmetrics\n* `Klarna` - Klarna\n* `Klaus` - Klaus\n* `Lago` - Lago\n* `Leadfeeder` - Leadfeeder\n* `Lemlist` - Lemlist\n* `LessAnnoyingCRM` - LessAnnoyingCRM\n* `LinkedinPages` - LinkedinPages\n* `Linkrunner` - Linkrunner\n* `Linnworks` - Linnworks\n* `Lob` - Lob\n* `Lokalise` - Lokalise\n* `Looker` - Looker\n* `Luma` - Luma\n* `MailerSend` - MailerSend\n* `Mailosaur` - Mailosaur\n* `Mailtrap` - Mailtrap\n* `Mantle` - Mantle\n* `Mention` - Mention\n* `MercadoAds` - MercadoAds\n* `Merge` - Merge\n* `Metabase` - Metabase\n* `Metricool` - Metricool\n* `MicrosoftDataverse` - MicrosoftDataverse\n* `MicrosoftEntraId` - MicrosoftEntraId\n* `MicrosoftLists` - MicrosoftLists\n* `Miro` - Miro\n* `Missive` - Missive\n* `MixMax` - MixMax\n* `Mode` - Mode\n* `Mux` - Mux\n* `MyHours` - MyHours\n* `N8n` - N8n\n* `Navan` - Navan\n* `NebiusAI` - NebiusAI\n* `Nexiopay` - Nexiopay\n* `NinjaOneRMM` - NinjaOneRMM\n* `NoCRM` - NoCRM\n* `NorthpassLMS` - NorthpassLMS\n* `Nutshell` - Nutshell\n* `Nylas` - Nylas\n* `Oncehub` - Oncehub\n* `Onepagecrm` - Onepagecrm\n* `OneSignal` - OneSignal\n* `Onfleet` - Onfleet\n* `OpinionStage` - OpinionStage\n* `OPUSWatch` - OPUSWatch\n* `Orb` - Orb\n* `Orbit` - Orbit\n* `Oura` - Oura\n* `Oveit` - Oveit\n* `PabblySubscriptionsBilling` - PabblySubscriptionsBilling\n* `Paperform` - Paperform\n* `Papersign` - Papersign\n* `Partnerize` - Partnerize\n* `PartnerStack` - PartnerStack\n* `PayFit` - PayFit\n* `Paystack` - Paystack\n* `Pennylane` - Pennylane\n* `Perk` - Perk\n* `PersistIq` - PersistIq\n* `Persona` - Persona\n* `Phyllo` - Phyllo\n* `Picqer` - Picqer\n* `Pipeliner` - Pipeliner\n* `PivotalTracker` - PivotalTracker\n* `Piwik` - Piwik\n* `Planhat` - Planhat\n* `Plausible` - Plausible\n* `Poplar` - Poplar\n* `PrestaShop` - PrestaShop\n* `Pretix` - Pretix\n* `Primetric` - Primetric\n* `Printify` - Printify\n* `Productive` - Productive\n* `Pylon` - Pylon\n* `Qonto` - Qonto\n* `Qualaroo` - Qualaroo\n* `Railz` - Railz\n* `RDStationMarketing` - RDStationMarketing\n* `Recruitee` - Recruitee\n* `Reddit` - Reddit\n* `ReferralHero` - ReferralHero\n* `RentCast` - RentCast\n* `Repairshopr` - Repairshopr\n* `ReplyIo` - ReplyIo\n* `RetailExpress` - RetailExpress\n* `Retently` - Retently\n* `RevolutMerchant` - RevolutMerchant\n* `RocketChat` - RocketChat\n* `Rocketlane` - Rocketlane\n* `Rootly` - Rootly\n* `Ruddr` - Ruddr\n* `SafetyCulture` - SafetyCulture\n* `SageHR` - SageHR\n* `Salesflare` - Salesflare\n* `SAPFieldglass` - SAPFieldglass\n* `SavvyCal` - SavvyCal\n* `Secoda` - Secoda\n* `Segment` - Segment\n* `Sendowl` - Sendowl\n* `SendPulse` - SendPulse\n* `Senseforce` - Senseforce\n* `Serpstat` - Serpstat\n* `Sharetribe` - Sharetribe\n* `Shippo` - Shippo\n* `ShopWired` - ShopWired\n* `Shortio` - Shortio\n* `Shutterstock` - Shutterstock\n* `SigmaComputing` - SigmaComputing\n* `SignNow` - SignNow\n* `SimpleCast` - SimpleCast\n* `Simplesat` - Simplesat\n* `Smaily` - Smaily\n* `SmartEngage` - SmartEngage\n* `Smartreach` - Smartreach\n* `Smartwaiver` - Smartwaiver\n* `SolarwindsServiceDesk` - SolarwindsServiceDesk\n* `SonarCloud` - SonarCloud\n* `SparkPost` - SparkPost\n* `SplitIo` - SplitIo\n* `SpotifyAds` - SpotifyAds\n* `SpotlerCRM` - SpotlerCRM\n* `Squarespace` - Squarespace\n* `Statsig` - Statsig\n* `Statuspage` - Statuspage\n* `Stigg` - Stigg\n* `Strava` - Strava\n* `SurveySparrow` - SurveySparrow\n* `Survicate` - Survicate\n* `Svix` - Svix\n* `Systeme` - Systeme\n* `Tavus` - Tavus\n* `Teamtailor` - Teamtailor\n* `Teamwork` - Teamwork\n* `Tempo` - Tempo\n* `Testrail` - Testrail\n* `Thinkific` - Thinkific\n* `ThinkificCourses` - ThinkificCourses\n* `ThriveLearning` - ThriveLearning\n* `Ticketmaster` - Ticketmaster\n* `TicketTailor` - TicketTailor\n* `TickTick` - TickTick\n* `Timely` - Timely\n* `Tinyemail` - Tinyemail\n* `Todoist` - Todoist\n* `Toggl` - Toggl\n* `TrackPMS` - TrackPMS\n* `Tremendous` - Tremendous\n* `TrustPilot` - TrustPilot\n* `Twitter` - Twitter\n* `TyntecSMS` - TyntecSMS\n* `Unleash` - Unleash\n* `UpPromote` - UpPromote\n* `Uptick` - Uptick\n* `Uservoice` - Uservoice\n* `Vantage` - Vantage\n* `Veeqo` - Veeqo\n* `Vercel` - Vercel\n* `VismaEconomic` - VismaEconomic\n* `VWO` - VWO\n* `Waiteraid` - Waiteraid\n* `Wasabi` - Wasabi\n* `WhenIWork` - WhenIWork\n* `Wordpress` - Wordpress\n* `Workable` - Workable\n* `Workflowmax` - Workflowmax\n* `Workramp` - Workramp\n* `Wufoo` - Wufoo\n* `Xsolla` - Xsolla\n* `YandexMetrica` - YandexMetrica\n* `Yotpo` - Yotpo\n* `Ynab` - Ynab\n* `Younium` - Younium\n* `YouSign` - YouSign\n* `YoutubeData` - YoutubeData\n* `ZapierSupportedStorage` - ZapierSupportedStorage\n* `ZapSign` - ZapSign\n* `ZendeskSell` - ZendeskSell\n* `ZendeskSunshine` - ZendeskSunshine\n* `Zenefits` - Zenefits\n* `Zenloop` - Zenloop\n* `ZohoAnalytics` - ZohoAnalytics\n* `ZohoBigin` - ZohoBigin\n* `ZohoBilling` - ZohoBilling\n* `ZohoBooks` - ZohoBooks\n* `ZohoCampaign` - ZohoCampaign\n* `ZohoDesk` - ZohoDesk\n* `ZohoExpense` - ZohoExpense\n* `ZohoInventory` - ZohoInventory\n* `ZohoInvoice` - ZohoInvoice\n* `ZonkaFeedback` - ZonkaFeedback\n* `AlphaVantage` - AlphaVantage\n* `Aviationstack` - Aviationstack\n* `Bitly` - Bitly\n* `Blogger` - Blogger\n* `Breezometer` - Breezometer\n* `CareQualityCommission` - CareQualityCommission\n* `Cimis` - Cimis\n* `CoinApi` - CoinApi\n* `CoinGecko` - CoinGecko\n* `CoinMarketCap` - CoinMarketCap\n* `DingConnect` - DingConnect\n* `Dockerhub` - Dockerhub\n* `ExchangeRatesApi` - ExchangeRatesApi\n* `FinancialModelling` - FinancialModelling\n* `Finnhub` - Finnhub\n* `Finnworlds` - Finnworlds\n* `Giphy` - Giphy\n* `Gmail` - Gmail\n* `GNews` - GNews\n* `GoogleCalendar` - GoogleCalendar\n* `GoogleClassroom` - GoogleClassroom\n* `GoogleDirectory` - GoogleDirectory\n* `GoogleForms` - GoogleForms\n* `GooglePageSpeedInsights` - GooglePageSpeedInsights\n* `GoogleTasks` - GoogleTasks\n* `GoogleWebfonts` - GoogleWebfonts\n* `GoogleWorkspaceAdminReports` - GoogleWorkspaceAdminReports\n* `HuggingFace` - HuggingFace\n* `IlluminaBasespace` - IlluminaBasespace\n* `Imagga` - Imagga\n* `Interzoid` - Interzoid\n* `IP2Whois` - IP2Whois\n* `KYVE` - KYVE\n* `Marketstack` - Marketstack\n* `Mendeley` - Mendeley\n* `Nasa` - Nasa\n* `NewYorkTimes` - NewYorkTimes\n* `NewsApi` - NewsApi\n* `NewsData` - NewsData\n* `OpenDataDc` - OpenDataDc\n* `OpenExchangeRates` - OpenExchangeRates\n* `OpenAQ` - OpenAQ\n* `OpenFDA` - OpenFDA\n* `OpenWeather` - OpenWeather\n* `Outlook` - Outlook\n* `Perigon` - Perigon\n* `Pexels` - Pexels\n* `Pocket` - Pocket\n* `Polygon` - Polygon\n* `PyPI` - PyPI\n* `Recreation` - Recreation\n* `RKICovid` - RKICovid\n* `Rss` - Rss\n* `SimFin` - SimFin\n* `StockData` - StockData\n* `Guardian` - Guardian\n* `TMDb` - TMDb\n* `TVMaze` - TVMaze\n* `TwelveData` - TwelveData\n* `Ubidots` - Ubidots\n* `USCensus` - USCensus\n* `Watchmode` - Watchmode\n* `WikipediaPageviews` - WikipediaPageviews\n* `YahooFinance` - YahooFinance\n* `Clarifai` - Clarifai\n* `Adapty` - Adapty\n* `Braintrust` - Braintrust\n* `StreamElements` - StreamElements\n* `Streamlabs` - Streamlabs\n* `Datorama` - Datorama\n* `Ahrefs` - Ahrefs\n* `Lightfield` - Lightfield\n* `Appstack` - Appstack\n* `Razorpay` - Razorpay\n* `Neon` - Neon\n* `NewRelic` - NewRelic\n* `Custom` - Custom\n* `Tile38` - Tile38\n* `Chatwoot` - Chatwoot\n* `Sanity` - Sanity\n* `Metronome` - Metronome\n* `Jobber` - Jobber\n* `Knock` - Knock\n* `Leexi` - Leexi\n* `RB2B` - RB2B\n* `Superwall` - Superwall\n* `Liana` - Liana\n* `TawkTo` - TawkTo\n* `Hightouch` - Hightouch\n* `LemonSqueezy` - LemonSqueezy\n* `Ikas` - Ikas\n* `Talkwalker` - Talkwalker\n* `NextdoorAds` - NextdoorAds\n* `AppLovin` - AppLovin\n* `Baserow` - Baserow\n* `Plunk` - Plunk\n* `Dub` - Dub\n* `AirOps` - AirOps\n* `Podium` - Podium\n* `Loops` - Loops\n* `Redis` - Redis\n* `Mercury` - Mercury\n* `Gojiberry` - Gojiberry\n* `Teachable` - Teachable\n* `PeecAI` - PeecAI\n* `Healthchecks` - Healthchecks\n* `Impact` - Impact\n* `AikidoSecurity` - AikidoSecurity\n* `Alguna` - Alguna\n* `Anthropic` - Anthropic\n* `Appwrite` - Appwrite\n* `BlandAI` - BlandAI\n* `BrowseAI` - BrowseAI\n* `BrowserUse` - BrowserUse\n* `ChartHop` - ChartHop\n* `Cody` - Cody\n* `Cursor` - Cursor\n* `Decagon` - Decagon\n* `Deepgram` - Deepgram\n* `ElevenLabs` - ElevenLabs\n* `Harvey` - Harvey\n* `Hyperspell` - Hyperspell\n* `Langfuse` - Langfuse\n* `LingoDev` - LingoDev\n* `M3ter` - M3ter\n* `Maxio` - Maxio\n* `Metorial` - Metorial\n* `OpenRouter` - OpenRouter\n* `TogetherAI` - TogetherAI\n* `Vapi` - Vapi\n* `Vespa` - Vespa\n* `Writesonic` - Writesonic\n* `Aiven` - Aiven\n* `Aviator` - Aviator\n* `Backblaze` - Backblaze\n* `Baseten` - Baseten\n* `Browserbase` - Browserbase\n* `Cohere` - Cohere\n* `DenoDeploy` - DenoDeploy\n* `DigitalOcean` - DigitalOcean\n* `E2B` - E2B\n* `Fintoc` - Fintoc\n* `Firecrawl` - Firecrawl\n* `FireworksAI` - FireworksAI\n* `FlyIo` - FlyIo\n* `Groq` - Groq\n* `GrowthBook` - GrowthBook\n* `Gumloop` - Gumloop\n* `Hatchet` - Hatchet\n* `Helicone` - Helicone\n* `Heroku` - Heroku\n* `Hetzner` - Hetzner\n* `HeyGen` - HeyGen\n* `Infisical` - Infisical\n* `Inngest` - Inngest\n* `KapaAI` - KapaAI\n* `Kernel` - Kernel\n* `Koyeb` - Koyeb\n* `LambdaLabs` - LambdaLabs\n* `LangSmith` - LangSmith\n* `Linode` - Linode\n* `LlamaCloud` - LlamaCloud\n* `Mem0` - Mem0\n* `Metriport` - Metriport\n* `Mintlify` - Mintlify\n* `MistralAI` - MistralAI\n* `Mono` - Mono\n* `Netlify` - Netlify\n* `Northflank` - Northflank\n* `OpenAI` - OpenAI\n* `Pinecone` - Pinecone\n* `PlatformSh` - PlatformSh\n* `PromptingCompany` - PromptingCompany\n* `Qdrant` - Qdrant\n* `Render` - Render\n* `Replicate` - Replicate\n* `RetellAI` - RetellAI\n* `Roark` - Roark\n* `RunPod` - RunPod\n* `ScaleAI` - ScaleAI\n* `Scaleway` - Scaleway\n* `SigNoz` - SigNoz\n* `Sim` - Sim\n* `Skyvern` - Skyvern\n* `Slash` - Slash\n* `Synthesia` - Synthesia\n* `Telli` - Telli\n* `TerraApi` - TerraApi\n* `TriggerDev` - TriggerDev\n* `Turso` - Turso\n* `Singular` - Singular\n* `Swonkie` - Swonkie\n* `TwelveLabs` - TwelveLabs\n* `Twenty` - Twenty\n* `Unstructured` - Unstructured\n* `Upstash` - Upstash\n* `Vellum` - Vellum\n* `Vultr` - Vultr\n* `Windmill` - Windmill\n* `Zep` - Zep\n* `Hex` - Hex\n* `Sumsub` - Sumsub\n* `GoogleChat` - GoogleChat\n* `Kickscale` - Kickscale\n* `Zellify` - Zellify\n* `RudderStack` - RudderStack"
102977
103134
  ),
102978
103135
  payload: record(string2(), unknown()).describe("Connection credentials and a 'schemas' array. Keys depend on source_type."),
102979
103136
  prefix: string2().max(externalDataSourcesCreateBodyPrefixMax).nullish().describe("Table name prefix in HogQL."),
@@ -102982,7 +103139,7 @@ var ExternalDataSourcesCreateBody = /* @__PURE__ */ object({
102982
103139
  "Connection mode: 'warehouse' (import) or 'direct' (live query).\n\n* `warehouse` - warehouse\n* `direct` - direct"
102983
103140
  ),
102984
103141
  direct_query_enabled: boolean2().default(externalDataSourcesCreateBodyDirectQueryEnabledDefault).describe(
102985
- "Whether a synced source should also be live-queryable via direct connection. Defaults to true; ignored for pure direct-query sources."
103142
+ "Whether a synced source should also be live-queryable via direct connection. Defaults to false; ignored for pure direct-query sources."
102986
103143
  )
102987
103144
  });
102988
103145
  var ExternalDataSourcesRetrieveParams = /* @__PURE__ */ object({
@@ -103001,17 +103158,19 @@ var externalDataSourcesPartialUpdateBodyPrefixMax = 100;
103001
103158
  var externalDataSourcesPartialUpdateBodyDescriptionMax = 400;
103002
103159
  var ExternalDataSourcesPartialUpdateBody = /* @__PURE__ */ object({
103003
103160
  created_via: union([
103004
- _enum2(["web", "api", "mcp"]).describe("* `web` - web\n* `api` - api\n* `mcp` - mcp"),
103161
+ _enum2(["web", "api", "mcp", "wizard", "self_driving"]).describe(
103162
+ "* `web` - web\n* `api` - api\n* `mcp` - mcp\n* `wizard` - wizard\n* `self_driving` - self_driving"
103163
+ ),
103005
103164
  _null3()
103006
103165
  ]).optional().describe(
103007
- "How this source was created. Defaults to `api` on create when omitted. `web` for the in-app UI, `api` for direct API callers, `mcp` for agent/MCP tool calls. Ignored on update.\n\n* `web` - web\n* `api` - api\n* `mcp` - mcp"
103166
+ "How this source was created. Defaults to `api` on create when omitted. `web` for the in-app UI, `api` for direct API callers, `mcp` for agent/MCP tool calls, `wizard` for the setup wizard and `self_driving` for the PostHog Code app (both derived server-side from the caller's user agent). Ignored on update.\n\n* `web` - web\n* `api` - api\n* `mcp` - mcp\n* `wizard` - wizard\n* `self_driving` - self_driving"
103008
103167
  ),
103009
103168
  client_secret: string2().optional(),
103010
103169
  account_id: string2().optional(),
103011
103170
  prefix: string2().max(externalDataSourcesPartialUpdateBodyPrefixMax).nullish(),
103012
103171
  description: string2().max(externalDataSourcesPartialUpdateBodyDescriptionMax).nullish(),
103013
103172
  direct_query_enabled: boolean2().optional().describe(
103014
- "Whether this synced source is also live-queryable via direct connection. Defaults to true for new sources; ignored for pure direct-query sources."
103173
+ "Whether this synced source is also live-queryable via direct connection. Defaults to false for new sources; ignored for pure direct-query sources."
103015
103174
  ),
103016
103175
  job_inputs: unknown().optional()
103017
103176
  }).describe("Mixin for serializers to add user access control fields");
@@ -103031,17 +103190,19 @@ var externalDataSourcesCreateWebhookCreateBodyPrefixMax = 100;
103031
103190
  var externalDataSourcesCreateWebhookCreateBodyDescriptionMax = 400;
103032
103191
  var ExternalDataSourcesCreateWebhookCreateBody = /* @__PURE__ */ object({
103033
103192
  created_via: union([
103034
- _enum2(["web", "api", "mcp"]).describe("* `web` - web\n* `api` - api\n* `mcp` - mcp"),
103193
+ _enum2(["web", "api", "mcp", "wizard", "self_driving"]).describe(
103194
+ "* `web` - web\n* `api` - api\n* `mcp` - mcp\n* `wizard` - wizard\n* `self_driving` - self_driving"
103195
+ ),
103035
103196
  _null3()
103036
103197
  ]).optional().describe(
103037
- "How this source was created. Defaults to `api` on create when omitted. `web` for the in-app UI, `api` for direct API callers, `mcp` for agent/MCP tool calls. Ignored on update.\n\n* `web` - web\n* `api` - api\n* `mcp` - mcp"
103198
+ "How this source was created. Defaults to `api` on create when omitted. `web` for the in-app UI, `api` for direct API callers, `mcp` for agent/MCP tool calls, `wizard` for the setup wizard and `self_driving` for the PostHog Code app (both derived server-side from the caller's user agent). Ignored on update.\n\n* `web` - web\n* `api` - api\n* `mcp` - mcp\n* `wizard` - wizard\n* `self_driving` - self_driving"
103038
103199
  ),
103039
103200
  client_secret: string2(),
103040
103201
  account_id: string2(),
103041
103202
  prefix: string2().max(externalDataSourcesCreateWebhookCreateBodyPrefixMax).nullish(),
103042
103203
  description: string2().max(externalDataSourcesCreateWebhookCreateBodyDescriptionMax).nullish(),
103043
103204
  direct_query_enabled: boolean2().optional().describe(
103044
- "Whether this synced source is also live-queryable via direct connection. Defaults to true for new sources; ignored for pure direct-query sources."
103205
+ "Whether this synced source is also live-queryable via direct connection. Defaults to false for new sources; ignored for pure direct-query sources."
103045
103206
  ),
103046
103207
  job_inputs: unknown().optional()
103047
103208
  }).describe("Mixin for serializers to add user access control fields");
@@ -103055,17 +103216,19 @@ var externalDataSourcesDeleteWebhookCreateBodyPrefixMax = 100;
103055
103216
  var externalDataSourcesDeleteWebhookCreateBodyDescriptionMax = 400;
103056
103217
  var ExternalDataSourcesDeleteWebhookCreateBody = /* @__PURE__ */ object({
103057
103218
  created_via: union([
103058
- _enum2(["web", "api", "mcp"]).describe("* `web` - web\n* `api` - api\n* `mcp` - mcp"),
103219
+ _enum2(["web", "api", "mcp", "wizard", "self_driving"]).describe(
103220
+ "* `web` - web\n* `api` - api\n* `mcp` - mcp\n* `wizard` - wizard\n* `self_driving` - self_driving"
103221
+ ),
103059
103222
  _null3()
103060
103223
  ]).optional().describe(
103061
- "How this source was created. Defaults to `api` on create when omitted. `web` for the in-app UI, `api` for direct API callers, `mcp` for agent/MCP tool calls. Ignored on update.\n\n* `web` - web\n* `api` - api\n* `mcp` - mcp"
103224
+ "How this source was created. Defaults to `api` on create when omitted. `web` for the in-app UI, `api` for direct API callers, `mcp` for agent/MCP tool calls, `wizard` for the setup wizard and `self_driving` for the PostHog Code app (both derived server-side from the caller's user agent). Ignored on update.\n\n* `web` - web\n* `api` - api\n* `mcp` - mcp\n* `wizard` - wizard\n* `self_driving` - self_driving"
103062
103225
  ),
103063
103226
  client_secret: string2(),
103064
103227
  account_id: string2(),
103065
103228
  prefix: string2().max(externalDataSourcesDeleteWebhookCreateBodyPrefixMax).nullish(),
103066
103229
  description: string2().max(externalDataSourcesDeleteWebhookCreateBodyDescriptionMax).nullish(),
103067
103230
  direct_query_enabled: boolean2().optional().describe(
103068
- "Whether this synced source is also live-queryable via direct connection. Defaults to true for new sources; ignored for pure direct-query sources."
103231
+ "Whether this synced source is also live-queryable via direct connection. Defaults to false for new sources; ignored for pure direct-query sources."
103069
103232
  ),
103070
103233
  job_inputs: unknown().optional()
103071
103234
  }).describe("Mixin for serializers to add user access control fields");
@@ -103077,13 +103240,15 @@ var ExternalDataSourcesRefreshSchemasCreateParams = /* @__PURE__ */ object({
103077
103240
  });
103078
103241
  var ExternalDataSourcesRefreshSchemasCreateBody = /* @__PURE__ */ object({
103079
103242
  created_via: union([
103080
- _enum2(["web", "api", "mcp"]).describe("* `web` - web\n* `api` - api\n* `mcp` - mcp"),
103243
+ _enum2(["web", "api", "mcp", "wizard", "self_driving"]).describe(
103244
+ "* `web` - web\n* `api` - api\n* `mcp` - mcp\n* `wizard` - wizard\n* `self_driving` - self_driving"
103245
+ ),
103081
103246
  _null3()
103082
103247
  ]).optional().describe(
103083
- "How this source was created. Defaults to `api` on create when omitted. `web` for the in-app UI, `api` for direct API callers, `mcp` for agent/MCP tool calls. Ignored on update.\n\n* `web` - web\n* `api` - api\n* `mcp` - mcp"
103248
+ "How this source was created. Defaults to `api` on create when omitted. `web` for the in-app UI, `api` for direct API callers, `mcp` for agent/MCP tool calls, `wizard` for the setup wizard and `self_driving` for the PostHog Code app (both derived server-side from the caller's user agent). Ignored on update.\n\n* `web` - web\n* `api` - api\n* `mcp` - mcp\n* `wizard` - wizard\n* `self_driving` - self_driving"
103084
103249
  ),
103085
103250
  direct_query_enabled: boolean2().optional().describe(
103086
- "Whether this synced source is also live-queryable via direct connection. Defaults to true for new sources; ignored for pure direct-query sources."
103251
+ "Whether this synced source is also live-queryable via direct connection. Defaults to false for new sources; ignored for pure direct-query sources."
103087
103252
  )
103088
103253
  }).describe("Mixin for serializers to add user access control fields");
103089
103254
  var ExternalDataSourcesReloadCreateParams = /* @__PURE__ */ object({
@@ -103094,13 +103259,15 @@ var ExternalDataSourcesReloadCreateParams = /* @__PURE__ */ object({
103094
103259
  });
103095
103260
  var ExternalDataSourcesReloadCreateBody = /* @__PURE__ */ object({
103096
103261
  created_via: union([
103097
- _enum2(["web", "api", "mcp"]).describe("* `web` - web\n* `api` - api\n* `mcp` - mcp"),
103262
+ _enum2(["web", "api", "mcp", "wizard", "self_driving"]).describe(
103263
+ "* `web` - web\n* `api` - api\n* `mcp` - mcp\n* `wizard` - wizard\n* `self_driving` - self_driving"
103264
+ ),
103098
103265
  _null3()
103099
103266
  ]).optional().describe(
103100
- "How this source was created. Defaults to `api` on create when omitted. `web` for the in-app UI, `api` for direct API callers, `mcp` for agent/MCP tool calls. Ignored on update.\n\n* `web` - web\n* `api` - api\n* `mcp` - mcp"
103267
+ "How this source was created. Defaults to `api` on create when omitted. `web` for the in-app UI, `api` for direct API callers, `mcp` for agent/MCP tool calls, `wizard` for the setup wizard and `self_driving` for the PostHog Code app (both derived server-side from the caller's user agent). Ignored on update.\n\n* `web` - web\n* `api` - api\n* `mcp` - mcp\n* `wizard` - wizard\n* `self_driving` - self_driving"
103101
103268
  ),
103102
103269
  direct_query_enabled: boolean2().optional().describe(
103103
- "Whether this synced source is also live-queryable via direct connection. Defaults to true for new sources; ignored for pure direct-query sources."
103270
+ "Whether this synced source is also live-queryable via direct connection. Defaults to false for new sources; ignored for pure direct-query sources."
103104
103271
  )
103105
103272
  }).describe("Mixin for serializers to add user access control fields");
103106
103273
  var ExternalDataSourcesRepairCdcCreateParams = /* @__PURE__ */ object({
@@ -103119,17 +103286,19 @@ var externalDataSourcesUpdateWebhookInputsCreateBodyPrefixMax = 100;
103119
103286
  var externalDataSourcesUpdateWebhookInputsCreateBodyDescriptionMax = 400;
103120
103287
  var ExternalDataSourcesUpdateWebhookInputsCreateBody = /* @__PURE__ */ object({
103121
103288
  created_via: union([
103122
- _enum2(["web", "api", "mcp"]).describe("* `web` - web\n* `api` - api\n* `mcp` - mcp"),
103289
+ _enum2(["web", "api", "mcp", "wizard", "self_driving"]).describe(
103290
+ "* `web` - web\n* `api` - api\n* `mcp` - mcp\n* `wizard` - wizard\n* `self_driving` - self_driving"
103291
+ ),
103123
103292
  _null3()
103124
103293
  ]).optional().describe(
103125
- "How this source was created. Defaults to `api` on create when omitted. `web` for the in-app UI, `api` for direct API callers, `mcp` for agent/MCP tool calls. Ignored on update.\n\n* `web` - web\n* `api` - api\n* `mcp` - mcp"
103294
+ "How this source was created. Defaults to `api` on create when omitted. `web` for the in-app UI, `api` for direct API callers, `mcp` for agent/MCP tool calls, `wizard` for the setup wizard and `self_driving` for the PostHog Code app (both derived server-side from the caller's user agent). Ignored on update.\n\n* `web` - web\n* `api` - api\n* `mcp` - mcp\n* `wizard` - wizard\n* `self_driving` - self_driving"
103126
103295
  ),
103127
103296
  client_secret: string2(),
103128
103297
  account_id: string2(),
103129
103298
  prefix: string2().max(externalDataSourcesUpdateWebhookInputsCreateBodyPrefixMax).nullish(),
103130
103299
  description: string2().max(externalDataSourcesUpdateWebhookInputsCreateBodyDescriptionMax).nullish(),
103131
103300
  direct_query_enabled: boolean2().optional().describe(
103132
- "Whether this synced source is also live-queryable via direct connection. Defaults to true for new sources; ignored for pure direct-query sources."
103301
+ "Whether this synced source is also live-queryable via direct connection. Defaults to false for new sources; ignored for pure direct-query sources."
103133
103302
  ),
103134
103303
  job_inputs: unknown().optional()
103135
103304
  }).describe("Mixin for serializers to add user access control fields");
@@ -103169,7 +103338,7 @@ var ExternalDataSourcesSetupCreateParams = /* @__PURE__ */ object({
103169
103338
  });
103170
103339
  var externalDataSourcesSetupCreateBodyPrefixMax = 100;
103171
103340
  var externalDataSourcesSetupCreateBodyDescriptionMax = 400;
103172
- var externalDataSourcesSetupCreateBodyDirectQueryEnabledDefault = true;
103341
+ var externalDataSourcesSetupCreateBodyDirectQueryEnabledDefault = false;
103173
103342
  var ExternalDataSourcesSetupCreateBody = /* @__PURE__ */ object({
103174
103343
  source_type: _enum2([
103175
103344
  "Ashby",
@@ -103927,11 +104096,16 @@ var ExternalDataSourcesSetupCreateBody = /* @__PURE__ */ object({
103927
104096
  "Vultr",
103928
104097
  "Windmill",
103929
104098
  "Zep",
103930
- "Hex"
104099
+ "Hex",
104100
+ "Sumsub",
104101
+ "GoogleChat",
104102
+ "Kickscale",
104103
+ "Zellify",
104104
+ "RudderStack"
103931
104105
  ]).describe(
103932
- "* `Ashby` - Ashby\n* `Supabase` - Supabase\n* `CustomerIO` - CustomerIO\n* `Github` - Github\n* `Stripe` - Stripe\n* `Hubspot` - Hubspot\n* `Postgres` - Postgres\n* `Zendesk` - Zendesk\n* `Snowflake` - Snowflake\n* `Salesforce` - Salesforce\n* `MySQL` - MySQL\n* `MongoDB` - MongoDB\n* `MSSQL` - MSSQL\n* `Vitally` - Vitally\n* `BigQuery` - BigQuery\n* `Chargebee` - Chargebee\n* `Clerk` - Clerk\n* `GoogleAds` - GoogleAds\n* `GoogleSearchConsole` - GoogleSearchConsole\n* `TemporalIO` - TemporalIO\n* `DoIt` - DoIt\n* `GoogleSheets` - GoogleSheets\n* `MetaAds` - MetaAds\n* `Klaviyo` - Klaviyo\n* `Mailchimp` - Mailchimp\n* `Braze` - Braze\n* `Mailjet` - Mailjet\n* `Redshift` - Redshift\n* `Polar` - Polar\n* `RevenueCat` - RevenueCat\n* `LinkedinAds` - LinkedinAds\n* `RedditAds` - RedditAds\n* `TikTokAds` - TikTokAds\n* `BingAds` - BingAds\n* `Shopify` - Shopify\n* `Attio` - Attio\n* `SnapchatAds` - SnapchatAds\n* `Linear` - Linear\n* `Intercom` - Intercom\n* `Amplitude` - Amplitude\n* `Mixpanel` - Mixpanel\n* `Jira` - Jira\n* `ActiveCampaign` - ActiveCampaign\n* `Marketo` - Marketo\n* `Adjust` - Adjust\n* `AppsFlyer` - AppsFlyer\n* `Freshdesk` - Freshdesk\n* `GoogleAnalytics` - GoogleAnalytics\n* `Pipedrive` - Pipedrive\n* `SendGrid` - SendGrid\n* `Slack` - Slack\n* `PagerDuty` - PagerDuty\n* `Asana` - Asana\n* `Notion` - Notion\n* `Airtable` - Airtable\n* `Greenhouse` - Greenhouse\n* `BambooHR` - BambooHR\n* `Lever` - Lever\n* `GitLab` - GitLab\n* `Datadog` - Datadog\n* `Sentry` - Sentry\n* `Pendo` - Pendo\n* `FullStory` - FullStory\n* `AmazonAds` - AmazonAds\n* `PinterestAds` - PinterestAds\n* `AppleSearchAds` - AppleSearchAds\n* `QuickBooks` - QuickBooks\n* `Xero` - Xero\n* `NetSuite` - NetSuite\n* `WooCommerce` - WooCommerce\n* `BigCommerce` - BigCommerce\n* `PayPal` - PayPal\n* `Square` - Square\n* `Zoom` - Zoom\n* `Trello` - Trello\n* `Monday` - Monday\n* `ClickUp` - ClickUp\n* `Confluence` - Confluence\n* `Recurly` - Recurly\n* `SalesLoft` - SalesLoft\n* `Outreach` - Outreach\n* `Gong` - Gong\n* `Calendly` - Calendly\n* `Typeform` - Typeform\n* `Iterable` - Iterable\n* `ZohoCRM` - ZohoCRM\n* `Close` - Close\n* `Oracle` - Oracle\n* `DynamoDB` - DynamoDB\n* `Elasticsearch` - Elasticsearch\n* `Kafka` - Kafka\n* `LaunchDarkly` - LaunchDarkly\n* `Braintree` - Braintree\n* `Recharge` - Recharge\n* `HelpScout` - HelpScout\n* `Gorgias` - Gorgias\n* `Instagram` - Instagram\n* `YouTubeAnalytics` - YouTubeAnalytics\n* `FacebookPages` - FacebookPages\n* `TwitterAds` - TwitterAds\n* `Workday` - Workday\n* `ServiceNow` - ServiceNow\n* `Pardot` - Pardot\n* `Copper` - Copper\n* `Front` - Front\n* `ChartMogul` - ChartMogul\n* `Zuora` - Zuora\n* `Paddle` - Paddle\n* `CircleCI` - CircleCI\n* `CockroachDB` - CockroachDB\n* `Firebase` - Firebase\n* `AzureBlob` - AzureBlob\n* `GoogleDrive` - GoogleDrive\n* `OneDrive` - OneDrive\n* `SharePoint` - SharePoint\n* `Box` - Box\n* `SFTP` - SFTP\n* `MicrosoftTeams` - MicrosoftTeams\n* `Aircall` - Aircall\n* `Webflow` - Webflow\n* `Okta` - Okta\n* `Auth0` - Auth0\n* `Productboard` - Productboard\n* `Smartsheet` - Smartsheet\n* `Wrike` - Wrike\n* `Plaid` - Plaid\n* `SurveyMonkey` - SurveyMonkey\n* `Eventbrite` - Eventbrite\n* `RingCentral` - RingCentral\n* `Twilio` - Twilio\n* `Freshsales` - Freshsales\n* `Shortcut` - Shortcut\n* `ConvertKit` - ConvertKit\n* `Drip` - Drip\n* `CampaignMonitor` - CampaignMonitor\n* `MailerLite` - MailerLite\n* `Omnisend` - Omnisend\n* `Brevo` - Brevo\n* `Postmark` - Postmark\n* `Granola` - Granola\n* `BuildBetter` - BuildBetter\n* `Convex` - Convex\n* `ClickHouse` - ClickHouse\n* `Plain` - Plain\n* `Resend` - Resend\n* `PgAnalyze` - PgAnalyze\n* `WorkOS` - WorkOS\n* `AmazonS3` - AmazonS3\n* `GoogleCloudStorage` - GoogleCloudStorage\n* `Databricks` - Databricks\n* `Dynamics365` - Dynamics365\n* `SalesforceMarketingCloud` - SalesforceMarketingCloud\n* `Db2` - Db2\n* `Heap` - Heap\n* `AdobeAnalytics` - AdobeAnalytics\n* `Matomo` - Matomo\n* `Optimizely` - Optimizely\n* `Adyen` - Adyen\n* `GoCardless` - GoCardless\n* `Mollie` - Mollie\n* `CheckoutCom` - CheckoutCom\n* `Branch` - Branch\n* `Criteo` - Criteo\n* `Outbrain` - Outbrain\n* `Taboola` - Taboola\n* `AdRoll` - AdRoll\n* `DisplayVideo360` - DisplayVideo360\n* `GoogleAdManager` - GoogleAdManager\n* `CampaignManager360` - CampaignManager360\n* `SearchAds360` - SearchAds360\n* `AdobeCommerce` - AdobeCommerce\n* `AmazonSellingPartner` - AmazonSellingPartner\n* `Ebay` - Ebay\n* `Commercetools` - Commercetools\n* `LightspeedRetail` - LightspeedRetail\n* `ShipStation` - ShipStation\n* `ConstantContact` - ConstantContact\n* `Mailgun` - Mailgun\n* `Eloqua` - Eloqua\n* `Sailthru` - Sailthru\n* `Ortto` - Ortto\n* `Attentive` - Attentive\n* `Kustomer` - Kustomer\n* `Dixa` - Dixa\n* `Gladly` - Gladly\n* `Qualtrics` - Qualtrics\n* `Delighted` - Delighted\n* `AzureDevOps` - AzureDevOps\n* `Rollbar` - Rollbar\n* `Opsgenie` - Opsgenie\n* `IncidentIo` - IncidentIo\n* `Pingdom` - Pingdom\n* `Cloudflare` - Cloudflare\n* `CosmosDB` - CosmosDB\n* `PlanetScale` - PlanetScale\n* `SapHana` - SapHana\n* `Rippling` - Rippling\n* `HiBob` - HiBob\n* `Personio` - Personio\n* `Deel` - Deel\n* `AdpWorkforceNow` - AdpWorkforceNow\n* `Paylocity` - Paylocity\n* `Gusto` - Gusto\n* `CultureAmp` - CultureAmp\n* `Lattice` - Lattice\n* `SageIntacct` - SageIntacct\n* `FreshBooks` - FreshBooks\n* `Expensify` - Expensify\n* `Ramp` - Ramp\n* `Brex` - Brex\n* `Coupa` - Coupa\n* `SapConcur` - SapConcur\n* `Apollo` - Apollo\n* `Crunchbase` - Crunchbase\n* `ZoomInfo` - ZoomInfo\n* `Clari` - Clari\n* `Chorus` - Chorus\n* `Coda` - Coda\n* `Guru` - Guru\n* `Dropbox` - Dropbox\n* `Docusign` - Docusign\n* `PandaDoc` - PandaDoc\n* `SapErp` - SapErp\n* `SapSuccessFactors` - SapSuccessFactors\n* `OracleEbs` - OracleEbs\n* `OracleFusion` - OracleFusion\n* `AmazonSNS` - AmazonSNS\n* `AmazonEventBridge` - AmazonEventBridge\n* `AmazonSQS` - AmazonSQS\n* `AmazonKinesis` - AmazonKinesis\n* `AmazonCloudWatch` - AmazonCloudWatch\n* `OpenAIAds` - OpenAIAds\n* `OneHundredMs` - OneHundredMs\n* `SevenShifts` - SevenShifts\n* `AcuityScheduling` - AcuityScheduling\n* `AgileCRM` - AgileCRM\n* `Aha` - Aha\n* `Airbyte` - Airbyte\n* `Akeneo` - Akeneo\n* `Algolia` - Algolia\n* `AlpacaBrokerAPI` - AlpacaBrokerAPI\n* `ApifyDataset` - ApifyDataset\n* `Appcues` - Appcues\n* `Appfigures` - Appfigures\n* `Appfollow` - Appfollow\n* `Apptivo` - Apptivo\n* `AssemblyAI` - AssemblyAI\n* `Awin` - Awin\n* `AwsCloudTrail` - AwsCloudTrail\n* `AzureTableStorage` - AzureTableStorage\n* `Babelforce` - Babelforce\n* `Basecamp` - Basecamp\n* `Beamer` - Beamer\n* `BigMailer` - BigMailer\n* `Bluetally` - Bluetally\n* `BoldSign` - BoldSign\n* `BreezyHR` - BreezyHR\n* `Bugsnag` - Bugsnag\n* `Buildkite` - Buildkite\n* `Bunny` - Bunny\n* `Buzzsprout` - Buzzsprout\n* `CalCom` - CalCom\n* `CallRail` - CallRail\n* `Campayn` - Campayn\n* `Canny` - Canny\n* `CapsuleCRM` - CapsuleCRM\n* `CaptainData` - CaptainData\n* `CartCom` - CartCom\n* `CastorEDC` - CastorEDC\n* `Chameleon` - Chameleon\n* `Chargedesk` - Chargedesk\n* `Chargify` - Chargify\n* `Chift` - Chift\n* `Churnkey` - Churnkey\n* `Cin7` - Cin7\n* `CiscoMeraki` - CiscoMeraki\n* `Clazar` - Clazar\n* `Clockify` - Clockify\n* `Clockodo` - Clockodo\n* `Cloudbeds` - Cloudbeds\n* `Coassemble` - Coassemble\n* `Codefresh` - Codefresh\n* `Concord` - Concord\n* `ConfigCat` - ConfigCat\n* `Couchbase` - Couchbase\n* `Curve` - Curve\n* `Customerly` - Customerly\n* `Datascope` - Datascope\n* `Dbt` - Dbt\n* `Deputy` - Deputy\n* `DevinAI` - DevinAI\n* `Docuseal` - Docuseal\n* `Dolibarr` - Dolibarr\n* `Dremio` - Dremio\n* `DropboxSign` - DropboxSign\n* `Dwolla` - Dwolla\n* `EConomic` - EConomic\n* `Easypost` - Easypost\n* `Easypromos` - Easypromos\n* `Elasticemail` - Elasticemail\n* `EmailOctopus` - EmailOctopus\n* `EmploymentHero` - EmploymentHero\n* `Encharge` - Encharge\n* `Eventee` - Eventee\n* `Eventzilla` - Eventzilla\n* `Everhour` - Everhour\n* `EZOfficeInventory` - EZOfficeInventory\n* `Factorial` - Factorial\n* `Fastbill` - Fastbill\n* `Fastly` - Fastly\n* `Fauna` - Fauna\n* `Feishu` - Feishu\n* `Fillout` - Fillout\n* `Finage` - Finage\n* `Firebolt` - Firebolt\n* `FireHydrant` - FireHydrant\n* `Fleetio` - Fleetio\n* `Flexmail` - Flexmail\n* `Flexport` - Flexport\n* `FloatApp` - FloatApp\n* `Flowlu` - Flowlu\n* `Formbricks` - Formbricks\n* `FreeAgent` - FreeAgent\n* `Freightview` - Freightview\n* `Freshcaller` - Freshcaller\n* `Freshchat` - Freshchat\n* `Freshservice` - Freshservice\n* `Fulcrum` - Fulcrum\n* `GainsightPx` - GainsightPx\n* `GitBook` - GitBook\n* `Glassfrog` - Glassfrog\n* `Goldcast` - Goldcast\n* `GoLogin` - GoLogin\n* `Grafana` - Grafana\n* `GreytHr` - GreytHr\n* `Gridly` - Gridly\n* `Harness` - Harness\n* `Height` - Height\n* `Hellobaton` - Hellobaton\n* `HighLevel` - HighLevel\n* `HoorayHR` - HoorayHR\n* `Hubplanner` - Hubplanner\n* `Humanitix` - Humanitix\n* `Huntr` - Huntr\n* `Inflowinventory` - Inflowinventory\n* `InforNexus` - InforNexus\n* `Insightful` - Insightful\n* `Insightly` - Insightly\n* `Instantly` - Instantly\n* `Instatus` - Instatus\n* `Intruder` - Intruder\n* `Invoiced` - Invoiced\n* `Invoiceninja` - Invoiceninja\n* `JamfPro` - JamfPro\n* `JobNimbus` - JobNimbus\n* `Jotform` - Jotform\n* `JudgeMeReviews` - JudgeMeReviews\n* `JustCall` - JustCall\n* `JustSift` - JustSift\n* `K6Cloud` - K6Cloud\n* `Katana` - Katana\n* `Keka` - Keka\n* `Kisi` - Kisi\n* `Kissmetrics` - Kissmetrics\n* `Klarna` - Klarna\n* `Klaus` - Klaus\n* `Lago` - Lago\n* `Leadfeeder` - Leadfeeder\n* `Lemlist` - Lemlist\n* `LessAnnoyingCRM` - LessAnnoyingCRM\n* `LinkedinPages` - LinkedinPages\n* `Linkrunner` - Linkrunner\n* `Linnworks` - Linnworks\n* `Lob` - Lob\n* `Lokalise` - Lokalise\n* `Looker` - Looker\n* `Luma` - Luma\n* `MailerSend` - MailerSend\n* `Mailosaur` - Mailosaur\n* `Mailtrap` - Mailtrap\n* `Mantle` - Mantle\n* `Mention` - Mention\n* `MercadoAds` - MercadoAds\n* `Merge` - Merge\n* `Metabase` - Metabase\n* `Metricool` - Metricool\n* `MicrosoftDataverse` - MicrosoftDataverse\n* `MicrosoftEntraId` - MicrosoftEntraId\n* `MicrosoftLists` - MicrosoftLists\n* `Miro` - Miro\n* `Missive` - Missive\n* `MixMax` - MixMax\n* `Mode` - Mode\n* `Mux` - Mux\n* `MyHours` - MyHours\n* `N8n` - N8n\n* `Navan` - Navan\n* `NebiusAI` - NebiusAI\n* `Nexiopay` - Nexiopay\n* `NinjaOneRMM` - NinjaOneRMM\n* `NoCRM` - NoCRM\n* `NorthpassLMS` - NorthpassLMS\n* `Nutshell` - Nutshell\n* `Nylas` - Nylas\n* `Oncehub` - Oncehub\n* `Onepagecrm` - Onepagecrm\n* `OneSignal` - OneSignal\n* `Onfleet` - Onfleet\n* `OpinionStage` - OpinionStage\n* `OPUSWatch` - OPUSWatch\n* `Orb` - Orb\n* `Orbit` - Orbit\n* `Oura` - Oura\n* `Oveit` - Oveit\n* `PabblySubscriptionsBilling` - PabblySubscriptionsBilling\n* `Paperform` - Paperform\n* `Papersign` - Papersign\n* `Partnerize` - Partnerize\n* `PartnerStack` - PartnerStack\n* `PayFit` - PayFit\n* `Paystack` - Paystack\n* `Pennylane` - Pennylane\n* `Perk` - Perk\n* `PersistIq` - PersistIq\n* `Persona` - Persona\n* `Phyllo` - Phyllo\n* `Picqer` - Picqer\n* `Pipeliner` - Pipeliner\n* `PivotalTracker` - PivotalTracker\n* `Piwik` - Piwik\n* `Planhat` - Planhat\n* `Plausible` - Plausible\n* `Poplar` - Poplar\n* `PrestaShop` - PrestaShop\n* `Pretix` - Pretix\n* `Primetric` - Primetric\n* `Printify` - Printify\n* `Productive` - Productive\n* `Pylon` - Pylon\n* `Qonto` - Qonto\n* `Qualaroo` - Qualaroo\n* `Railz` - Railz\n* `RDStationMarketing` - RDStationMarketing\n* `Recruitee` - Recruitee\n* `Reddit` - Reddit\n* `ReferralHero` - ReferralHero\n* `RentCast` - RentCast\n* `Repairshopr` - Repairshopr\n* `ReplyIo` - ReplyIo\n* `RetailExpress` - RetailExpress\n* `Retently` - Retently\n* `RevolutMerchant` - RevolutMerchant\n* `RocketChat` - RocketChat\n* `Rocketlane` - Rocketlane\n* `Rootly` - Rootly\n* `Ruddr` - Ruddr\n* `SafetyCulture` - SafetyCulture\n* `SageHR` - SageHR\n* `Salesflare` - Salesflare\n* `SAPFieldglass` - SAPFieldglass\n* `SavvyCal` - SavvyCal\n* `Secoda` - Secoda\n* `Segment` - Segment\n* `Sendowl` - Sendowl\n* `SendPulse` - SendPulse\n* `Senseforce` - Senseforce\n* `Serpstat` - Serpstat\n* `Sharetribe` - Sharetribe\n* `Shippo` - Shippo\n* `ShopWired` - ShopWired\n* `Shortio` - Shortio\n* `Shutterstock` - Shutterstock\n* `SigmaComputing` - SigmaComputing\n* `SignNow` - SignNow\n* `SimpleCast` - SimpleCast\n* `Simplesat` - Simplesat\n* `Smaily` - Smaily\n* `SmartEngage` - SmartEngage\n* `Smartreach` - Smartreach\n* `Smartwaiver` - Smartwaiver\n* `SolarwindsServiceDesk` - SolarwindsServiceDesk\n* `SonarCloud` - SonarCloud\n* `SparkPost` - SparkPost\n* `SplitIo` - SplitIo\n* `SpotifyAds` - SpotifyAds\n* `SpotlerCRM` - SpotlerCRM\n* `Squarespace` - Squarespace\n* `Statsig` - Statsig\n* `Statuspage` - Statuspage\n* `Stigg` - Stigg\n* `Strava` - Strava\n* `SurveySparrow` - SurveySparrow\n* `Survicate` - Survicate\n* `Svix` - Svix\n* `Systeme` - Systeme\n* `Tavus` - Tavus\n* `Teamtailor` - Teamtailor\n* `Teamwork` - Teamwork\n* `Tempo` - Tempo\n* `Testrail` - Testrail\n* `Thinkific` - Thinkific\n* `ThinkificCourses` - ThinkificCourses\n* `ThriveLearning` - ThriveLearning\n* `Ticketmaster` - Ticketmaster\n* `TicketTailor` - TicketTailor\n* `TickTick` - TickTick\n* `Timely` - Timely\n* `Tinyemail` - Tinyemail\n* `Todoist` - Todoist\n* `Toggl` - Toggl\n* `TrackPMS` - TrackPMS\n* `Tremendous` - Tremendous\n* `TrustPilot` - TrustPilot\n* `Twitter` - Twitter\n* `TyntecSMS` - TyntecSMS\n* `Unleash` - Unleash\n* `UpPromote` - UpPromote\n* `Uptick` - Uptick\n* `Uservoice` - Uservoice\n* `Vantage` - Vantage\n* `Veeqo` - Veeqo\n* `Vercel` - Vercel\n* `VismaEconomic` - VismaEconomic\n* `VWO` - VWO\n* `Waiteraid` - Waiteraid\n* `Wasabi` - Wasabi\n* `WhenIWork` - WhenIWork\n* `Wordpress` - Wordpress\n* `Workable` - Workable\n* `Workflowmax` - Workflowmax\n* `Workramp` - Workramp\n* `Wufoo` - Wufoo\n* `Xsolla` - Xsolla\n* `YandexMetrica` - YandexMetrica\n* `Yotpo` - Yotpo\n* `Ynab` - Ynab\n* `Younium` - Younium\n* `YouSign` - YouSign\n* `YoutubeData` - YoutubeData\n* `ZapierSupportedStorage` - ZapierSupportedStorage\n* `ZapSign` - ZapSign\n* `ZendeskSell` - ZendeskSell\n* `ZendeskSunshine` - ZendeskSunshine\n* `Zenefits` - Zenefits\n* `Zenloop` - Zenloop\n* `ZohoAnalytics` - ZohoAnalytics\n* `ZohoBigin` - ZohoBigin\n* `ZohoBilling` - ZohoBilling\n* `ZohoBooks` - ZohoBooks\n* `ZohoCampaign` - ZohoCampaign\n* `ZohoDesk` - ZohoDesk\n* `ZohoExpense` - ZohoExpense\n* `ZohoInventory` - ZohoInventory\n* `ZohoInvoice` - ZohoInvoice\n* `ZonkaFeedback` - ZonkaFeedback\n* `AlphaVantage` - AlphaVantage\n* `Aviationstack` - Aviationstack\n* `Bitly` - Bitly\n* `Blogger` - Blogger\n* `Breezometer` - Breezometer\n* `CareQualityCommission` - CareQualityCommission\n* `Cimis` - Cimis\n* `CoinApi` - CoinApi\n* `CoinGecko` - CoinGecko\n* `CoinMarketCap` - CoinMarketCap\n* `DingConnect` - DingConnect\n* `Dockerhub` - Dockerhub\n* `ExchangeRatesApi` - ExchangeRatesApi\n* `FinancialModelling` - FinancialModelling\n* `Finnhub` - Finnhub\n* `Finnworlds` - Finnworlds\n* `Giphy` - Giphy\n* `Gmail` - Gmail\n* `GNews` - GNews\n* `GoogleCalendar` - GoogleCalendar\n* `GoogleClassroom` - GoogleClassroom\n* `GoogleDirectory` - GoogleDirectory\n* `GoogleForms` - GoogleForms\n* `GooglePageSpeedInsights` - GooglePageSpeedInsights\n* `GoogleTasks` - GoogleTasks\n* `GoogleWebfonts` - GoogleWebfonts\n* `GoogleWorkspaceAdminReports` - GoogleWorkspaceAdminReports\n* `HuggingFace` - HuggingFace\n* `IlluminaBasespace` - IlluminaBasespace\n* `Imagga` - Imagga\n* `Interzoid` - Interzoid\n* `IP2Whois` - IP2Whois\n* `KYVE` - KYVE\n* `Marketstack` - Marketstack\n* `Mendeley` - Mendeley\n* `Nasa` - Nasa\n* `NewYorkTimes` - NewYorkTimes\n* `NewsApi` - NewsApi\n* `NewsData` - NewsData\n* `OpenDataDc` - OpenDataDc\n* `OpenExchangeRates` - OpenExchangeRates\n* `OpenAQ` - OpenAQ\n* `OpenFDA` - OpenFDA\n* `OpenWeather` - OpenWeather\n* `Outlook` - Outlook\n* `Perigon` - Perigon\n* `Pexels` - Pexels\n* `Pocket` - Pocket\n* `Polygon` - Polygon\n* `PyPI` - PyPI\n* `Recreation` - Recreation\n* `RKICovid` - RKICovid\n* `Rss` - Rss\n* `SimFin` - SimFin\n* `StockData` - StockData\n* `Guardian` - Guardian\n* `TMDb` - TMDb\n* `TVMaze` - TVMaze\n* `TwelveData` - TwelveData\n* `Ubidots` - Ubidots\n* `USCensus` - USCensus\n* `Watchmode` - Watchmode\n* `WikipediaPageviews` - WikipediaPageviews\n* `YahooFinance` - YahooFinance\n* `Clarifai` - Clarifai\n* `Adapty` - Adapty\n* `Braintrust` - Braintrust\n* `StreamElements` - StreamElements\n* `Streamlabs` - Streamlabs\n* `Datorama` - Datorama\n* `Ahrefs` - Ahrefs\n* `Lightfield` - Lightfield\n* `Appstack` - Appstack\n* `Razorpay` - Razorpay\n* `Neon` - Neon\n* `NewRelic` - NewRelic\n* `Custom` - Custom\n* `Tile38` - Tile38\n* `Chatwoot` - Chatwoot\n* `Sanity` - Sanity\n* `Metronome` - Metronome\n* `Jobber` - Jobber\n* `Knock` - Knock\n* `Leexi` - Leexi\n* `RB2B` - RB2B\n* `Superwall` - Superwall\n* `Liana` - Liana\n* `TawkTo` - TawkTo\n* `Hightouch` - Hightouch\n* `LemonSqueezy` - LemonSqueezy\n* `Ikas` - Ikas\n* `Talkwalker` - Talkwalker\n* `NextdoorAds` - NextdoorAds\n* `AppLovin` - AppLovin\n* `Baserow` - Baserow\n* `Plunk` - Plunk\n* `Dub` - Dub\n* `AirOps` - AirOps\n* `Podium` - Podium\n* `Loops` - Loops\n* `Redis` - Redis\n* `Mercury` - Mercury\n* `Gojiberry` - Gojiberry\n* `Teachable` - Teachable\n* `PeecAI` - PeecAI\n* `Healthchecks` - Healthchecks\n* `Impact` - Impact\n* `AikidoSecurity` - AikidoSecurity\n* `Alguna` - Alguna\n* `Anthropic` - Anthropic\n* `Appwrite` - Appwrite\n* `BlandAI` - BlandAI\n* `BrowseAI` - BrowseAI\n* `BrowserUse` - BrowserUse\n* `ChartHop` - ChartHop\n* `Cody` - Cody\n* `Cursor` - Cursor\n* `Decagon` - Decagon\n* `Deepgram` - Deepgram\n* `ElevenLabs` - ElevenLabs\n* `Harvey` - Harvey\n* `Hyperspell` - Hyperspell\n* `Langfuse` - Langfuse\n* `LingoDev` - LingoDev\n* `M3ter` - M3ter\n* `Maxio` - Maxio\n* `Metorial` - Metorial\n* `OpenRouter` - OpenRouter\n* `TogetherAI` - TogetherAI\n* `Vapi` - Vapi\n* `Vespa` - Vespa\n* `Writesonic` - Writesonic\n* `Aiven` - Aiven\n* `Aviator` - Aviator\n* `Backblaze` - Backblaze\n* `Baseten` - Baseten\n* `Browserbase` - Browserbase\n* `Cohere` - Cohere\n* `DenoDeploy` - DenoDeploy\n* `DigitalOcean` - DigitalOcean\n* `E2B` - E2B\n* `Fintoc` - Fintoc\n* `Firecrawl` - Firecrawl\n* `FireworksAI` - FireworksAI\n* `FlyIo` - FlyIo\n* `Groq` - Groq\n* `GrowthBook` - GrowthBook\n* `Gumloop` - Gumloop\n* `Hatchet` - Hatchet\n* `Helicone` - Helicone\n* `Heroku` - Heroku\n* `Hetzner` - Hetzner\n* `HeyGen` - HeyGen\n* `Infisical` - Infisical\n* `Inngest` - Inngest\n* `KapaAI` - KapaAI\n* `Kernel` - Kernel\n* `Koyeb` - Koyeb\n* `LambdaLabs` - LambdaLabs\n* `LangSmith` - LangSmith\n* `Linode` - Linode\n* `LlamaCloud` - LlamaCloud\n* `Mem0` - Mem0\n* `Metriport` - Metriport\n* `Mintlify` - Mintlify\n* `MistralAI` - MistralAI\n* `Mono` - Mono\n* `Netlify` - Netlify\n* `Northflank` - Northflank\n* `OpenAI` - OpenAI\n* `Pinecone` - Pinecone\n* `PlatformSh` - PlatformSh\n* `PromptingCompany` - PromptingCompany\n* `Qdrant` - Qdrant\n* `Render` - Render\n* `Replicate` - Replicate\n* `RetellAI` - RetellAI\n* `Roark` - Roark\n* `RunPod` - RunPod\n* `ScaleAI` - ScaleAI\n* `Scaleway` - Scaleway\n* `SigNoz` - SigNoz\n* `Sim` - Sim\n* `Skyvern` - Skyvern\n* `Slash` - Slash\n* `Synthesia` - Synthesia\n* `Telli` - Telli\n* `TerraApi` - TerraApi\n* `TriggerDev` - TriggerDev\n* `Turso` - Turso\n* `Singular` - Singular\n* `Swonkie` - Swonkie\n* `TwelveLabs` - TwelveLabs\n* `Twenty` - Twenty\n* `Unstructured` - Unstructured\n* `Upstash` - Upstash\n* `Vellum` - Vellum\n* `Vultr` - Vultr\n* `Windmill` - Windmill\n* `Zep` - Zep\n* `Hex` - Hex"
104106
+ "* `Ashby` - Ashby\n* `Supabase` - Supabase\n* `CustomerIO` - CustomerIO\n* `Github` - Github\n* `Stripe` - Stripe\n* `Hubspot` - Hubspot\n* `Postgres` - Postgres\n* `Zendesk` - Zendesk\n* `Snowflake` - Snowflake\n* `Salesforce` - Salesforce\n* `MySQL` - MySQL\n* `MongoDB` - MongoDB\n* `MSSQL` - MSSQL\n* `Vitally` - Vitally\n* `BigQuery` - BigQuery\n* `Chargebee` - Chargebee\n* `Clerk` - Clerk\n* `GoogleAds` - GoogleAds\n* `GoogleSearchConsole` - GoogleSearchConsole\n* `TemporalIO` - TemporalIO\n* `DoIt` - DoIt\n* `GoogleSheets` - GoogleSheets\n* `MetaAds` - MetaAds\n* `Klaviyo` - Klaviyo\n* `Mailchimp` - Mailchimp\n* `Braze` - Braze\n* `Mailjet` - Mailjet\n* `Redshift` - Redshift\n* `Polar` - Polar\n* `RevenueCat` - RevenueCat\n* `LinkedinAds` - LinkedinAds\n* `RedditAds` - RedditAds\n* `TikTokAds` - TikTokAds\n* `BingAds` - BingAds\n* `Shopify` - Shopify\n* `Attio` - Attio\n* `SnapchatAds` - SnapchatAds\n* `Linear` - Linear\n* `Intercom` - Intercom\n* `Amplitude` - Amplitude\n* `Mixpanel` - Mixpanel\n* `Jira` - Jira\n* `ActiveCampaign` - ActiveCampaign\n* `Marketo` - Marketo\n* `Adjust` - Adjust\n* `AppsFlyer` - AppsFlyer\n* `Freshdesk` - Freshdesk\n* `GoogleAnalytics` - GoogleAnalytics\n* `Pipedrive` - Pipedrive\n* `SendGrid` - SendGrid\n* `Slack` - Slack\n* `PagerDuty` - PagerDuty\n* `Asana` - Asana\n* `Notion` - Notion\n* `Airtable` - Airtable\n* `Greenhouse` - Greenhouse\n* `BambooHR` - BambooHR\n* `Lever` - Lever\n* `GitLab` - GitLab\n* `Datadog` - Datadog\n* `Sentry` - Sentry\n* `Pendo` - Pendo\n* `FullStory` - FullStory\n* `AmazonAds` - AmazonAds\n* `PinterestAds` - PinterestAds\n* `AppleSearchAds` - AppleSearchAds\n* `QuickBooks` - QuickBooks\n* `Xero` - Xero\n* `NetSuite` - NetSuite\n* `WooCommerce` - WooCommerce\n* `BigCommerce` - BigCommerce\n* `PayPal` - PayPal\n* `Square` - Square\n* `Zoom` - Zoom\n* `Trello` - Trello\n* `Monday` - Monday\n* `ClickUp` - ClickUp\n* `Confluence` - Confluence\n* `Recurly` - Recurly\n* `SalesLoft` - SalesLoft\n* `Outreach` - Outreach\n* `Gong` - Gong\n* `Calendly` - Calendly\n* `Typeform` - Typeform\n* `Iterable` - Iterable\n* `ZohoCRM` - ZohoCRM\n* `Close` - Close\n* `Oracle` - Oracle\n* `DynamoDB` - DynamoDB\n* `Elasticsearch` - Elasticsearch\n* `Kafka` - Kafka\n* `LaunchDarkly` - LaunchDarkly\n* `Braintree` - Braintree\n* `Recharge` - Recharge\n* `HelpScout` - HelpScout\n* `Gorgias` - Gorgias\n* `Instagram` - Instagram\n* `YouTubeAnalytics` - YouTubeAnalytics\n* `FacebookPages` - FacebookPages\n* `TwitterAds` - TwitterAds\n* `Workday` - Workday\n* `ServiceNow` - ServiceNow\n* `Pardot` - Pardot\n* `Copper` - Copper\n* `Front` - Front\n* `ChartMogul` - ChartMogul\n* `Zuora` - Zuora\n* `Paddle` - Paddle\n* `CircleCI` - CircleCI\n* `CockroachDB` - CockroachDB\n* `Firebase` - Firebase\n* `AzureBlob` - AzureBlob\n* `GoogleDrive` - GoogleDrive\n* `OneDrive` - OneDrive\n* `SharePoint` - SharePoint\n* `Box` - Box\n* `SFTP` - SFTP\n* `MicrosoftTeams` - MicrosoftTeams\n* `Aircall` - Aircall\n* `Webflow` - Webflow\n* `Okta` - Okta\n* `Auth0` - Auth0\n* `Productboard` - Productboard\n* `Smartsheet` - Smartsheet\n* `Wrike` - Wrike\n* `Plaid` - Plaid\n* `SurveyMonkey` - SurveyMonkey\n* `Eventbrite` - Eventbrite\n* `RingCentral` - RingCentral\n* `Twilio` - Twilio\n* `Freshsales` - Freshsales\n* `Shortcut` - Shortcut\n* `ConvertKit` - ConvertKit\n* `Drip` - Drip\n* `CampaignMonitor` - CampaignMonitor\n* `MailerLite` - MailerLite\n* `Omnisend` - Omnisend\n* `Brevo` - Brevo\n* `Postmark` - Postmark\n* `Granola` - Granola\n* `BuildBetter` - BuildBetter\n* `Convex` - Convex\n* `ClickHouse` - ClickHouse\n* `Plain` - Plain\n* `Resend` - Resend\n* `PgAnalyze` - PgAnalyze\n* `WorkOS` - WorkOS\n* `AmazonS3` - AmazonS3\n* `GoogleCloudStorage` - GoogleCloudStorage\n* `Databricks` - Databricks\n* `Dynamics365` - Dynamics365\n* `SalesforceMarketingCloud` - SalesforceMarketingCloud\n* `Db2` - Db2\n* `Heap` - Heap\n* `AdobeAnalytics` - AdobeAnalytics\n* `Matomo` - Matomo\n* `Optimizely` - Optimizely\n* `Adyen` - Adyen\n* `GoCardless` - GoCardless\n* `Mollie` - Mollie\n* `CheckoutCom` - CheckoutCom\n* `Branch` - Branch\n* `Criteo` - Criteo\n* `Outbrain` - Outbrain\n* `Taboola` - Taboola\n* `AdRoll` - AdRoll\n* `DisplayVideo360` - DisplayVideo360\n* `GoogleAdManager` - GoogleAdManager\n* `CampaignManager360` - CampaignManager360\n* `SearchAds360` - SearchAds360\n* `AdobeCommerce` - AdobeCommerce\n* `AmazonSellingPartner` - AmazonSellingPartner\n* `Ebay` - Ebay\n* `Commercetools` - Commercetools\n* `LightspeedRetail` - LightspeedRetail\n* `ShipStation` - ShipStation\n* `ConstantContact` - ConstantContact\n* `Mailgun` - Mailgun\n* `Eloqua` - Eloqua\n* `Sailthru` - Sailthru\n* `Ortto` - Ortto\n* `Attentive` - Attentive\n* `Kustomer` - Kustomer\n* `Dixa` - Dixa\n* `Gladly` - Gladly\n* `Qualtrics` - Qualtrics\n* `Delighted` - Delighted\n* `AzureDevOps` - AzureDevOps\n* `Rollbar` - Rollbar\n* `Opsgenie` - Opsgenie\n* `IncidentIo` - IncidentIo\n* `Pingdom` - Pingdom\n* `Cloudflare` - Cloudflare\n* `CosmosDB` - CosmosDB\n* `PlanetScale` - PlanetScale\n* `SapHana` - SapHana\n* `Rippling` - Rippling\n* `HiBob` - HiBob\n* `Personio` - Personio\n* `Deel` - Deel\n* `AdpWorkforceNow` - AdpWorkforceNow\n* `Paylocity` - Paylocity\n* `Gusto` - Gusto\n* `CultureAmp` - CultureAmp\n* `Lattice` - Lattice\n* `SageIntacct` - SageIntacct\n* `FreshBooks` - FreshBooks\n* `Expensify` - Expensify\n* `Ramp` - Ramp\n* `Brex` - Brex\n* `Coupa` - Coupa\n* `SapConcur` - SapConcur\n* `Apollo` - Apollo\n* `Crunchbase` - Crunchbase\n* `ZoomInfo` - ZoomInfo\n* `Clari` - Clari\n* `Chorus` - Chorus\n* `Coda` - Coda\n* `Guru` - Guru\n* `Dropbox` - Dropbox\n* `Docusign` - Docusign\n* `PandaDoc` - PandaDoc\n* `SapErp` - SapErp\n* `SapSuccessFactors` - SapSuccessFactors\n* `OracleEbs` - OracleEbs\n* `OracleFusion` - OracleFusion\n* `AmazonSNS` - AmazonSNS\n* `AmazonEventBridge` - AmazonEventBridge\n* `AmazonSQS` - AmazonSQS\n* `AmazonKinesis` - AmazonKinesis\n* `AmazonCloudWatch` - AmazonCloudWatch\n* `OpenAIAds` - OpenAIAds\n* `OneHundredMs` - OneHundredMs\n* `SevenShifts` - SevenShifts\n* `AcuityScheduling` - AcuityScheduling\n* `AgileCRM` - AgileCRM\n* `Aha` - Aha\n* `Airbyte` - Airbyte\n* `Akeneo` - Akeneo\n* `Algolia` - Algolia\n* `AlpacaBrokerAPI` - AlpacaBrokerAPI\n* `ApifyDataset` - ApifyDataset\n* `Appcues` - Appcues\n* `Appfigures` - Appfigures\n* `Appfollow` - Appfollow\n* `Apptivo` - Apptivo\n* `AssemblyAI` - AssemblyAI\n* `Awin` - Awin\n* `AwsCloudTrail` - AwsCloudTrail\n* `AzureTableStorage` - AzureTableStorage\n* `Babelforce` - Babelforce\n* `Basecamp` - Basecamp\n* `Beamer` - Beamer\n* `BigMailer` - BigMailer\n* `Bluetally` - Bluetally\n* `BoldSign` - BoldSign\n* `BreezyHR` - BreezyHR\n* `Bugsnag` - Bugsnag\n* `Buildkite` - Buildkite\n* `Bunny` - Bunny\n* `Buzzsprout` - Buzzsprout\n* `CalCom` - CalCom\n* `CallRail` - CallRail\n* `Campayn` - Campayn\n* `Canny` - Canny\n* `CapsuleCRM` - CapsuleCRM\n* `CaptainData` - CaptainData\n* `CartCom` - CartCom\n* `CastorEDC` - CastorEDC\n* `Chameleon` - Chameleon\n* `Chargedesk` - Chargedesk\n* `Chargify` - Chargify\n* `Chift` - Chift\n* `Churnkey` - Churnkey\n* `Cin7` - Cin7\n* `CiscoMeraki` - CiscoMeraki\n* `Clazar` - Clazar\n* `Clockify` - Clockify\n* `Clockodo` - Clockodo\n* `Cloudbeds` - Cloudbeds\n* `Coassemble` - Coassemble\n* `Codefresh` - Codefresh\n* `Concord` - Concord\n* `ConfigCat` - ConfigCat\n* `Couchbase` - Couchbase\n* `Curve` - Curve\n* `Customerly` - Customerly\n* `Datascope` - Datascope\n* `Dbt` - Dbt\n* `Deputy` - Deputy\n* `DevinAI` - DevinAI\n* `Docuseal` - Docuseal\n* `Dolibarr` - Dolibarr\n* `Dremio` - Dremio\n* `DropboxSign` - DropboxSign\n* `Dwolla` - Dwolla\n* `EConomic` - EConomic\n* `Easypost` - Easypost\n* `Easypromos` - Easypromos\n* `Elasticemail` - Elasticemail\n* `EmailOctopus` - EmailOctopus\n* `EmploymentHero` - EmploymentHero\n* `Encharge` - Encharge\n* `Eventee` - Eventee\n* `Eventzilla` - Eventzilla\n* `Everhour` - Everhour\n* `EZOfficeInventory` - EZOfficeInventory\n* `Factorial` - Factorial\n* `Fastbill` - Fastbill\n* `Fastly` - Fastly\n* `Fauna` - Fauna\n* `Feishu` - Feishu\n* `Fillout` - Fillout\n* `Finage` - Finage\n* `Firebolt` - Firebolt\n* `FireHydrant` - FireHydrant\n* `Fleetio` - Fleetio\n* `Flexmail` - Flexmail\n* `Flexport` - Flexport\n* `FloatApp` - FloatApp\n* `Flowlu` - Flowlu\n* `Formbricks` - Formbricks\n* `FreeAgent` - FreeAgent\n* `Freightview` - Freightview\n* `Freshcaller` - Freshcaller\n* `Freshchat` - Freshchat\n* `Freshservice` - Freshservice\n* `Fulcrum` - Fulcrum\n* `GainsightPx` - GainsightPx\n* `GitBook` - GitBook\n* `Glassfrog` - Glassfrog\n* `Goldcast` - Goldcast\n* `GoLogin` - GoLogin\n* `Grafana` - Grafana\n* `GreytHr` - GreytHr\n* `Gridly` - Gridly\n* `Harness` - Harness\n* `Height` - Height\n* `Hellobaton` - Hellobaton\n* `HighLevel` - HighLevel\n* `HoorayHR` - HoorayHR\n* `Hubplanner` - Hubplanner\n* `Humanitix` - Humanitix\n* `Huntr` - Huntr\n* `Inflowinventory` - Inflowinventory\n* `InforNexus` - InforNexus\n* `Insightful` - Insightful\n* `Insightly` - Insightly\n* `Instantly` - Instantly\n* `Instatus` - Instatus\n* `Intruder` - Intruder\n* `Invoiced` - Invoiced\n* `Invoiceninja` - Invoiceninja\n* `JamfPro` - JamfPro\n* `JobNimbus` - JobNimbus\n* `Jotform` - Jotform\n* `JudgeMeReviews` - JudgeMeReviews\n* `JustCall` - JustCall\n* `JustSift` - JustSift\n* `K6Cloud` - K6Cloud\n* `Katana` - Katana\n* `Keka` - Keka\n* `Kisi` - Kisi\n* `Kissmetrics` - Kissmetrics\n* `Klarna` - Klarna\n* `Klaus` - Klaus\n* `Lago` - Lago\n* `Leadfeeder` - Leadfeeder\n* `Lemlist` - Lemlist\n* `LessAnnoyingCRM` - LessAnnoyingCRM\n* `LinkedinPages` - LinkedinPages\n* `Linkrunner` - Linkrunner\n* `Linnworks` - Linnworks\n* `Lob` - Lob\n* `Lokalise` - Lokalise\n* `Looker` - Looker\n* `Luma` - Luma\n* `MailerSend` - MailerSend\n* `Mailosaur` - Mailosaur\n* `Mailtrap` - Mailtrap\n* `Mantle` - Mantle\n* `Mention` - Mention\n* `MercadoAds` - MercadoAds\n* `Merge` - Merge\n* `Metabase` - Metabase\n* `Metricool` - Metricool\n* `MicrosoftDataverse` - MicrosoftDataverse\n* `MicrosoftEntraId` - MicrosoftEntraId\n* `MicrosoftLists` - MicrosoftLists\n* `Miro` - Miro\n* `Missive` - Missive\n* `MixMax` - MixMax\n* `Mode` - Mode\n* `Mux` - Mux\n* `MyHours` - MyHours\n* `N8n` - N8n\n* `Navan` - Navan\n* `NebiusAI` - NebiusAI\n* `Nexiopay` - Nexiopay\n* `NinjaOneRMM` - NinjaOneRMM\n* `NoCRM` - NoCRM\n* `NorthpassLMS` - NorthpassLMS\n* `Nutshell` - Nutshell\n* `Nylas` - Nylas\n* `Oncehub` - Oncehub\n* `Onepagecrm` - Onepagecrm\n* `OneSignal` - OneSignal\n* `Onfleet` - Onfleet\n* `OpinionStage` - OpinionStage\n* `OPUSWatch` - OPUSWatch\n* `Orb` - Orb\n* `Orbit` - Orbit\n* `Oura` - Oura\n* `Oveit` - Oveit\n* `PabblySubscriptionsBilling` - PabblySubscriptionsBilling\n* `Paperform` - Paperform\n* `Papersign` - Papersign\n* `Partnerize` - Partnerize\n* `PartnerStack` - PartnerStack\n* `PayFit` - PayFit\n* `Paystack` - Paystack\n* `Pennylane` - Pennylane\n* `Perk` - Perk\n* `PersistIq` - PersistIq\n* `Persona` - Persona\n* `Phyllo` - Phyllo\n* `Picqer` - Picqer\n* `Pipeliner` - Pipeliner\n* `PivotalTracker` - PivotalTracker\n* `Piwik` - Piwik\n* `Planhat` - Planhat\n* `Plausible` - Plausible\n* `Poplar` - Poplar\n* `PrestaShop` - PrestaShop\n* `Pretix` - Pretix\n* `Primetric` - Primetric\n* `Printify` - Printify\n* `Productive` - Productive\n* `Pylon` - Pylon\n* `Qonto` - Qonto\n* `Qualaroo` - Qualaroo\n* `Railz` - Railz\n* `RDStationMarketing` - RDStationMarketing\n* `Recruitee` - Recruitee\n* `Reddit` - Reddit\n* `ReferralHero` - ReferralHero\n* `RentCast` - RentCast\n* `Repairshopr` - Repairshopr\n* `ReplyIo` - ReplyIo\n* `RetailExpress` - RetailExpress\n* `Retently` - Retently\n* `RevolutMerchant` - RevolutMerchant\n* `RocketChat` - RocketChat\n* `Rocketlane` - Rocketlane\n* `Rootly` - Rootly\n* `Ruddr` - Ruddr\n* `SafetyCulture` - SafetyCulture\n* `SageHR` - SageHR\n* `Salesflare` - Salesflare\n* `SAPFieldglass` - SAPFieldglass\n* `SavvyCal` - SavvyCal\n* `Secoda` - Secoda\n* `Segment` - Segment\n* `Sendowl` - Sendowl\n* `SendPulse` - SendPulse\n* `Senseforce` - Senseforce\n* `Serpstat` - Serpstat\n* `Sharetribe` - Sharetribe\n* `Shippo` - Shippo\n* `ShopWired` - ShopWired\n* `Shortio` - Shortio\n* `Shutterstock` - Shutterstock\n* `SigmaComputing` - SigmaComputing\n* `SignNow` - SignNow\n* `SimpleCast` - SimpleCast\n* `Simplesat` - Simplesat\n* `Smaily` - Smaily\n* `SmartEngage` - SmartEngage\n* `Smartreach` - Smartreach\n* `Smartwaiver` - Smartwaiver\n* `SolarwindsServiceDesk` - SolarwindsServiceDesk\n* `SonarCloud` - SonarCloud\n* `SparkPost` - SparkPost\n* `SplitIo` - SplitIo\n* `SpotifyAds` - SpotifyAds\n* `SpotlerCRM` - SpotlerCRM\n* `Squarespace` - Squarespace\n* `Statsig` - Statsig\n* `Statuspage` - Statuspage\n* `Stigg` - Stigg\n* `Strava` - Strava\n* `SurveySparrow` - SurveySparrow\n* `Survicate` - Survicate\n* `Svix` - Svix\n* `Systeme` - Systeme\n* `Tavus` - Tavus\n* `Teamtailor` - Teamtailor\n* `Teamwork` - Teamwork\n* `Tempo` - Tempo\n* `Testrail` - Testrail\n* `Thinkific` - Thinkific\n* `ThinkificCourses` - ThinkificCourses\n* `ThriveLearning` - ThriveLearning\n* `Ticketmaster` - Ticketmaster\n* `TicketTailor` - TicketTailor\n* `TickTick` - TickTick\n* `Timely` - Timely\n* `Tinyemail` - Tinyemail\n* `Todoist` - Todoist\n* `Toggl` - Toggl\n* `TrackPMS` - TrackPMS\n* `Tremendous` - Tremendous\n* `TrustPilot` - TrustPilot\n* `Twitter` - Twitter\n* `TyntecSMS` - TyntecSMS\n* `Unleash` - Unleash\n* `UpPromote` - UpPromote\n* `Uptick` - Uptick\n* `Uservoice` - Uservoice\n* `Vantage` - Vantage\n* `Veeqo` - Veeqo\n* `Vercel` - Vercel\n* `VismaEconomic` - VismaEconomic\n* `VWO` - VWO\n* `Waiteraid` - Waiteraid\n* `Wasabi` - Wasabi\n* `WhenIWork` - WhenIWork\n* `Wordpress` - Wordpress\n* `Workable` - Workable\n* `Workflowmax` - Workflowmax\n* `Workramp` - Workramp\n* `Wufoo` - Wufoo\n* `Xsolla` - Xsolla\n* `YandexMetrica` - YandexMetrica\n* `Yotpo` - Yotpo\n* `Ynab` - Ynab\n* `Younium` - Younium\n* `YouSign` - YouSign\n* `YoutubeData` - YoutubeData\n* `ZapierSupportedStorage` - ZapierSupportedStorage\n* `ZapSign` - ZapSign\n* `ZendeskSell` - ZendeskSell\n* `ZendeskSunshine` - ZendeskSunshine\n* `Zenefits` - Zenefits\n* `Zenloop` - Zenloop\n* `ZohoAnalytics` - ZohoAnalytics\n* `ZohoBigin` - ZohoBigin\n* `ZohoBilling` - ZohoBilling\n* `ZohoBooks` - ZohoBooks\n* `ZohoCampaign` - ZohoCampaign\n* `ZohoDesk` - ZohoDesk\n* `ZohoExpense` - ZohoExpense\n* `ZohoInventory` - ZohoInventory\n* `ZohoInvoice` - ZohoInvoice\n* `ZonkaFeedback` - ZonkaFeedback\n* `AlphaVantage` - AlphaVantage\n* `Aviationstack` - Aviationstack\n* `Bitly` - Bitly\n* `Blogger` - Blogger\n* `Breezometer` - Breezometer\n* `CareQualityCommission` - CareQualityCommission\n* `Cimis` - Cimis\n* `CoinApi` - CoinApi\n* `CoinGecko` - CoinGecko\n* `CoinMarketCap` - CoinMarketCap\n* `DingConnect` - DingConnect\n* `Dockerhub` - Dockerhub\n* `ExchangeRatesApi` - ExchangeRatesApi\n* `FinancialModelling` - FinancialModelling\n* `Finnhub` - Finnhub\n* `Finnworlds` - Finnworlds\n* `Giphy` - Giphy\n* `Gmail` - Gmail\n* `GNews` - GNews\n* `GoogleCalendar` - GoogleCalendar\n* `GoogleClassroom` - GoogleClassroom\n* `GoogleDirectory` - GoogleDirectory\n* `GoogleForms` - GoogleForms\n* `GooglePageSpeedInsights` - GooglePageSpeedInsights\n* `GoogleTasks` - GoogleTasks\n* `GoogleWebfonts` - GoogleWebfonts\n* `GoogleWorkspaceAdminReports` - GoogleWorkspaceAdminReports\n* `HuggingFace` - HuggingFace\n* `IlluminaBasespace` - IlluminaBasespace\n* `Imagga` - Imagga\n* `Interzoid` - Interzoid\n* `IP2Whois` - IP2Whois\n* `KYVE` - KYVE\n* `Marketstack` - Marketstack\n* `Mendeley` - Mendeley\n* `Nasa` - Nasa\n* `NewYorkTimes` - NewYorkTimes\n* `NewsApi` - NewsApi\n* `NewsData` - NewsData\n* `OpenDataDc` - OpenDataDc\n* `OpenExchangeRates` - OpenExchangeRates\n* `OpenAQ` - OpenAQ\n* `OpenFDA` - OpenFDA\n* `OpenWeather` - OpenWeather\n* `Outlook` - Outlook\n* `Perigon` - Perigon\n* `Pexels` - Pexels\n* `Pocket` - Pocket\n* `Polygon` - Polygon\n* `PyPI` - PyPI\n* `Recreation` - Recreation\n* `RKICovid` - RKICovid\n* `Rss` - Rss\n* `SimFin` - SimFin\n* `StockData` - StockData\n* `Guardian` - Guardian\n* `TMDb` - TMDb\n* `TVMaze` - TVMaze\n* `TwelveData` - TwelveData\n* `Ubidots` - Ubidots\n* `USCensus` - USCensus\n* `Watchmode` - Watchmode\n* `WikipediaPageviews` - WikipediaPageviews\n* `YahooFinance` - YahooFinance\n* `Clarifai` - Clarifai\n* `Adapty` - Adapty\n* `Braintrust` - Braintrust\n* `StreamElements` - StreamElements\n* `Streamlabs` - Streamlabs\n* `Datorama` - Datorama\n* `Ahrefs` - Ahrefs\n* `Lightfield` - Lightfield\n* `Appstack` - Appstack\n* `Razorpay` - Razorpay\n* `Neon` - Neon\n* `NewRelic` - NewRelic\n* `Custom` - Custom\n* `Tile38` - Tile38\n* `Chatwoot` - Chatwoot\n* `Sanity` - Sanity\n* `Metronome` - Metronome\n* `Jobber` - Jobber\n* `Knock` - Knock\n* `Leexi` - Leexi\n* `RB2B` - RB2B\n* `Superwall` - Superwall\n* `Liana` - Liana\n* `TawkTo` - TawkTo\n* `Hightouch` - Hightouch\n* `LemonSqueezy` - LemonSqueezy\n* `Ikas` - Ikas\n* `Talkwalker` - Talkwalker\n* `NextdoorAds` - NextdoorAds\n* `AppLovin` - AppLovin\n* `Baserow` - Baserow\n* `Plunk` - Plunk\n* `Dub` - Dub\n* `AirOps` - AirOps\n* `Podium` - Podium\n* `Loops` - Loops\n* `Redis` - Redis\n* `Mercury` - Mercury\n* `Gojiberry` - Gojiberry\n* `Teachable` - Teachable\n* `PeecAI` - PeecAI\n* `Healthchecks` - Healthchecks\n* `Impact` - Impact\n* `AikidoSecurity` - AikidoSecurity\n* `Alguna` - Alguna\n* `Anthropic` - Anthropic\n* `Appwrite` - Appwrite\n* `BlandAI` - BlandAI\n* `BrowseAI` - BrowseAI\n* `BrowserUse` - BrowserUse\n* `ChartHop` - ChartHop\n* `Cody` - Cody\n* `Cursor` - Cursor\n* `Decagon` - Decagon\n* `Deepgram` - Deepgram\n* `ElevenLabs` - ElevenLabs\n* `Harvey` - Harvey\n* `Hyperspell` - Hyperspell\n* `Langfuse` - Langfuse\n* `LingoDev` - LingoDev\n* `M3ter` - M3ter\n* `Maxio` - Maxio\n* `Metorial` - Metorial\n* `OpenRouter` - OpenRouter\n* `TogetherAI` - TogetherAI\n* `Vapi` - Vapi\n* `Vespa` - Vespa\n* `Writesonic` - Writesonic\n* `Aiven` - Aiven\n* `Aviator` - Aviator\n* `Backblaze` - Backblaze\n* `Baseten` - Baseten\n* `Browserbase` - Browserbase\n* `Cohere` - Cohere\n* `DenoDeploy` - DenoDeploy\n* `DigitalOcean` - DigitalOcean\n* `E2B` - E2B\n* `Fintoc` - Fintoc\n* `Firecrawl` - Firecrawl\n* `FireworksAI` - FireworksAI\n* `FlyIo` - FlyIo\n* `Groq` - Groq\n* `GrowthBook` - GrowthBook\n* `Gumloop` - Gumloop\n* `Hatchet` - Hatchet\n* `Helicone` - Helicone\n* `Heroku` - Heroku\n* `Hetzner` - Hetzner\n* `HeyGen` - HeyGen\n* `Infisical` - Infisical\n* `Inngest` - Inngest\n* `KapaAI` - KapaAI\n* `Kernel` - Kernel\n* `Koyeb` - Koyeb\n* `LambdaLabs` - LambdaLabs\n* `LangSmith` - LangSmith\n* `Linode` - Linode\n* `LlamaCloud` - LlamaCloud\n* `Mem0` - Mem0\n* `Metriport` - Metriport\n* `Mintlify` - Mintlify\n* `MistralAI` - MistralAI\n* `Mono` - Mono\n* `Netlify` - Netlify\n* `Northflank` - Northflank\n* `OpenAI` - OpenAI\n* `Pinecone` - Pinecone\n* `PlatformSh` - PlatformSh\n* `PromptingCompany` - PromptingCompany\n* `Qdrant` - Qdrant\n* `Render` - Render\n* `Replicate` - Replicate\n* `RetellAI` - RetellAI\n* `Roark` - Roark\n* `RunPod` - RunPod\n* `ScaleAI` - ScaleAI\n* `Scaleway` - Scaleway\n* `SigNoz` - SigNoz\n* `Sim` - Sim\n* `Skyvern` - Skyvern\n* `Slash` - Slash\n* `Synthesia` - Synthesia\n* `Telli` - Telli\n* `TerraApi` - TerraApi\n* `TriggerDev` - TriggerDev\n* `Turso` - Turso\n* `Singular` - Singular\n* `Swonkie` - Swonkie\n* `TwelveLabs` - TwelveLabs\n* `Twenty` - Twenty\n* `Unstructured` - Unstructured\n* `Upstash` - Upstash\n* `Vellum` - Vellum\n* `Vultr` - Vultr\n* `Windmill` - Windmill\n* `Zep` - Zep\n* `Hex` - Hex\n* `Sumsub` - Sumsub\n* `GoogleChat` - GoogleChat\n* `Kickscale` - Kickscale\n* `Zellify` - Zellify\n* `RudderStack` - RudderStack"
103933
104107
  ).describe(
103934
- "The source type to set up (e.g. 'Stripe', 'Postgres', 'Hubspot').\n\n* `Ashby` - Ashby\n* `Supabase` - Supabase\n* `CustomerIO` - CustomerIO\n* `Github` - Github\n* `Stripe` - Stripe\n* `Hubspot` - Hubspot\n* `Postgres` - Postgres\n* `Zendesk` - Zendesk\n* `Snowflake` - Snowflake\n* `Salesforce` - Salesforce\n* `MySQL` - MySQL\n* `MongoDB` - MongoDB\n* `MSSQL` - MSSQL\n* `Vitally` - Vitally\n* `BigQuery` - BigQuery\n* `Chargebee` - Chargebee\n* `Clerk` - Clerk\n* `GoogleAds` - GoogleAds\n* `GoogleSearchConsole` - GoogleSearchConsole\n* `TemporalIO` - TemporalIO\n* `DoIt` - DoIt\n* `GoogleSheets` - GoogleSheets\n* `MetaAds` - MetaAds\n* `Klaviyo` - Klaviyo\n* `Mailchimp` - Mailchimp\n* `Braze` - Braze\n* `Mailjet` - Mailjet\n* `Redshift` - Redshift\n* `Polar` - Polar\n* `RevenueCat` - RevenueCat\n* `LinkedinAds` - LinkedinAds\n* `RedditAds` - RedditAds\n* `TikTokAds` - TikTokAds\n* `BingAds` - BingAds\n* `Shopify` - Shopify\n* `Attio` - Attio\n* `SnapchatAds` - SnapchatAds\n* `Linear` - Linear\n* `Intercom` - Intercom\n* `Amplitude` - Amplitude\n* `Mixpanel` - Mixpanel\n* `Jira` - Jira\n* `ActiveCampaign` - ActiveCampaign\n* `Marketo` - Marketo\n* `Adjust` - Adjust\n* `AppsFlyer` - AppsFlyer\n* `Freshdesk` - Freshdesk\n* `GoogleAnalytics` - GoogleAnalytics\n* `Pipedrive` - Pipedrive\n* `SendGrid` - SendGrid\n* `Slack` - Slack\n* `PagerDuty` - PagerDuty\n* `Asana` - Asana\n* `Notion` - Notion\n* `Airtable` - Airtable\n* `Greenhouse` - Greenhouse\n* `BambooHR` - BambooHR\n* `Lever` - Lever\n* `GitLab` - GitLab\n* `Datadog` - Datadog\n* `Sentry` - Sentry\n* `Pendo` - Pendo\n* `FullStory` - FullStory\n* `AmazonAds` - AmazonAds\n* `PinterestAds` - PinterestAds\n* `AppleSearchAds` - AppleSearchAds\n* `QuickBooks` - QuickBooks\n* `Xero` - Xero\n* `NetSuite` - NetSuite\n* `WooCommerce` - WooCommerce\n* `BigCommerce` - BigCommerce\n* `PayPal` - PayPal\n* `Square` - Square\n* `Zoom` - Zoom\n* `Trello` - Trello\n* `Monday` - Monday\n* `ClickUp` - ClickUp\n* `Confluence` - Confluence\n* `Recurly` - Recurly\n* `SalesLoft` - SalesLoft\n* `Outreach` - Outreach\n* `Gong` - Gong\n* `Calendly` - Calendly\n* `Typeform` - Typeform\n* `Iterable` - Iterable\n* `ZohoCRM` - ZohoCRM\n* `Close` - Close\n* `Oracle` - Oracle\n* `DynamoDB` - DynamoDB\n* `Elasticsearch` - Elasticsearch\n* `Kafka` - Kafka\n* `LaunchDarkly` - LaunchDarkly\n* `Braintree` - Braintree\n* `Recharge` - Recharge\n* `HelpScout` - HelpScout\n* `Gorgias` - Gorgias\n* `Instagram` - Instagram\n* `YouTubeAnalytics` - YouTubeAnalytics\n* `FacebookPages` - FacebookPages\n* `TwitterAds` - TwitterAds\n* `Workday` - Workday\n* `ServiceNow` - ServiceNow\n* `Pardot` - Pardot\n* `Copper` - Copper\n* `Front` - Front\n* `ChartMogul` - ChartMogul\n* `Zuora` - Zuora\n* `Paddle` - Paddle\n* `CircleCI` - CircleCI\n* `CockroachDB` - CockroachDB\n* `Firebase` - Firebase\n* `AzureBlob` - AzureBlob\n* `GoogleDrive` - GoogleDrive\n* `OneDrive` - OneDrive\n* `SharePoint` - SharePoint\n* `Box` - Box\n* `SFTP` - SFTP\n* `MicrosoftTeams` - MicrosoftTeams\n* `Aircall` - Aircall\n* `Webflow` - Webflow\n* `Okta` - Okta\n* `Auth0` - Auth0\n* `Productboard` - Productboard\n* `Smartsheet` - Smartsheet\n* `Wrike` - Wrike\n* `Plaid` - Plaid\n* `SurveyMonkey` - SurveyMonkey\n* `Eventbrite` - Eventbrite\n* `RingCentral` - RingCentral\n* `Twilio` - Twilio\n* `Freshsales` - Freshsales\n* `Shortcut` - Shortcut\n* `ConvertKit` - ConvertKit\n* `Drip` - Drip\n* `CampaignMonitor` - CampaignMonitor\n* `MailerLite` - MailerLite\n* `Omnisend` - Omnisend\n* `Brevo` - Brevo\n* `Postmark` - Postmark\n* `Granola` - Granola\n* `BuildBetter` - BuildBetter\n* `Convex` - Convex\n* `ClickHouse` - ClickHouse\n* `Plain` - Plain\n* `Resend` - Resend\n* `PgAnalyze` - PgAnalyze\n* `WorkOS` - WorkOS\n* `AmazonS3` - AmazonS3\n* `GoogleCloudStorage` - GoogleCloudStorage\n* `Databricks` - Databricks\n* `Dynamics365` - Dynamics365\n* `SalesforceMarketingCloud` - SalesforceMarketingCloud\n* `Db2` - Db2\n* `Heap` - Heap\n* `AdobeAnalytics` - AdobeAnalytics\n* `Matomo` - Matomo\n* `Optimizely` - Optimizely\n* `Adyen` - Adyen\n* `GoCardless` - GoCardless\n* `Mollie` - Mollie\n* `CheckoutCom` - CheckoutCom\n* `Branch` - Branch\n* `Criteo` - Criteo\n* `Outbrain` - Outbrain\n* `Taboola` - Taboola\n* `AdRoll` - AdRoll\n* `DisplayVideo360` - DisplayVideo360\n* `GoogleAdManager` - GoogleAdManager\n* `CampaignManager360` - CampaignManager360\n* `SearchAds360` - SearchAds360\n* `AdobeCommerce` - AdobeCommerce\n* `AmazonSellingPartner` - AmazonSellingPartner\n* `Ebay` - Ebay\n* `Commercetools` - Commercetools\n* `LightspeedRetail` - LightspeedRetail\n* `ShipStation` - ShipStation\n* `ConstantContact` - ConstantContact\n* `Mailgun` - Mailgun\n* `Eloqua` - Eloqua\n* `Sailthru` - Sailthru\n* `Ortto` - Ortto\n* `Attentive` - Attentive\n* `Kustomer` - Kustomer\n* `Dixa` - Dixa\n* `Gladly` - Gladly\n* `Qualtrics` - Qualtrics\n* `Delighted` - Delighted\n* `AzureDevOps` - AzureDevOps\n* `Rollbar` - Rollbar\n* `Opsgenie` - Opsgenie\n* `IncidentIo` - IncidentIo\n* `Pingdom` - Pingdom\n* `Cloudflare` - Cloudflare\n* `CosmosDB` - CosmosDB\n* `PlanetScale` - PlanetScale\n* `SapHana` - SapHana\n* `Rippling` - Rippling\n* `HiBob` - HiBob\n* `Personio` - Personio\n* `Deel` - Deel\n* `AdpWorkforceNow` - AdpWorkforceNow\n* `Paylocity` - Paylocity\n* `Gusto` - Gusto\n* `CultureAmp` - CultureAmp\n* `Lattice` - Lattice\n* `SageIntacct` - SageIntacct\n* `FreshBooks` - FreshBooks\n* `Expensify` - Expensify\n* `Ramp` - Ramp\n* `Brex` - Brex\n* `Coupa` - Coupa\n* `SapConcur` - SapConcur\n* `Apollo` - Apollo\n* `Crunchbase` - Crunchbase\n* `ZoomInfo` - ZoomInfo\n* `Clari` - Clari\n* `Chorus` - Chorus\n* `Coda` - Coda\n* `Guru` - Guru\n* `Dropbox` - Dropbox\n* `Docusign` - Docusign\n* `PandaDoc` - PandaDoc\n* `SapErp` - SapErp\n* `SapSuccessFactors` - SapSuccessFactors\n* `OracleEbs` - OracleEbs\n* `OracleFusion` - OracleFusion\n* `AmazonSNS` - AmazonSNS\n* `AmazonEventBridge` - AmazonEventBridge\n* `AmazonSQS` - AmazonSQS\n* `AmazonKinesis` - AmazonKinesis\n* `AmazonCloudWatch` - AmazonCloudWatch\n* `OpenAIAds` - OpenAIAds\n* `OneHundredMs` - OneHundredMs\n* `SevenShifts` - SevenShifts\n* `AcuityScheduling` - AcuityScheduling\n* `AgileCRM` - AgileCRM\n* `Aha` - Aha\n* `Airbyte` - Airbyte\n* `Akeneo` - Akeneo\n* `Algolia` - Algolia\n* `AlpacaBrokerAPI` - AlpacaBrokerAPI\n* `ApifyDataset` - ApifyDataset\n* `Appcues` - Appcues\n* `Appfigures` - Appfigures\n* `Appfollow` - Appfollow\n* `Apptivo` - Apptivo\n* `AssemblyAI` - AssemblyAI\n* `Awin` - Awin\n* `AwsCloudTrail` - AwsCloudTrail\n* `AzureTableStorage` - AzureTableStorage\n* `Babelforce` - Babelforce\n* `Basecamp` - Basecamp\n* `Beamer` - Beamer\n* `BigMailer` - BigMailer\n* `Bluetally` - Bluetally\n* `BoldSign` - BoldSign\n* `BreezyHR` - BreezyHR\n* `Bugsnag` - Bugsnag\n* `Buildkite` - Buildkite\n* `Bunny` - Bunny\n* `Buzzsprout` - Buzzsprout\n* `CalCom` - CalCom\n* `CallRail` - CallRail\n* `Campayn` - Campayn\n* `Canny` - Canny\n* `CapsuleCRM` - CapsuleCRM\n* `CaptainData` - CaptainData\n* `CartCom` - CartCom\n* `CastorEDC` - CastorEDC\n* `Chameleon` - Chameleon\n* `Chargedesk` - Chargedesk\n* `Chargify` - Chargify\n* `Chift` - Chift\n* `Churnkey` - Churnkey\n* `Cin7` - Cin7\n* `CiscoMeraki` - CiscoMeraki\n* `Clazar` - Clazar\n* `Clockify` - Clockify\n* `Clockodo` - Clockodo\n* `Cloudbeds` - Cloudbeds\n* `Coassemble` - Coassemble\n* `Codefresh` - Codefresh\n* `Concord` - Concord\n* `ConfigCat` - ConfigCat\n* `Couchbase` - Couchbase\n* `Curve` - Curve\n* `Customerly` - Customerly\n* `Datascope` - Datascope\n* `Dbt` - Dbt\n* `Deputy` - Deputy\n* `DevinAI` - DevinAI\n* `Docuseal` - Docuseal\n* `Dolibarr` - Dolibarr\n* `Dremio` - Dremio\n* `DropboxSign` - DropboxSign\n* `Dwolla` - Dwolla\n* `EConomic` - EConomic\n* `Easypost` - Easypost\n* `Easypromos` - Easypromos\n* `Elasticemail` - Elasticemail\n* `EmailOctopus` - EmailOctopus\n* `EmploymentHero` - EmploymentHero\n* `Encharge` - Encharge\n* `Eventee` - Eventee\n* `Eventzilla` - Eventzilla\n* `Everhour` - Everhour\n* `EZOfficeInventory` - EZOfficeInventory\n* `Factorial` - Factorial\n* `Fastbill` - Fastbill\n* `Fastly` - Fastly\n* `Fauna` - Fauna\n* `Feishu` - Feishu\n* `Fillout` - Fillout\n* `Finage` - Finage\n* `Firebolt` - Firebolt\n* `FireHydrant` - FireHydrant\n* `Fleetio` - Fleetio\n* `Flexmail` - Flexmail\n* `Flexport` - Flexport\n* `FloatApp` - FloatApp\n* `Flowlu` - Flowlu\n* `Formbricks` - Formbricks\n* `FreeAgent` - FreeAgent\n* `Freightview` - Freightview\n* `Freshcaller` - Freshcaller\n* `Freshchat` - Freshchat\n* `Freshservice` - Freshservice\n* `Fulcrum` - Fulcrum\n* `GainsightPx` - GainsightPx\n* `GitBook` - GitBook\n* `Glassfrog` - Glassfrog\n* `Goldcast` - Goldcast\n* `GoLogin` - GoLogin\n* `Grafana` - Grafana\n* `GreytHr` - GreytHr\n* `Gridly` - Gridly\n* `Harness` - Harness\n* `Height` - Height\n* `Hellobaton` - Hellobaton\n* `HighLevel` - HighLevel\n* `HoorayHR` - HoorayHR\n* `Hubplanner` - Hubplanner\n* `Humanitix` - Humanitix\n* `Huntr` - Huntr\n* `Inflowinventory` - Inflowinventory\n* `InforNexus` - InforNexus\n* `Insightful` - Insightful\n* `Insightly` - Insightly\n* `Instantly` - Instantly\n* `Instatus` - Instatus\n* `Intruder` - Intruder\n* `Invoiced` - Invoiced\n* `Invoiceninja` - Invoiceninja\n* `JamfPro` - JamfPro\n* `JobNimbus` - JobNimbus\n* `Jotform` - Jotform\n* `JudgeMeReviews` - JudgeMeReviews\n* `JustCall` - JustCall\n* `JustSift` - JustSift\n* `K6Cloud` - K6Cloud\n* `Katana` - Katana\n* `Keka` - Keka\n* `Kisi` - Kisi\n* `Kissmetrics` - Kissmetrics\n* `Klarna` - Klarna\n* `Klaus` - Klaus\n* `Lago` - Lago\n* `Leadfeeder` - Leadfeeder\n* `Lemlist` - Lemlist\n* `LessAnnoyingCRM` - LessAnnoyingCRM\n* `LinkedinPages` - LinkedinPages\n* `Linkrunner` - Linkrunner\n* `Linnworks` - Linnworks\n* `Lob` - Lob\n* `Lokalise` - Lokalise\n* `Looker` - Looker\n* `Luma` - Luma\n* `MailerSend` - MailerSend\n* `Mailosaur` - Mailosaur\n* `Mailtrap` - Mailtrap\n* `Mantle` - Mantle\n* `Mention` - Mention\n* `MercadoAds` - MercadoAds\n* `Merge` - Merge\n* `Metabase` - Metabase\n* `Metricool` - Metricool\n* `MicrosoftDataverse` - MicrosoftDataverse\n* `MicrosoftEntraId` - MicrosoftEntraId\n* `MicrosoftLists` - MicrosoftLists\n* `Miro` - Miro\n* `Missive` - Missive\n* `MixMax` - MixMax\n* `Mode` - Mode\n* `Mux` - Mux\n* `MyHours` - MyHours\n* `N8n` - N8n\n* `Navan` - Navan\n* `NebiusAI` - NebiusAI\n* `Nexiopay` - Nexiopay\n* `NinjaOneRMM` - NinjaOneRMM\n* `NoCRM` - NoCRM\n* `NorthpassLMS` - NorthpassLMS\n* `Nutshell` - Nutshell\n* `Nylas` - Nylas\n* `Oncehub` - Oncehub\n* `Onepagecrm` - Onepagecrm\n* `OneSignal` - OneSignal\n* `Onfleet` - Onfleet\n* `OpinionStage` - OpinionStage\n* `OPUSWatch` - OPUSWatch\n* `Orb` - Orb\n* `Orbit` - Orbit\n* `Oura` - Oura\n* `Oveit` - Oveit\n* `PabblySubscriptionsBilling` - PabblySubscriptionsBilling\n* `Paperform` - Paperform\n* `Papersign` - Papersign\n* `Partnerize` - Partnerize\n* `PartnerStack` - PartnerStack\n* `PayFit` - PayFit\n* `Paystack` - Paystack\n* `Pennylane` - Pennylane\n* `Perk` - Perk\n* `PersistIq` - PersistIq\n* `Persona` - Persona\n* `Phyllo` - Phyllo\n* `Picqer` - Picqer\n* `Pipeliner` - Pipeliner\n* `PivotalTracker` - PivotalTracker\n* `Piwik` - Piwik\n* `Planhat` - Planhat\n* `Plausible` - Plausible\n* `Poplar` - Poplar\n* `PrestaShop` - PrestaShop\n* `Pretix` - Pretix\n* `Primetric` - Primetric\n* `Printify` - Printify\n* `Productive` - Productive\n* `Pylon` - Pylon\n* `Qonto` - Qonto\n* `Qualaroo` - Qualaroo\n* `Railz` - Railz\n* `RDStationMarketing` - RDStationMarketing\n* `Recruitee` - Recruitee\n* `Reddit` - Reddit\n* `ReferralHero` - ReferralHero\n* `RentCast` - RentCast\n* `Repairshopr` - Repairshopr\n* `ReplyIo` - ReplyIo\n* `RetailExpress` - RetailExpress\n* `Retently` - Retently\n* `RevolutMerchant` - RevolutMerchant\n* `RocketChat` - RocketChat\n* `Rocketlane` - Rocketlane\n* `Rootly` - Rootly\n* `Ruddr` - Ruddr\n* `SafetyCulture` - SafetyCulture\n* `SageHR` - SageHR\n* `Salesflare` - Salesflare\n* `SAPFieldglass` - SAPFieldglass\n* `SavvyCal` - SavvyCal\n* `Secoda` - Secoda\n* `Segment` - Segment\n* `Sendowl` - Sendowl\n* `SendPulse` - SendPulse\n* `Senseforce` - Senseforce\n* `Serpstat` - Serpstat\n* `Sharetribe` - Sharetribe\n* `Shippo` - Shippo\n* `ShopWired` - ShopWired\n* `Shortio` - Shortio\n* `Shutterstock` - Shutterstock\n* `SigmaComputing` - SigmaComputing\n* `SignNow` - SignNow\n* `SimpleCast` - SimpleCast\n* `Simplesat` - Simplesat\n* `Smaily` - Smaily\n* `SmartEngage` - SmartEngage\n* `Smartreach` - Smartreach\n* `Smartwaiver` - Smartwaiver\n* `SolarwindsServiceDesk` - SolarwindsServiceDesk\n* `SonarCloud` - SonarCloud\n* `SparkPost` - SparkPost\n* `SplitIo` - SplitIo\n* `SpotifyAds` - SpotifyAds\n* `SpotlerCRM` - SpotlerCRM\n* `Squarespace` - Squarespace\n* `Statsig` - Statsig\n* `Statuspage` - Statuspage\n* `Stigg` - Stigg\n* `Strava` - Strava\n* `SurveySparrow` - SurveySparrow\n* `Survicate` - Survicate\n* `Svix` - Svix\n* `Systeme` - Systeme\n* `Tavus` - Tavus\n* `Teamtailor` - Teamtailor\n* `Teamwork` - Teamwork\n* `Tempo` - Tempo\n* `Testrail` - Testrail\n* `Thinkific` - Thinkific\n* `ThinkificCourses` - ThinkificCourses\n* `ThriveLearning` - ThriveLearning\n* `Ticketmaster` - Ticketmaster\n* `TicketTailor` - TicketTailor\n* `TickTick` - TickTick\n* `Timely` - Timely\n* `Tinyemail` - Tinyemail\n* `Todoist` - Todoist\n* `Toggl` - Toggl\n* `TrackPMS` - TrackPMS\n* `Tremendous` - Tremendous\n* `TrustPilot` - TrustPilot\n* `Twitter` - Twitter\n* `TyntecSMS` - TyntecSMS\n* `Unleash` - Unleash\n* `UpPromote` - UpPromote\n* `Uptick` - Uptick\n* `Uservoice` - Uservoice\n* `Vantage` - Vantage\n* `Veeqo` - Veeqo\n* `Vercel` - Vercel\n* `VismaEconomic` - VismaEconomic\n* `VWO` - VWO\n* `Waiteraid` - Waiteraid\n* `Wasabi` - Wasabi\n* `WhenIWork` - WhenIWork\n* `Wordpress` - Wordpress\n* `Workable` - Workable\n* `Workflowmax` - Workflowmax\n* `Workramp` - Workramp\n* `Wufoo` - Wufoo\n* `Xsolla` - Xsolla\n* `YandexMetrica` - YandexMetrica\n* `Yotpo` - Yotpo\n* `Ynab` - Ynab\n* `Younium` - Younium\n* `YouSign` - YouSign\n* `YoutubeData` - YoutubeData\n* `ZapierSupportedStorage` - ZapierSupportedStorage\n* `ZapSign` - ZapSign\n* `ZendeskSell` - ZendeskSell\n* `ZendeskSunshine` - ZendeskSunshine\n* `Zenefits` - Zenefits\n* `Zenloop` - Zenloop\n* `ZohoAnalytics` - ZohoAnalytics\n* `ZohoBigin` - ZohoBigin\n* `ZohoBilling` - ZohoBilling\n* `ZohoBooks` - ZohoBooks\n* `ZohoCampaign` - ZohoCampaign\n* `ZohoDesk` - ZohoDesk\n* `ZohoExpense` - ZohoExpense\n* `ZohoInventory` - ZohoInventory\n* `ZohoInvoice` - ZohoInvoice\n* `ZonkaFeedback` - ZonkaFeedback\n* `AlphaVantage` - AlphaVantage\n* `Aviationstack` - Aviationstack\n* `Bitly` - Bitly\n* `Blogger` - Blogger\n* `Breezometer` - Breezometer\n* `CareQualityCommission` - CareQualityCommission\n* `Cimis` - Cimis\n* `CoinApi` - CoinApi\n* `CoinGecko` - CoinGecko\n* `CoinMarketCap` - CoinMarketCap\n* `DingConnect` - DingConnect\n* `Dockerhub` - Dockerhub\n* `ExchangeRatesApi` - ExchangeRatesApi\n* `FinancialModelling` - FinancialModelling\n* `Finnhub` - Finnhub\n* `Finnworlds` - Finnworlds\n* `Giphy` - Giphy\n* `Gmail` - Gmail\n* `GNews` - GNews\n* `GoogleCalendar` - GoogleCalendar\n* `GoogleClassroom` - GoogleClassroom\n* `GoogleDirectory` - GoogleDirectory\n* `GoogleForms` - GoogleForms\n* `GooglePageSpeedInsights` - GooglePageSpeedInsights\n* `GoogleTasks` - GoogleTasks\n* `GoogleWebfonts` - GoogleWebfonts\n* `GoogleWorkspaceAdminReports` - GoogleWorkspaceAdminReports\n* `HuggingFace` - HuggingFace\n* `IlluminaBasespace` - IlluminaBasespace\n* `Imagga` - Imagga\n* `Interzoid` - Interzoid\n* `IP2Whois` - IP2Whois\n* `KYVE` - KYVE\n* `Marketstack` - Marketstack\n* `Mendeley` - Mendeley\n* `Nasa` - Nasa\n* `NewYorkTimes` - NewYorkTimes\n* `NewsApi` - NewsApi\n* `NewsData` - NewsData\n* `OpenDataDc` - OpenDataDc\n* `OpenExchangeRates` - OpenExchangeRates\n* `OpenAQ` - OpenAQ\n* `OpenFDA` - OpenFDA\n* `OpenWeather` - OpenWeather\n* `Outlook` - Outlook\n* `Perigon` - Perigon\n* `Pexels` - Pexels\n* `Pocket` - Pocket\n* `Polygon` - Polygon\n* `PyPI` - PyPI\n* `Recreation` - Recreation\n* `RKICovid` - RKICovid\n* `Rss` - Rss\n* `SimFin` - SimFin\n* `StockData` - StockData\n* `Guardian` - Guardian\n* `TMDb` - TMDb\n* `TVMaze` - TVMaze\n* `TwelveData` - TwelveData\n* `Ubidots` - Ubidots\n* `USCensus` - USCensus\n* `Watchmode` - Watchmode\n* `WikipediaPageviews` - WikipediaPageviews\n* `YahooFinance` - YahooFinance\n* `Clarifai` - Clarifai\n* `Adapty` - Adapty\n* `Braintrust` - Braintrust\n* `StreamElements` - StreamElements\n* `Streamlabs` - Streamlabs\n* `Datorama` - Datorama\n* `Ahrefs` - Ahrefs\n* `Lightfield` - Lightfield\n* `Appstack` - Appstack\n* `Razorpay` - Razorpay\n* `Neon` - Neon\n* `NewRelic` - NewRelic\n* `Custom` - Custom\n* `Tile38` - Tile38\n* `Chatwoot` - Chatwoot\n* `Sanity` - Sanity\n* `Metronome` - Metronome\n* `Jobber` - Jobber\n* `Knock` - Knock\n* `Leexi` - Leexi\n* `RB2B` - RB2B\n* `Superwall` - Superwall\n* `Liana` - Liana\n* `TawkTo` - TawkTo\n* `Hightouch` - Hightouch\n* `LemonSqueezy` - LemonSqueezy\n* `Ikas` - Ikas\n* `Talkwalker` - Talkwalker\n* `NextdoorAds` - NextdoorAds\n* `AppLovin` - AppLovin\n* `Baserow` - Baserow\n* `Plunk` - Plunk\n* `Dub` - Dub\n* `AirOps` - AirOps\n* `Podium` - Podium\n* `Loops` - Loops\n* `Redis` - Redis\n* `Mercury` - Mercury\n* `Gojiberry` - Gojiberry\n* `Teachable` - Teachable\n* `PeecAI` - PeecAI\n* `Healthchecks` - Healthchecks\n* `Impact` - Impact\n* `AikidoSecurity` - AikidoSecurity\n* `Alguna` - Alguna\n* `Anthropic` - Anthropic\n* `Appwrite` - Appwrite\n* `BlandAI` - BlandAI\n* `BrowseAI` - BrowseAI\n* `BrowserUse` - BrowserUse\n* `ChartHop` - ChartHop\n* `Cody` - Cody\n* `Cursor` - Cursor\n* `Decagon` - Decagon\n* `Deepgram` - Deepgram\n* `ElevenLabs` - ElevenLabs\n* `Harvey` - Harvey\n* `Hyperspell` - Hyperspell\n* `Langfuse` - Langfuse\n* `LingoDev` - LingoDev\n* `M3ter` - M3ter\n* `Maxio` - Maxio\n* `Metorial` - Metorial\n* `OpenRouter` - OpenRouter\n* `TogetherAI` - TogetherAI\n* `Vapi` - Vapi\n* `Vespa` - Vespa\n* `Writesonic` - Writesonic\n* `Aiven` - Aiven\n* `Aviator` - Aviator\n* `Backblaze` - Backblaze\n* `Baseten` - Baseten\n* `Browserbase` - Browserbase\n* `Cohere` - Cohere\n* `DenoDeploy` - DenoDeploy\n* `DigitalOcean` - DigitalOcean\n* `E2B` - E2B\n* `Fintoc` - Fintoc\n* `Firecrawl` - Firecrawl\n* `FireworksAI` - FireworksAI\n* `FlyIo` - FlyIo\n* `Groq` - Groq\n* `GrowthBook` - GrowthBook\n* `Gumloop` - Gumloop\n* `Hatchet` - Hatchet\n* `Helicone` - Helicone\n* `Heroku` - Heroku\n* `Hetzner` - Hetzner\n* `HeyGen` - HeyGen\n* `Infisical` - Infisical\n* `Inngest` - Inngest\n* `KapaAI` - KapaAI\n* `Kernel` - Kernel\n* `Koyeb` - Koyeb\n* `LambdaLabs` - LambdaLabs\n* `LangSmith` - LangSmith\n* `Linode` - Linode\n* `LlamaCloud` - LlamaCloud\n* `Mem0` - Mem0\n* `Metriport` - Metriport\n* `Mintlify` - Mintlify\n* `MistralAI` - MistralAI\n* `Mono` - Mono\n* `Netlify` - Netlify\n* `Northflank` - Northflank\n* `OpenAI` - OpenAI\n* `Pinecone` - Pinecone\n* `PlatformSh` - PlatformSh\n* `PromptingCompany` - PromptingCompany\n* `Qdrant` - Qdrant\n* `Render` - Render\n* `Replicate` - Replicate\n* `RetellAI` - RetellAI\n* `Roark` - Roark\n* `RunPod` - RunPod\n* `ScaleAI` - ScaleAI\n* `Scaleway` - Scaleway\n* `SigNoz` - SigNoz\n* `Sim` - Sim\n* `Skyvern` - Skyvern\n* `Slash` - Slash\n* `Synthesia` - Synthesia\n* `Telli` - Telli\n* `TerraApi` - TerraApi\n* `TriggerDev` - TriggerDev\n* `Turso` - Turso\n* `Singular` - Singular\n* `Swonkie` - Swonkie\n* `TwelveLabs` - TwelveLabs\n* `Twenty` - Twenty\n* `Unstructured` - Unstructured\n* `Upstash` - Upstash\n* `Vellum` - Vellum\n* `Vultr` - Vultr\n* `Windmill` - Windmill\n* `Zep` - Zep\n* `Hex` - Hex"
104108
+ "The source type to set up (e.g. 'Stripe', 'Postgres', 'Hubspot').\n\n* `Ashby` - Ashby\n* `Supabase` - Supabase\n* `CustomerIO` - CustomerIO\n* `Github` - Github\n* `Stripe` - Stripe\n* `Hubspot` - Hubspot\n* `Postgres` - Postgres\n* `Zendesk` - Zendesk\n* `Snowflake` - Snowflake\n* `Salesforce` - Salesforce\n* `MySQL` - MySQL\n* `MongoDB` - MongoDB\n* `MSSQL` - MSSQL\n* `Vitally` - Vitally\n* `BigQuery` - BigQuery\n* `Chargebee` - Chargebee\n* `Clerk` - Clerk\n* `GoogleAds` - GoogleAds\n* `GoogleSearchConsole` - GoogleSearchConsole\n* `TemporalIO` - TemporalIO\n* `DoIt` - DoIt\n* `GoogleSheets` - GoogleSheets\n* `MetaAds` - MetaAds\n* `Klaviyo` - Klaviyo\n* `Mailchimp` - Mailchimp\n* `Braze` - Braze\n* `Mailjet` - Mailjet\n* `Redshift` - Redshift\n* `Polar` - Polar\n* `RevenueCat` - RevenueCat\n* `LinkedinAds` - LinkedinAds\n* `RedditAds` - RedditAds\n* `TikTokAds` - TikTokAds\n* `BingAds` - BingAds\n* `Shopify` - Shopify\n* `Attio` - Attio\n* `SnapchatAds` - SnapchatAds\n* `Linear` - Linear\n* `Intercom` - Intercom\n* `Amplitude` - Amplitude\n* `Mixpanel` - Mixpanel\n* `Jira` - Jira\n* `ActiveCampaign` - ActiveCampaign\n* `Marketo` - Marketo\n* `Adjust` - Adjust\n* `AppsFlyer` - AppsFlyer\n* `Freshdesk` - Freshdesk\n* `GoogleAnalytics` - GoogleAnalytics\n* `Pipedrive` - Pipedrive\n* `SendGrid` - SendGrid\n* `Slack` - Slack\n* `PagerDuty` - PagerDuty\n* `Asana` - Asana\n* `Notion` - Notion\n* `Airtable` - Airtable\n* `Greenhouse` - Greenhouse\n* `BambooHR` - BambooHR\n* `Lever` - Lever\n* `GitLab` - GitLab\n* `Datadog` - Datadog\n* `Sentry` - Sentry\n* `Pendo` - Pendo\n* `FullStory` - FullStory\n* `AmazonAds` - AmazonAds\n* `PinterestAds` - PinterestAds\n* `AppleSearchAds` - AppleSearchAds\n* `QuickBooks` - QuickBooks\n* `Xero` - Xero\n* `NetSuite` - NetSuite\n* `WooCommerce` - WooCommerce\n* `BigCommerce` - BigCommerce\n* `PayPal` - PayPal\n* `Square` - Square\n* `Zoom` - Zoom\n* `Trello` - Trello\n* `Monday` - Monday\n* `ClickUp` - ClickUp\n* `Confluence` - Confluence\n* `Recurly` - Recurly\n* `SalesLoft` - SalesLoft\n* `Outreach` - Outreach\n* `Gong` - Gong\n* `Calendly` - Calendly\n* `Typeform` - Typeform\n* `Iterable` - Iterable\n* `ZohoCRM` - ZohoCRM\n* `Close` - Close\n* `Oracle` - Oracle\n* `DynamoDB` - DynamoDB\n* `Elasticsearch` - Elasticsearch\n* `Kafka` - Kafka\n* `LaunchDarkly` - LaunchDarkly\n* `Braintree` - Braintree\n* `Recharge` - Recharge\n* `HelpScout` - HelpScout\n* `Gorgias` - Gorgias\n* `Instagram` - Instagram\n* `YouTubeAnalytics` - YouTubeAnalytics\n* `FacebookPages` - FacebookPages\n* `TwitterAds` - TwitterAds\n* `Workday` - Workday\n* `ServiceNow` - ServiceNow\n* `Pardot` - Pardot\n* `Copper` - Copper\n* `Front` - Front\n* `ChartMogul` - ChartMogul\n* `Zuora` - Zuora\n* `Paddle` - Paddle\n* `CircleCI` - CircleCI\n* `CockroachDB` - CockroachDB\n* `Firebase` - Firebase\n* `AzureBlob` - AzureBlob\n* `GoogleDrive` - GoogleDrive\n* `OneDrive` - OneDrive\n* `SharePoint` - SharePoint\n* `Box` - Box\n* `SFTP` - SFTP\n* `MicrosoftTeams` - MicrosoftTeams\n* `Aircall` - Aircall\n* `Webflow` - Webflow\n* `Okta` - Okta\n* `Auth0` - Auth0\n* `Productboard` - Productboard\n* `Smartsheet` - Smartsheet\n* `Wrike` - Wrike\n* `Plaid` - Plaid\n* `SurveyMonkey` - SurveyMonkey\n* `Eventbrite` - Eventbrite\n* `RingCentral` - RingCentral\n* `Twilio` - Twilio\n* `Freshsales` - Freshsales\n* `Shortcut` - Shortcut\n* `ConvertKit` - ConvertKit\n* `Drip` - Drip\n* `CampaignMonitor` - CampaignMonitor\n* `MailerLite` - MailerLite\n* `Omnisend` - Omnisend\n* `Brevo` - Brevo\n* `Postmark` - Postmark\n* `Granola` - Granola\n* `BuildBetter` - BuildBetter\n* `Convex` - Convex\n* `ClickHouse` - ClickHouse\n* `Plain` - Plain\n* `Resend` - Resend\n* `PgAnalyze` - PgAnalyze\n* `WorkOS` - WorkOS\n* `AmazonS3` - AmazonS3\n* `GoogleCloudStorage` - GoogleCloudStorage\n* `Databricks` - Databricks\n* `Dynamics365` - Dynamics365\n* `SalesforceMarketingCloud` - SalesforceMarketingCloud\n* `Db2` - Db2\n* `Heap` - Heap\n* `AdobeAnalytics` - AdobeAnalytics\n* `Matomo` - Matomo\n* `Optimizely` - Optimizely\n* `Adyen` - Adyen\n* `GoCardless` - GoCardless\n* `Mollie` - Mollie\n* `CheckoutCom` - CheckoutCom\n* `Branch` - Branch\n* `Criteo` - Criteo\n* `Outbrain` - Outbrain\n* `Taboola` - Taboola\n* `AdRoll` - AdRoll\n* `DisplayVideo360` - DisplayVideo360\n* `GoogleAdManager` - GoogleAdManager\n* `CampaignManager360` - CampaignManager360\n* `SearchAds360` - SearchAds360\n* `AdobeCommerce` - AdobeCommerce\n* `AmazonSellingPartner` - AmazonSellingPartner\n* `Ebay` - Ebay\n* `Commercetools` - Commercetools\n* `LightspeedRetail` - LightspeedRetail\n* `ShipStation` - ShipStation\n* `ConstantContact` - ConstantContact\n* `Mailgun` - Mailgun\n* `Eloqua` - Eloqua\n* `Sailthru` - Sailthru\n* `Ortto` - Ortto\n* `Attentive` - Attentive\n* `Kustomer` - Kustomer\n* `Dixa` - Dixa\n* `Gladly` - Gladly\n* `Qualtrics` - Qualtrics\n* `Delighted` - Delighted\n* `AzureDevOps` - AzureDevOps\n* `Rollbar` - Rollbar\n* `Opsgenie` - Opsgenie\n* `IncidentIo` - IncidentIo\n* `Pingdom` - Pingdom\n* `Cloudflare` - Cloudflare\n* `CosmosDB` - CosmosDB\n* `PlanetScale` - PlanetScale\n* `SapHana` - SapHana\n* `Rippling` - Rippling\n* `HiBob` - HiBob\n* `Personio` - Personio\n* `Deel` - Deel\n* `AdpWorkforceNow` - AdpWorkforceNow\n* `Paylocity` - Paylocity\n* `Gusto` - Gusto\n* `CultureAmp` - CultureAmp\n* `Lattice` - Lattice\n* `SageIntacct` - SageIntacct\n* `FreshBooks` - FreshBooks\n* `Expensify` - Expensify\n* `Ramp` - Ramp\n* `Brex` - Brex\n* `Coupa` - Coupa\n* `SapConcur` - SapConcur\n* `Apollo` - Apollo\n* `Crunchbase` - Crunchbase\n* `ZoomInfo` - ZoomInfo\n* `Clari` - Clari\n* `Chorus` - Chorus\n* `Coda` - Coda\n* `Guru` - Guru\n* `Dropbox` - Dropbox\n* `Docusign` - Docusign\n* `PandaDoc` - PandaDoc\n* `SapErp` - SapErp\n* `SapSuccessFactors` - SapSuccessFactors\n* `OracleEbs` - OracleEbs\n* `OracleFusion` - OracleFusion\n* `AmazonSNS` - AmazonSNS\n* `AmazonEventBridge` - AmazonEventBridge\n* `AmazonSQS` - AmazonSQS\n* `AmazonKinesis` - AmazonKinesis\n* `AmazonCloudWatch` - AmazonCloudWatch\n* `OpenAIAds` - OpenAIAds\n* `OneHundredMs` - OneHundredMs\n* `SevenShifts` - SevenShifts\n* `AcuityScheduling` - AcuityScheduling\n* `AgileCRM` - AgileCRM\n* `Aha` - Aha\n* `Airbyte` - Airbyte\n* `Akeneo` - Akeneo\n* `Algolia` - Algolia\n* `AlpacaBrokerAPI` - AlpacaBrokerAPI\n* `ApifyDataset` - ApifyDataset\n* `Appcues` - Appcues\n* `Appfigures` - Appfigures\n* `Appfollow` - Appfollow\n* `Apptivo` - Apptivo\n* `AssemblyAI` - AssemblyAI\n* `Awin` - Awin\n* `AwsCloudTrail` - AwsCloudTrail\n* `AzureTableStorage` - AzureTableStorage\n* `Babelforce` - Babelforce\n* `Basecamp` - Basecamp\n* `Beamer` - Beamer\n* `BigMailer` - BigMailer\n* `Bluetally` - Bluetally\n* `BoldSign` - BoldSign\n* `BreezyHR` - BreezyHR\n* `Bugsnag` - Bugsnag\n* `Buildkite` - Buildkite\n* `Bunny` - Bunny\n* `Buzzsprout` - Buzzsprout\n* `CalCom` - CalCom\n* `CallRail` - CallRail\n* `Campayn` - Campayn\n* `Canny` - Canny\n* `CapsuleCRM` - CapsuleCRM\n* `CaptainData` - CaptainData\n* `CartCom` - CartCom\n* `CastorEDC` - CastorEDC\n* `Chameleon` - Chameleon\n* `Chargedesk` - Chargedesk\n* `Chargify` - Chargify\n* `Chift` - Chift\n* `Churnkey` - Churnkey\n* `Cin7` - Cin7\n* `CiscoMeraki` - CiscoMeraki\n* `Clazar` - Clazar\n* `Clockify` - Clockify\n* `Clockodo` - Clockodo\n* `Cloudbeds` - Cloudbeds\n* `Coassemble` - Coassemble\n* `Codefresh` - Codefresh\n* `Concord` - Concord\n* `ConfigCat` - ConfigCat\n* `Couchbase` - Couchbase\n* `Curve` - Curve\n* `Customerly` - Customerly\n* `Datascope` - Datascope\n* `Dbt` - Dbt\n* `Deputy` - Deputy\n* `DevinAI` - DevinAI\n* `Docuseal` - Docuseal\n* `Dolibarr` - Dolibarr\n* `Dremio` - Dremio\n* `DropboxSign` - DropboxSign\n* `Dwolla` - Dwolla\n* `EConomic` - EConomic\n* `Easypost` - Easypost\n* `Easypromos` - Easypromos\n* `Elasticemail` - Elasticemail\n* `EmailOctopus` - EmailOctopus\n* `EmploymentHero` - EmploymentHero\n* `Encharge` - Encharge\n* `Eventee` - Eventee\n* `Eventzilla` - Eventzilla\n* `Everhour` - Everhour\n* `EZOfficeInventory` - EZOfficeInventory\n* `Factorial` - Factorial\n* `Fastbill` - Fastbill\n* `Fastly` - Fastly\n* `Fauna` - Fauna\n* `Feishu` - Feishu\n* `Fillout` - Fillout\n* `Finage` - Finage\n* `Firebolt` - Firebolt\n* `FireHydrant` - FireHydrant\n* `Fleetio` - Fleetio\n* `Flexmail` - Flexmail\n* `Flexport` - Flexport\n* `FloatApp` - FloatApp\n* `Flowlu` - Flowlu\n* `Formbricks` - Formbricks\n* `FreeAgent` - FreeAgent\n* `Freightview` - Freightview\n* `Freshcaller` - Freshcaller\n* `Freshchat` - Freshchat\n* `Freshservice` - Freshservice\n* `Fulcrum` - Fulcrum\n* `GainsightPx` - GainsightPx\n* `GitBook` - GitBook\n* `Glassfrog` - Glassfrog\n* `Goldcast` - Goldcast\n* `GoLogin` - GoLogin\n* `Grafana` - Grafana\n* `GreytHr` - GreytHr\n* `Gridly` - Gridly\n* `Harness` - Harness\n* `Height` - Height\n* `Hellobaton` - Hellobaton\n* `HighLevel` - HighLevel\n* `HoorayHR` - HoorayHR\n* `Hubplanner` - Hubplanner\n* `Humanitix` - Humanitix\n* `Huntr` - Huntr\n* `Inflowinventory` - Inflowinventory\n* `InforNexus` - InforNexus\n* `Insightful` - Insightful\n* `Insightly` - Insightly\n* `Instantly` - Instantly\n* `Instatus` - Instatus\n* `Intruder` - Intruder\n* `Invoiced` - Invoiced\n* `Invoiceninja` - Invoiceninja\n* `JamfPro` - JamfPro\n* `JobNimbus` - JobNimbus\n* `Jotform` - Jotform\n* `JudgeMeReviews` - JudgeMeReviews\n* `JustCall` - JustCall\n* `JustSift` - JustSift\n* `K6Cloud` - K6Cloud\n* `Katana` - Katana\n* `Keka` - Keka\n* `Kisi` - Kisi\n* `Kissmetrics` - Kissmetrics\n* `Klarna` - Klarna\n* `Klaus` - Klaus\n* `Lago` - Lago\n* `Leadfeeder` - Leadfeeder\n* `Lemlist` - Lemlist\n* `LessAnnoyingCRM` - LessAnnoyingCRM\n* `LinkedinPages` - LinkedinPages\n* `Linkrunner` - Linkrunner\n* `Linnworks` - Linnworks\n* `Lob` - Lob\n* `Lokalise` - Lokalise\n* `Looker` - Looker\n* `Luma` - Luma\n* `MailerSend` - MailerSend\n* `Mailosaur` - Mailosaur\n* `Mailtrap` - Mailtrap\n* `Mantle` - Mantle\n* `Mention` - Mention\n* `MercadoAds` - MercadoAds\n* `Merge` - Merge\n* `Metabase` - Metabase\n* `Metricool` - Metricool\n* `MicrosoftDataverse` - MicrosoftDataverse\n* `MicrosoftEntraId` - MicrosoftEntraId\n* `MicrosoftLists` - MicrosoftLists\n* `Miro` - Miro\n* `Missive` - Missive\n* `MixMax` - MixMax\n* `Mode` - Mode\n* `Mux` - Mux\n* `MyHours` - MyHours\n* `N8n` - N8n\n* `Navan` - Navan\n* `NebiusAI` - NebiusAI\n* `Nexiopay` - Nexiopay\n* `NinjaOneRMM` - NinjaOneRMM\n* `NoCRM` - NoCRM\n* `NorthpassLMS` - NorthpassLMS\n* `Nutshell` - Nutshell\n* `Nylas` - Nylas\n* `Oncehub` - Oncehub\n* `Onepagecrm` - Onepagecrm\n* `OneSignal` - OneSignal\n* `Onfleet` - Onfleet\n* `OpinionStage` - OpinionStage\n* `OPUSWatch` - OPUSWatch\n* `Orb` - Orb\n* `Orbit` - Orbit\n* `Oura` - Oura\n* `Oveit` - Oveit\n* `PabblySubscriptionsBilling` - PabblySubscriptionsBilling\n* `Paperform` - Paperform\n* `Papersign` - Papersign\n* `Partnerize` - Partnerize\n* `PartnerStack` - PartnerStack\n* `PayFit` - PayFit\n* `Paystack` - Paystack\n* `Pennylane` - Pennylane\n* `Perk` - Perk\n* `PersistIq` - PersistIq\n* `Persona` - Persona\n* `Phyllo` - Phyllo\n* `Picqer` - Picqer\n* `Pipeliner` - Pipeliner\n* `PivotalTracker` - PivotalTracker\n* `Piwik` - Piwik\n* `Planhat` - Planhat\n* `Plausible` - Plausible\n* `Poplar` - Poplar\n* `PrestaShop` - PrestaShop\n* `Pretix` - Pretix\n* `Primetric` - Primetric\n* `Printify` - Printify\n* `Productive` - Productive\n* `Pylon` - Pylon\n* `Qonto` - Qonto\n* `Qualaroo` - Qualaroo\n* `Railz` - Railz\n* `RDStationMarketing` - RDStationMarketing\n* `Recruitee` - Recruitee\n* `Reddit` - Reddit\n* `ReferralHero` - ReferralHero\n* `RentCast` - RentCast\n* `Repairshopr` - Repairshopr\n* `ReplyIo` - ReplyIo\n* `RetailExpress` - RetailExpress\n* `Retently` - Retently\n* `RevolutMerchant` - RevolutMerchant\n* `RocketChat` - RocketChat\n* `Rocketlane` - Rocketlane\n* `Rootly` - Rootly\n* `Ruddr` - Ruddr\n* `SafetyCulture` - SafetyCulture\n* `SageHR` - SageHR\n* `Salesflare` - Salesflare\n* `SAPFieldglass` - SAPFieldglass\n* `SavvyCal` - SavvyCal\n* `Secoda` - Secoda\n* `Segment` - Segment\n* `Sendowl` - Sendowl\n* `SendPulse` - SendPulse\n* `Senseforce` - Senseforce\n* `Serpstat` - Serpstat\n* `Sharetribe` - Sharetribe\n* `Shippo` - Shippo\n* `ShopWired` - ShopWired\n* `Shortio` - Shortio\n* `Shutterstock` - Shutterstock\n* `SigmaComputing` - SigmaComputing\n* `SignNow` - SignNow\n* `SimpleCast` - SimpleCast\n* `Simplesat` - Simplesat\n* `Smaily` - Smaily\n* `SmartEngage` - SmartEngage\n* `Smartreach` - Smartreach\n* `Smartwaiver` - Smartwaiver\n* `SolarwindsServiceDesk` - SolarwindsServiceDesk\n* `SonarCloud` - SonarCloud\n* `SparkPost` - SparkPost\n* `SplitIo` - SplitIo\n* `SpotifyAds` - SpotifyAds\n* `SpotlerCRM` - SpotlerCRM\n* `Squarespace` - Squarespace\n* `Statsig` - Statsig\n* `Statuspage` - Statuspage\n* `Stigg` - Stigg\n* `Strava` - Strava\n* `SurveySparrow` - SurveySparrow\n* `Survicate` - Survicate\n* `Svix` - Svix\n* `Systeme` - Systeme\n* `Tavus` - Tavus\n* `Teamtailor` - Teamtailor\n* `Teamwork` - Teamwork\n* `Tempo` - Tempo\n* `Testrail` - Testrail\n* `Thinkific` - Thinkific\n* `ThinkificCourses` - ThinkificCourses\n* `ThriveLearning` - ThriveLearning\n* `Ticketmaster` - Ticketmaster\n* `TicketTailor` - TicketTailor\n* `TickTick` - TickTick\n* `Timely` - Timely\n* `Tinyemail` - Tinyemail\n* `Todoist` - Todoist\n* `Toggl` - Toggl\n* `TrackPMS` - TrackPMS\n* `Tremendous` - Tremendous\n* `TrustPilot` - TrustPilot\n* `Twitter` - Twitter\n* `TyntecSMS` - TyntecSMS\n* `Unleash` - Unleash\n* `UpPromote` - UpPromote\n* `Uptick` - Uptick\n* `Uservoice` - Uservoice\n* `Vantage` - Vantage\n* `Veeqo` - Veeqo\n* `Vercel` - Vercel\n* `VismaEconomic` - VismaEconomic\n* `VWO` - VWO\n* `Waiteraid` - Waiteraid\n* `Wasabi` - Wasabi\n* `WhenIWork` - WhenIWork\n* `Wordpress` - Wordpress\n* `Workable` - Workable\n* `Workflowmax` - Workflowmax\n* `Workramp` - Workramp\n* `Wufoo` - Wufoo\n* `Xsolla` - Xsolla\n* `YandexMetrica` - YandexMetrica\n* `Yotpo` - Yotpo\n* `Ynab` - Ynab\n* `Younium` - Younium\n* `YouSign` - YouSign\n* `YoutubeData` - YoutubeData\n* `ZapierSupportedStorage` - ZapierSupportedStorage\n* `ZapSign` - ZapSign\n* `ZendeskSell` - ZendeskSell\n* `ZendeskSunshine` - ZendeskSunshine\n* `Zenefits` - Zenefits\n* `Zenloop` - Zenloop\n* `ZohoAnalytics` - ZohoAnalytics\n* `ZohoBigin` - ZohoBigin\n* `ZohoBilling` - ZohoBilling\n* `ZohoBooks` - ZohoBooks\n* `ZohoCampaign` - ZohoCampaign\n* `ZohoDesk` - ZohoDesk\n* `ZohoExpense` - ZohoExpense\n* `ZohoInventory` - ZohoInventory\n* `ZohoInvoice` - ZohoInvoice\n* `ZonkaFeedback` - ZonkaFeedback\n* `AlphaVantage` - AlphaVantage\n* `Aviationstack` - Aviationstack\n* `Bitly` - Bitly\n* `Blogger` - Blogger\n* `Breezometer` - Breezometer\n* `CareQualityCommission` - CareQualityCommission\n* `Cimis` - Cimis\n* `CoinApi` - CoinApi\n* `CoinGecko` - CoinGecko\n* `CoinMarketCap` - CoinMarketCap\n* `DingConnect` - DingConnect\n* `Dockerhub` - Dockerhub\n* `ExchangeRatesApi` - ExchangeRatesApi\n* `FinancialModelling` - FinancialModelling\n* `Finnhub` - Finnhub\n* `Finnworlds` - Finnworlds\n* `Giphy` - Giphy\n* `Gmail` - Gmail\n* `GNews` - GNews\n* `GoogleCalendar` - GoogleCalendar\n* `GoogleClassroom` - GoogleClassroom\n* `GoogleDirectory` - GoogleDirectory\n* `GoogleForms` - GoogleForms\n* `GooglePageSpeedInsights` - GooglePageSpeedInsights\n* `GoogleTasks` - GoogleTasks\n* `GoogleWebfonts` - GoogleWebfonts\n* `GoogleWorkspaceAdminReports` - GoogleWorkspaceAdminReports\n* `HuggingFace` - HuggingFace\n* `IlluminaBasespace` - IlluminaBasespace\n* `Imagga` - Imagga\n* `Interzoid` - Interzoid\n* `IP2Whois` - IP2Whois\n* `KYVE` - KYVE\n* `Marketstack` - Marketstack\n* `Mendeley` - Mendeley\n* `Nasa` - Nasa\n* `NewYorkTimes` - NewYorkTimes\n* `NewsApi` - NewsApi\n* `NewsData` - NewsData\n* `OpenDataDc` - OpenDataDc\n* `OpenExchangeRates` - OpenExchangeRates\n* `OpenAQ` - OpenAQ\n* `OpenFDA` - OpenFDA\n* `OpenWeather` - OpenWeather\n* `Outlook` - Outlook\n* `Perigon` - Perigon\n* `Pexels` - Pexels\n* `Pocket` - Pocket\n* `Polygon` - Polygon\n* `PyPI` - PyPI\n* `Recreation` - Recreation\n* `RKICovid` - RKICovid\n* `Rss` - Rss\n* `SimFin` - SimFin\n* `StockData` - StockData\n* `Guardian` - Guardian\n* `TMDb` - TMDb\n* `TVMaze` - TVMaze\n* `TwelveData` - TwelveData\n* `Ubidots` - Ubidots\n* `USCensus` - USCensus\n* `Watchmode` - Watchmode\n* `WikipediaPageviews` - WikipediaPageviews\n* `YahooFinance` - YahooFinance\n* `Clarifai` - Clarifai\n* `Adapty` - Adapty\n* `Braintrust` - Braintrust\n* `StreamElements` - StreamElements\n* `Streamlabs` - Streamlabs\n* `Datorama` - Datorama\n* `Ahrefs` - Ahrefs\n* `Lightfield` - Lightfield\n* `Appstack` - Appstack\n* `Razorpay` - Razorpay\n* `Neon` - Neon\n* `NewRelic` - NewRelic\n* `Custom` - Custom\n* `Tile38` - Tile38\n* `Chatwoot` - Chatwoot\n* `Sanity` - Sanity\n* `Metronome` - Metronome\n* `Jobber` - Jobber\n* `Knock` - Knock\n* `Leexi` - Leexi\n* `RB2B` - RB2B\n* `Superwall` - Superwall\n* `Liana` - Liana\n* `TawkTo` - TawkTo\n* `Hightouch` - Hightouch\n* `LemonSqueezy` - LemonSqueezy\n* `Ikas` - Ikas\n* `Talkwalker` - Talkwalker\n* `NextdoorAds` - NextdoorAds\n* `AppLovin` - AppLovin\n* `Baserow` - Baserow\n* `Plunk` - Plunk\n* `Dub` - Dub\n* `AirOps` - AirOps\n* `Podium` - Podium\n* `Loops` - Loops\n* `Redis` - Redis\n* `Mercury` - Mercury\n* `Gojiberry` - Gojiberry\n* `Teachable` - Teachable\n* `PeecAI` - PeecAI\n* `Healthchecks` - Healthchecks\n* `Impact` - Impact\n* `AikidoSecurity` - AikidoSecurity\n* `Alguna` - Alguna\n* `Anthropic` - Anthropic\n* `Appwrite` - Appwrite\n* `BlandAI` - BlandAI\n* `BrowseAI` - BrowseAI\n* `BrowserUse` - BrowserUse\n* `ChartHop` - ChartHop\n* `Cody` - Cody\n* `Cursor` - Cursor\n* `Decagon` - Decagon\n* `Deepgram` - Deepgram\n* `ElevenLabs` - ElevenLabs\n* `Harvey` - Harvey\n* `Hyperspell` - Hyperspell\n* `Langfuse` - Langfuse\n* `LingoDev` - LingoDev\n* `M3ter` - M3ter\n* `Maxio` - Maxio\n* `Metorial` - Metorial\n* `OpenRouter` - OpenRouter\n* `TogetherAI` - TogetherAI\n* `Vapi` - Vapi\n* `Vespa` - Vespa\n* `Writesonic` - Writesonic\n* `Aiven` - Aiven\n* `Aviator` - Aviator\n* `Backblaze` - Backblaze\n* `Baseten` - Baseten\n* `Browserbase` - Browserbase\n* `Cohere` - Cohere\n* `DenoDeploy` - DenoDeploy\n* `DigitalOcean` - DigitalOcean\n* `E2B` - E2B\n* `Fintoc` - Fintoc\n* `Firecrawl` - Firecrawl\n* `FireworksAI` - FireworksAI\n* `FlyIo` - FlyIo\n* `Groq` - Groq\n* `GrowthBook` - GrowthBook\n* `Gumloop` - Gumloop\n* `Hatchet` - Hatchet\n* `Helicone` - Helicone\n* `Heroku` - Heroku\n* `Hetzner` - Hetzner\n* `HeyGen` - HeyGen\n* `Infisical` - Infisical\n* `Inngest` - Inngest\n* `KapaAI` - KapaAI\n* `Kernel` - Kernel\n* `Koyeb` - Koyeb\n* `LambdaLabs` - LambdaLabs\n* `LangSmith` - LangSmith\n* `Linode` - Linode\n* `LlamaCloud` - LlamaCloud\n* `Mem0` - Mem0\n* `Metriport` - Metriport\n* `Mintlify` - Mintlify\n* `MistralAI` - MistralAI\n* `Mono` - Mono\n* `Netlify` - Netlify\n* `Northflank` - Northflank\n* `OpenAI` - OpenAI\n* `Pinecone` - Pinecone\n* `PlatformSh` - PlatformSh\n* `PromptingCompany` - PromptingCompany\n* `Qdrant` - Qdrant\n* `Render` - Render\n* `Replicate` - Replicate\n* `RetellAI` - RetellAI\n* `Roark` - Roark\n* `RunPod` - RunPod\n* `ScaleAI` - ScaleAI\n* `Scaleway` - Scaleway\n* `SigNoz` - SigNoz\n* `Sim` - Sim\n* `Skyvern` - Skyvern\n* `Slash` - Slash\n* `Synthesia` - Synthesia\n* `Telli` - Telli\n* `TerraApi` - TerraApi\n* `TriggerDev` - TriggerDev\n* `Turso` - Turso\n* `Singular` - Singular\n* `Swonkie` - Swonkie\n* `TwelveLabs` - TwelveLabs\n* `Twenty` - Twenty\n* `Unstructured` - Unstructured\n* `Upstash` - Upstash\n* `Vellum` - Vellum\n* `Vultr` - Vultr\n* `Windmill` - Windmill\n* `Zep` - Zep\n* `Hex` - Hex\n* `Sumsub` - Sumsub\n* `GoogleChat` - GoogleChat\n* `Kickscale` - Kickscale\n* `Zellify` - Zellify\n* `RudderStack` - RudderStack"
103935
104109
  ),
103936
104110
  payload: record(string2(), unknown()).optional().describe(
103937
104111
  "Connection details as flat keys for the source_type (discover required fields with the wizard tool). Prefer references over raw secrets: pass {'credential_id': <id>} referencing the connection details the user stored via the connect-link page (discover ids with the stored_credentials endpoint) \u2014 they are merged in server-side and deleted once consumed. An already-connected OAuth integration can be passed via its id key instead (e.g. {'hubspot_integration_id': 123}). For source_type 'Custom' (a user-defined REST API) the keys are 'manifest_json' (a stringified RESTAPIConfig describing client.base_url, auth, and resources) plus the credential for the auth type the manifest declares \u2014 'auth_token' (bearer), 'auth_api_key' (api_key), or 'auth_password' (http_basic); keep secrets in these auth_* keys, never inline in the manifest. A 'schemas' array is NOT required \u2014 all discovered tables are enabled automatically with sensible sync defaults."
@@ -103939,7 +104113,7 @@ var ExternalDataSourcesSetupCreateBody = /* @__PURE__ */ object({
103939
104113
  prefix: string2().max(externalDataSourcesSetupCreateBodyPrefixMax).nullish().describe("Table name prefix in HogQL, e.g. 'stripe' produces stripe_charges. Defaults to the source type."),
103940
104114
  description: string2().max(externalDataSourcesSetupCreateBodyDescriptionMax).nullish().describe("Human-readable description."),
103941
104115
  direct_query_enabled: boolean2().default(externalDataSourcesSetupCreateBodyDirectQueryEnabledDefault).describe(
103942
- "Whether a synced source should also be live-queryable via direct connection. Defaults to true; ignored for pure direct-query sources."
104116
+ "Whether a synced source should also be live-queryable via direct connection. Defaults to false; ignored for pure direct-query sources."
103943
104117
  )
103944
104118
  });
103945
104119
  var ExternalDataSourcesStoredCredentialsListParams = /* @__PURE__ */ object({
@@ -104030,52 +104204,15 @@ var dataWarehouseStoredCredentialsList = () => ({
104030
104204
  return await withPostHogUrl(context, result, "/data-management/sources");
104031
104205
  }
104032
104206
  });
104033
- var ExternalDataSchemasCancelSchema = ExternalDataSchemasCancelCreateParams.omit({ project_id: true }).extend(
104034
- ExternalDataSchemasCancelCreateBody.shape
104035
- );
104207
+ var ExternalDataSchemasCancelSchema = ExternalDataSchemasCancelCreateParams.omit({ project_id: true });
104036
104208
  var externalDataSchemasCancel = () => ({
104037
104209
  name: "external-data-schemas-cancel",
104038
104210
  schema: ExternalDataSchemasCancelSchema,
104039
104211
  handler: async (context, params) => {
104040
104212
  const projectId = await context.stateManager.getProjectId();
104041
- const body = {};
104042
- if (params.should_sync !== void 0) {
104043
- body["should_sync"] = params.should_sync;
104044
- }
104045
- if (params.sync_type !== void 0) {
104046
- body["sync_type"] = params.sync_type;
104047
- }
104048
- if (params.incremental_field !== void 0) {
104049
- body["incremental_field"] = params.incremental_field;
104050
- }
104051
- if (params.incremental_field_type !== void 0) {
104052
- body["incremental_field_type"] = params.incremental_field_type;
104053
- }
104054
- if (params.incremental_field_lookback_seconds !== void 0) {
104055
- body["incremental_field_lookback_seconds"] = params.incremental_field_lookback_seconds;
104056
- }
104057
- if (params.sync_frequency !== void 0) {
104058
- body["sync_frequency"] = params.sync_frequency;
104059
- }
104060
- if (params.sync_time_of_day !== void 0) {
104061
- body["sync_time_of_day"] = params.sync_time_of_day;
104062
- }
104063
- if (params.primary_key_columns !== void 0) {
104064
- body["primary_key_columns"] = params.primary_key_columns;
104065
- }
104066
- if (params.cdc_table_mode !== void 0) {
104067
- body["cdc_table_mode"] = params.cdc_table_mode;
104068
- }
104069
- if (params.enabled_columns !== void 0) {
104070
- body["enabled_columns"] = params.enabled_columns;
104071
- }
104072
- if (params.row_filters !== void 0) {
104073
- body["row_filters"] = params.row_filters;
104074
- }
104075
104213
  const result = await context.api.request({
104076
104214
  method: "POST",
104077
- path: `/api/projects/${encodeURIComponent(String(projectId))}/external_data_schemas/${encodeURIComponent(String(params.id))}/cancel/`,
104078
- body
104215
+ path: `/api/projects/${encodeURIComponent(String(projectId))}/external_data_schemas/${encodeURIComponent(String(params.id))}/cancel/`
104079
104216
  });
104080
104217
  return result;
104081
104218
  }