Search all guides

Reference · Tools

ConvertKit trigger

Starts a workflow when ConvertKit sends a webhook notification for subscriber events like form subscriptions, tag changes, or product purchases.

Webhook trigger Marketing v1

The ConvertKit Trigger node starts a workflow the moment ConvertKit fires a webhook for a subscriber event — such as a form submission, tag change, sequence completion, or product purchase. You can filter by a specific form, tag, sequence, product, or link so only the exact event you care about kicks off your workflow. A common use is tagging a subscriber in ConvertKit and immediately syncing that change to a CRM or Slack notification.

Works as
Webhook trigger
Tool name
convertkit_trigger
Parameters
6
Outputs
Output
Credentials
ConvertKit API
Official docs
ConvertKit docs developers.kit.com

What you can build with ConvertKit

  • Trigger workflow when someone subscribes to a ConvertKit form.
  • Start workflow when a subscriber clicks a link.
  • Run automation when a ConvertKit tag is added to a subscriber.
  • When process ConvertKit purchase events in real time.
  • React when a subscriber completes a ConvertKit sequence.

Overview

Starts a workflow when ConvertKit sends a webhook notification for subscriber events such as form subscriptions, tag changes, link clicks, sequence completions, product purchases, and subscriber state changes. Receives POST requests from ConvertKit’s automation hooks and normalizes the payload for downstream processing.

Node Type

Trigger — webhook (receives incoming HTTP callbacks)

Input / Output

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires ConvertKit API credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
EventoptionsYes—The ConvertKit event that triggers the workflow.
Options: formSubscribe, linkClick, productPurchase, purchaseCreate, courseComplete (Sequence Complete), courseSubscribe (Sequence Subscribe), subscriberActivate, subscriberUnsubscribe, tagAdd, tagRemove
Form IDstringYes—The ID of the form to monitor for subscriptions. (shown when Event is formSubscribe)
Sequence IDstringYes—The ID of the sequence (course) to monitor. (shown when Event is courseSubscribe, courseComplete)
Initiating LinkstringYes—The URL of the link to monitor for clicks. (shown when Event is linkClick)
Product IDstringYes—The ID of the product to monitor for purchases. (shown when Event is productPurchase)
Tag IDstringYes—The ID of the tag to monitor for additions or removals. (shown when Event is tagAdd, tagRemove)

The Purchase Created, Subscriber Activated, and Subscriber Unsubscribe events need no extra parameter — selecting the event is enough.

Output Data

Each delivery from ConvertKit produces one output item. The webhook payload is copied onto the item unchanged, and three fields are added:

  • _trigger — always convertkit_webhook
  • _timestamp — ISO 8601 timestamp of when the request arrived
  • _webhookEvent — the event name reported by ConvertKit, taken from the payload’s event field

Subscriber events carry a subscriber object with id, first_name, email_address, state, created_at, and a fields object holding the subscriber’s custom fields.

Reference the payload downstream by expression, e.g. {{ $json.subscriber.email_address }}.

Example Configuration

Fire when someone subscribes through a specific form:

{
  "id": "convertkit-trigger",
  "name": "ConvertKit Form Subscribe",
  "type": "convertkit_trigger",
  "parameters": {
    "event": "formSubscribe",
    "formId": "123456"
  }
}

Fire when a subscriber finishes a sequence:

{
  "id": "convertkit-trigger",
  "name": "ConvertKit Course Complete",
  "type": "convertkit_trigger",
  "parameters": {
    "event": "courseComplete",
    "courseId": "789012"
  }
}

Fire when a subscriber clicks a tracked link:

{
  "id": "convertkit-trigger",
  "name": "ConvertKit Link Click",
  "type": "convertkit_trigger",
  "parameters": {
    "event": "linkClick",
    "link": "https://example.com/special-offer"
  }
}

Fire when a specific product is purchased:

{
  "id": "convertkit-trigger",
  "name": "ConvertKit Product Purchase",
  "type": "convertkit_trigger",
  "parameters": {
    "event": "productPurchase",
    "productId": "345678"
  }
}

Fire when a tag is added to a subscriber:

{
  "id": "convertkit-trigger",
  "name": "ConvertKit Tag Add",
  "type": "convertkit_trigger",
  "parameters": {
    "event": "tagAdd",
    "tagId": "901234"
  }
}

Fire on subscriber activation — no extra parameter needed:

{
  "id": "convertkit-trigger",
  "name": "ConvertKit Subscriber Activate",
  "type": "convertkit_trigger",
  "parameters": {
    "event": "subscriberActivate"
  }
}

Track unsubscribes for list management:

{
  "id": "subscriber-unsubscribe-trigger",
  "name": "Subscriber Unsubscribed",
  "type": "convertkit_trigger",
  "parameters": {
    "event": "subscriberUnsubscribe"
  }
}

Trigger Behavior

  • Activation: When the workflow is activated, a webhook endpoint is registered with the service.
  • Deactivation: The webhook is automatically unregistered when the workflow is deactivated.
  • Payload: The incoming webhook payload is parsed and output as workflow items.
  • Verification: Supports signature verification where applicable.

Tips

Entry point that fires when ConvertKit sends an automation hook event. Configure which event to listen for (form subscribe, tag add/remove, link click, purchase, sequence complete/subscribe, subscriber activate/unsubscribe) and optionally filter by a specific form, tag, sequence, product, or link. Outputs the subscriber and event data for downstream processing.

Frequently asked questions

Which ConvertKit events can this node listen for?

The node supports eight event types: form subscribe, tag add, tag remove, link click, product purchase, sequence complete, sequence subscribe, subscriber activate, and subscriber unsubscribe. You choose one event per trigger node, so if you need to react to multiple distinct events you would add a separate ConvertKit Trigger node for each.

Can I filter events to a specific form, tag, or sequence instead of receiving all of them?

Yes. After selecting an event type, an optional filter parameter lets you scope the trigger to a specific form, tag, sequence, product, or link depending on which event you chose. Without a filter the node fires on every occurrence of that event type across your ConvertKit account.

What credentials does this node require?

It uses the ConvertKit API credential type (convertKitApi). You will need to create or connect that credential in BusyBot before the node can register its webhook with ConvertKit. No OAuth flow is involved — it is an API key-based credential.

What data does the node output when it fires?

The node outputs the subscriber data and event payload that ConvertKit sends in its webhook POST request, normalized for downstream processing. This includes subscriber details alongside the specific event context — for example, which tag was added or which sequence was completed — so subsequent nodes can act on it immediately.

Does the node actively poll ConvertKit, or does ConvertKit push to it?

ConvertKit pushes data to this node — it is a webhook trigger, not a polling node. BusyBot exposes a webhook endpoint that ConvertKit's automation hooks call with a POST request when the chosen event occurs. This means the workflow fires in near real-time without any scheduled polling interval to configure.

Build with ConvertKit

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need ConvertKit API credentials first.

Open BusyBot

Last reviewed . Spotted something wrong? Tell us.