Integrations
Connect Apollo, Instantly, HubSpot and other tools, import leads from them and push leads out to them.
Tools (6)
Section titled “Tools (6)”get_integrations
Section titled “get_integrations”Full name: campaignstack_get_integrations
Read connected integrations plus optional bounded provider resources and import progress. Secrets and OAuth tokens are never returned. Use this before provider export/import calls; it does not connect, disconnect, or send leads to a provider. Results are one page. When pagination reports more, say so rather than presenting the page as the whole set, and page through before counting anything.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workspaceId | string | No | — | Workspace ID. Omit it when this connection reaches one workspace: a workspace key (cs_) is bound to its own, and a user key (csu_) or connected app whose person belongs to exactly one workspace defaults to that one. Required only when the person belongs to several; the error then lists them, and campaignstack_whoami reports them too. |
providers | string[] | No | — | |
resources | object[] | No | — | |
limit | integer | No | 20 | (min: 1, max: 50) |
configure_integration
Section titled “configure_integration”Full name: campaignstack_configure_integration
Not offered to OAuth connectors (Claude.ai, ChatGPT); call it with an API key.
Store or replace one provider integration using provider-nested credentials. This tool is non-OAuth because it accepts secrets; connected apps should direct the user to the workspace settings, Integrations section, in the CampaignStack app. Secrets are validated and never echoed back.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workspaceId | string | No | — | Workspace ID. Omit it when this connection reaches one workspace: a workspace key (cs_) is bound to its own, and a user key (csu_) or connected app whose person belongs to exactly one workspace defaults to that one. Required only when the person belongs to several; the error then lists them, and campaignstack_whoami reports them too. |
provider | apollo | instantly | hubspot | Yes | — | |
credentials | object | Yes | — | Provider-nested secrets. This tool is non-OAuth and never echoes secrets. |
credentials.apollo | object | No | — | |
credentials.instantly | object | No | — | |
credentials.hubspot | object | No | — |
import_external_leads
Section titled “import_external_leads”Full name: campaignstack_import_external_leads
Import leads from a provider list, campaign, or portal into CampaignStack. The job may continue server-side; read progress through campaignstack_get_integrations resources.importProgress.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workspaceId | string | No | — | Workspace ID. Omit it when this connection reaches one workspace: a workspace key (cs_) is bound to its own, and a user key (csu_) or connected app whose person belongs to exactly one workspace defaults to that one. Required only when the person belongs to several; the error then lists them, and campaignstack_whoami reports them too. |
provider | apollo | instantly | hubspot | Yes | — | |
sourceKind | list | campaign | portal | Yes | — | |
sourceId | string | Yes | — | (min length: 1) |
sourceName | string | No | — | |
campaignId | string | No | — |
add_leads_to_external_destination
Section titled “add_leads_to_external_destination”Full name: campaignstack_add_leads_to_external_destination
Add up to 25 leads to one provider list or sequence. This changes a third-party workspace and may make contacts available for outreach there. This reaches a real person. Before calling it, tell the user exactly who it goes to and read the wording back to them, and wait for an explicit yes.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workspaceId | string | No | — | Workspace ID. Omit it when this connection reaches one workspace: a workspace key (cs_) is bound to its own, and a user key (csu_) or connected app whose person belongs to exactly one workspace defaults to that one. Required only when the person belongs to several; the error then lists them, and campaignstack_whoami reports them too. |
provider | apollo | instantly | hubspot | clay | Yes | — | |
destination | object | Yes | — | |
destination.type | lead_list | sequence | Yes | — | |
destination.id | string | Yes | — | (min length: 1) |
destination.emailAccountId | string | No | — | (min length: 1) |
destination.activateSequence | boolean | No | — | |
destination.skipIfInWorkspace | boolean | No | — | |
leads | object[] | Yes | — | |
confirmed | boolean | Yes | — | This reaches a real person. Before calling it, tell the user exactly who it goes to and read the wording back to them, and wait for an explicit yes. |
export_leads_to_crm
Section titled “export_leads_to_crm”Full name: campaignstack_export_leads_to_crm
Export up to 25 leads to a connected CRM provider. Today this supports HubSpot contact upsert, optional company association, and optional timeline note. This reaches a real person. Before calling it, tell the user exactly who it goes to and read the wording back to them, and wait for an explicit yes.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workspaceId | string | No | — | Workspace ID. Omit it when this connection reaches one workspace: a workspace key (cs_) is bound to its own, and a user key (csu_) or connected app whose person belongs to exactly one workspace defaults to that one. Required only when the person belongs to several; the error then lists them, and campaignstack_whoami reports them too. |
provider | hubspot | No | "hubspot" | |
leads | object[] | Yes | — | |
syncCompany | boolean | No | true | |
lifecycleStage | string | No | — | |
note | object | No | — | |
note.channel | linkedin | email | No | — | |
note.messageText | string | Yes | — | (min length: 1) |
note.sentAt | integer | No | — | |
confirmed | boolean | Yes | — | This reaches a real person. Before calling it, tell the user exactly who it goes to and read the wording back to them, and wait for an explicit yes. |
edit_workspace_integrations
Section titled “edit_workspace_integrations”Full name: campaignstack_edit_workspace_integrations
Link an integration the person owns into this workspace, unlink it from this workspace, or disconnect it by deleting this workspace’s stored credentials. Disconnect and unlink do not undo provider-side data already sent.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workspaceId | string | No | — | Workspace ID. Omit it when this connection reaches one workspace: a workspace key (cs_) is bound to its own, and a user key (csu_) or connected app whose person belongs to exactly one workspace defaults to that one. Required only when the person belongs to several; the error then lists them, and campaignstack_whoami reports them too. (min length: 1) |
operations | object[] | Yes | — |