Skip to content

Workflows

Create, trigger, and manage automated outreach sequences.

Full name: campaignstack_list_workflows

workflows:read Read-only Idempotent

List all workflows for a campaign. Returns workflow IDs, names, status, enabled flag, and node count. Use the returned workflowId values with campaignstack_get_workflow to inspect workflow details, or campaignstack_trigger_workflow to execute a workflow.

NameTypeRequiredDefaultDescription
campaignIdstringYes(min length: 1)

Full name: campaignstack_get_workflow

workflows:read Read-only Idempotent

Get a workflow by ID with all nodes (type, label, config, position, execution target) and edges. If the workflow is not found, use campaignstack_list_workflows to find valid workflow IDs.

NameTypeRequiredDefaultDescription
workflowIdstringYes(min length: 1)

Full name: campaignstack_get_workflow_node_types

workflows:read Read-only Idempotent

Returns the complete vocabulary of workflow node types available for building automation graphs. For each node type includes: nodeType key, label, description, configHint (exact TypeScript-style config shape), a concrete example node, exit handles for branching nodes, and credit cost per execution. Also returns graphShape documentation (how to structure nodes/edges) and a minimal end-to-end example graph. Use this before calling campaignstack_create_workflow to ensure you author a valid graph.


Full name: campaignstack_create_workflow

workflows:write

Create a new workflow from a graph you author. The graph defines automation nodes (e.g. linkedin:profile_view, linkedin:connection_request, flow:wait) and directed edges. Use campaignstack_get_workflow_node_types first to discover valid node types, their configHint shapes, and the required graph format. Returns { workflowId, nodeCount } on success. sourceConfig is optional — omit it to get a default campaign_pool source with icpScoreMin 50. Signal-intake graphs (lead-list-based source providers) are not supported by this tool.

NameTypeRequiredDefaultDescription
workspaceIdstringNoDefaults to the API key’s workspace
campaignIdstringNoAssociate this workflow with a campaign
namestringYes(min length: 1)
graphobjectYesWorkflow graph: nodes (nodeType, label, config) + edges (sourceIndex, targetIndex). Use campaignstack_get_workflow_node_types to discover valid node types.
sourceConfigobjectNoSource node configuration (providers format only). Omit to use the default: a single campaign_pool provider with icpScoreMin 50. Signal-intake graphs using lead-list-based sources are not supported by this tool.

Full name: campaignstack_update_workflow

workflows:write Idempotent

Update a workflow’s name, description, and/or graph. Provide name/description to patch metadata; provide graph to replace the non-anchor nodes and edges. Both can be supplied in a single call. Set existingNodeId on graph nodes that update an existing node in place — claimed nodes keep their in-flight leads, while removing a node that still holds active leads fails with NODE_HAS_ACTIVE_LEADS (drain it first with campaignstack_cancel_node_leads). Graph replacement runs validation — invalid graphs are rejected and the workflow is left unchanged. To enable or disable a workflow use campaignstack_update_workflow_status instead.


Full name: campaignstack_delete_workflow

workflows:write Destructive

Permanently delete a workflow and all associated data. This action is irreversible and cascades to: workflow nodes, edges, lead-list source providers, node lead-list entries (lead progress), per-lead workflow contexts, and webhook tokens tied to this workflow. Use campaignstack_list_workflows to find workflow IDs. If you want to stop a workflow without deleting it, use campaignstack_update_workflow_status instead.

NameTypeRequiredDefaultDescription
workflowIdstringYes(min length: 1)

Full name: campaignstack_update_workflow_status

workflows:write Idempotent

Enable or disable a workflow. When enabled, the workflow will process leads according to its node configuration. Use campaignstack_get_workflow to inspect the current node configuration first.

NameTypeRequiredDefaultDescription
workflowIdstringYes(min length: 1)
enabledbooleanYes

Full name: campaignstack_trigger_workflow

workflows:write

Trigger workflow execution for specific leads or all leads in the workflow’s lead list. Leads are set to ‘waiting’ status at the workflow entry node and will be processed by the workflow executor. Use campaignstack_list_workflows to find workflow IDs, and campaignstack_get_lead_list to see available leads.

NameTypeRequiredDefaultDescription
workflowIdstringYes(min length: 1)
leadIdsstring[]No