Reference · Tools

ConvertKit

Interact with the ConvertKit email marketing platform

Action Marketing v1

The ConvertKit node works with the pieces of an email list: subscribe someone to a form or sequence, tag and untag subscribers, and create or list custom fields, forms, sequences and tags. Every list operation can return everything or stop at a limit. A common build is subscribing new signups to an onboarding sequence and tagging them by the plan they chose.

Node type
Action
Parameters
24
Outputs
Output, Error
Credentials
ConvertKit API

ConvertKit

Manage ConvertKit subscribers, forms, tags, and sequences

Overview

Works with the email marketing resources in your ConvertKit account: custom fields, forms, sequences (ConvertKit’s autoresponder courses), tags, and the subscribers attached to a tag. Create, update, delete and list custom fields; subscribe an email address to a form or a sequence, optionally carrying a first name, tags and custom field values; list your forms, sequences and tags; read the subscriptions behind any of them; and add or remove a tag on a subscriber. Every list operation can either return everything or stop at a limit you set.

Category: Marketing
Tool Name: convertkit
Version: 1

Appearance: Icon: lucide-Mail | Color: #FB6970

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

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

Resources

ResourceValue
Custom FieldcustomField
Formform
Sequencesequence
Tagtag
Tag SubscribertagSubscriber

Operations

The operations available depend on the resource you select.

Custom Field

OperationValueDescription
CreatecreateCreate a field
DeletedeleteDelete a field
Get ManygetAllGet many fields
UpdateupdateUpdate a field

Form

OperationValueDescription
Add SubscriberaddSubscriberAdd a subscriber
Get ManygetAllGet many forms
Get SubscriptionsgetSubscriptionsList subscriptions to a form including subscriber data

Sequence

OperationValueDescription
Add SubscriberaddSubscriberAdd a subscriber
Get ManygetAllGet many sequences
Get SubscriptionsgetSubscriptionsGet all subscriptions to a sequence including subscriber data

Tag

OperationValueDescription
CreatecreateCreate a tag
Get ManygetAllGet many tags

Tag Subscriber

OperationValueDescription
AddaddAdd a tag to a subscriber
Get ManygetAllList subscriptions to a tag including subscriber data
DeletedeleteDelete a tag from a subscriber

Parameters

Custom Field: Create

ParameterTypeRequiredDefaultDescription
LabelstringYesThe label of the custom field. Supports expressions.

Custom Field: Delete

ParameterTypeRequiredDefaultDescription
Field IDstringYesThe ID of your custom field. Supports expressions.

Custom Field: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)

Custom Field: Update

ParameterTypeRequiredDefaultDescription
Field IDstringYesThe ID of your custom field. Supports expressions.
LabelstringYesThe label of the custom field. Supports expressions.

Form: Add Subscriber

ParameterTypeRequiredDefaultDescription
Form IDstringYesThe form ID. Find it in your ConvertKit account under Forms. Supports expressions.
EmailstringYesThe subscriber’s email address. Supports expressions.
Additional FieldscollectionNo{}Optional subscriber details to send with the subscription.
— Custom FieldsfixedCollectionNo{}Object of key/value pairs for custom fields (the custom field must exist before you can use it here).
— — Field KeystringNoThe field’s key.
— — Field ValuestringNoValue of the field.
— First NamestringNoThe subscriber’s first name.
— Tag IDsstringNoComma-separated tag IDs to apply to the subscriber. Find tag IDs in your ConvertKit account.

Form: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)

Form: Get Subscriptions

ParameterTypeRequiredDefaultDescription
Form IDstringYesThe form ID. Find it in your ConvertKit account under Forms. Supports expressions.
Additional FieldscollectionNo{}Receive only active subscribers or cancelled subscribers.
— Subscriber StateoptionsNoactiveWhich subscriptions to return.
Options: active, cancelled
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)

Sequence: Add Subscriber

ParameterTypeRequiredDefaultDescription
Sequence IDstringYesThe sequence ID. Find it in your ConvertKit account under Sequences. Supports expressions.
EmailstringYesThe subscriber’s email address. Supports expressions.
Additional FieldscollectionNo{}Optional subscriber details to send with the subscription.
— Custom FieldsfixedCollectionNo{}Object of key/value pairs for custom fields (the custom field must exist before you can use it here).
— — Field KeystringNoThe field’s key.
— — Field ValuestringNoValue of the field.
— First NamestringNoThe subscriber’s first name.
— Tag IDsstringNoComma-separated tag IDs to apply to the subscriber. Find tag IDs in your ConvertKit account.

Sequence: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)

Sequence: Get Subscriptions

ParameterTypeRequiredDefaultDescription
Sequence IDstringYesThe sequence ID. Find it in your ConvertKit account under Sequences. Supports expressions.
Additional FieldscollectionNo{}Receive only active subscribers or cancelled subscribers.
— Subscriber StateoptionsNoactiveWhich subscriptions to return.
Options: active, cancelled
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)

Tag: Create

ParameterTypeRequiredDefaultDescription
NamestringYesTag name, multiple can be added separated by comma. Supports expressions.

Tag: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)

Tag Subscriber: Add

ParameterTypeRequiredDefaultDescription
Tag IDstringYesThe tag ID. Find it in your ConvertKit account under Subscribers > Tags, or use the Tag: Get Many operation. Supports expressions.
EmailstringYesSubscriber email address. Supports expressions.
Additional FieldscollectionNo{}Optional subscriber details to send with the tag.
— Custom FieldsfixedCollectionNo{}Object of key/value pairs for custom fields (the custom field must exist before you can use it here).
— — Field KeystringNoThe field’s key.
— — Field ValuestringNoValue of the field.
— First NamestringNoSubscriber first name.

Tag Subscriber: Get Many

ParameterTypeRequiredDefaultDescription
Tag IDstringYesThe tag ID. Find it in your ConvertKit account under Subscribers > Tags, or use the Tag: Get Many operation. Supports expressions.
Additional FieldscollectionNo{}Receive only active subscribers or cancelled subscribers.
— Subscriber StateoptionsNoactiveWhich subscriptions to return.
Options: active, cancelled
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)

Tag Subscriber: Delete

ParameterTypeRequiredDefaultDescription
Tag IDstringYesThe tag ID. Find it in your ConvertKit account under Subscribers > Tags, or use the Tag: Get Many operation. Supports expressions.
EmailstringYesSubscriber email address. Supports expressions.

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

How the output item is built depends on whether ConvertKit answers with a single record or a list.

  • Single-record operations merge the response onto the input item JSON — the incoming fields pass through and same-named response fields replace them. One output item per input item.
  • List operations replace the item JSON. Each record in the list becomes its own output item carrying that record’s fields only; the input JSON does not pass through. An empty list produces no output items for that input item.

Binary data on the input item is forwarded in both cases.

OperationOutput itemsItem JSON
Custom Field: Createone per input itemInput JSON merged with the created field
Custom Field: Updateone per input itemInput JSON merged with success: true — ConvertKit’s own response body is not passed through
Custom Field: Deleteone per input itemInput JSON merged with the delete response, which is empty when ConvertKit replies with no content
Custom Field: Get Manyone per custom fieldThe custom field record
Form: Add Subscriberone per input itemInput JSON merged with the subscription record
Form: Get Manyone per formThe form record
Form: Get Subscriptionsone per subscriptionThe subscription record, including its subscriber data
Sequence: Add Subscriberone per input itemInput JSON merged with the subscription record
Sequence: Get Manyone per sequenceThe sequence record
Sequence: Get Subscriptionsone per subscriptionThe subscription record, including its subscriber data
Tag: Createone per tag returned, or one per input item when ConvertKit answers with a single objectThe response ConvertKit sends for the tags you created
Tag: Get Manyone per tagThe tag record
Tag Subscriber: Addone per input itemInput JSON merged with the subscription record
Tag Subscriber: Get Manyone per subscriptionThe subscription record, including its subscriber data
Tag Subscriber: Deleteone per input itemInput JSON merged with the unsubscribe response

The fields inside each record are the ones the ConvertKit v3 API returns for that resource. Reference them downstream by expression, for example {{ $json.id }}.

Usage Examples

  • subscribe an email to a ConvertKit form
  • list all ConvertKit tags
  • create a custom field in ConvertKit
  • add a tag to a subscriber in ConvertKit
  • get all subscribers for a ConvertKit sequence
  • remove a tag from a subscriber

Example Configuration

Subscribe an incoming email address to a form, with a first name, two tags and a custom field value:

{
  "type": "convertkit",
  "parameters": {
    "resource": "form",
    "operation": "addSubscriber",
    "id": "123456",
    "email": "{{ $json.email }}",
    "additionalFields": {
      "firstName": "{{ $json.firstName }}",
      "tags": "456,789",
      "fieldsUi": {
        "fieldsValues": [
          {
            "key": "company",
            "value": "{{ $json.company }}"
          }
        ]
      }
    }
  }
}

Start a subscriber on a sequence:

{
  "type": "convertkit",
  "parameters": {
    "resource": "sequence",
    "operation": "addSubscriber",
    "id": "789012",
    "email": "{{ $json.email }}",
    "additionalFields": {
      "firstName": "{{ $json.firstName }}"
    }
  }
}

List the active subscriptions behind a form, fifty at a time:

{
  "type": "convertkit",
  "parameters": {
    "resource": "form",
    "operation": "getSubscriptions",
    "id": "123456",
    "returnAll": false,
    "limit": 50,
    "additionalFields": {
      "subscriberState": "active"
    }
  }
}

Create three tags in one call:

{
  "type": "convertkit",
  "parameters": {
    "resource": "tag",
    "operation": "create",
    "name": "VIP Customer,Premium User,Beta Tester"
  }
}

Tag a subscriber, then remove the tag again later with the same Tag ID and email:

{
  "type": "convertkit",
  "parameters": {
    "resource": "tagSubscriber",
    "operation": "add",
    "tagId": "345678",
    "email": "{{ $json.email }}",
    "additionalFields": {
      "firstName": "{{ $json.firstName }}"
    }
  }
}

Create the custom field a later subscription will populate:

{
  "type": "convertkit",
  "parameters": {
    "resource": "customField",
    "operation": "create",
    "label": "Company Size"
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Manages ConvertKit email marketing: custom fields CRUD, form/sequence subscriber management, tag creation and listing, and tag-subscriber associations.

Behavior notes

  • Field ID, Form ID and Sequence ID are one parameter. All three are the same underlying field, written as id in a node configuration — which one you see depends on the resource, and only one is ever in play at a time. Tag ID is separate, and is written as tagId.
  • Create custom fields before you use them. The Custom Fields entries on Add Subscriber set values on fields that already exist; a key that matches nothing is ignored by ConvertKit.
  • Tag IDs, not tag names. The Tag IDs entry on a form or sequence subscription takes comma-separated numeric IDs; run Tag: Get Many once to look them up.
  • Tag: Create accepts several names at once, separated by commas, and creates them in a single call.
  • List operations fan out. Every form, sequence, tag, custom field or subscription returned becomes its own output item, so the node after a Get Many runs once per record.
  • Subscriber State filters Get Subscriptions on forms and sequences; leave it unset to take ConvertKit’s default. Tag Subscriber: Get Many returns the tag’s subscriptions whether or not you set it.

Frequently asked questions

Why do Field ID, Form ID and Sequence ID look like the same parameter?

Because they are — all three are the single `id` field, relabelled for whichever resource you selected, and only one is ever in play at a time. Tag ID is the exception: it is a separate `tagId` parameter.

My custom field values are not saving. Why?

The Custom Fields entries set values on fields that already exist in ConvertKit. A key that matches no existing field is ignored silently, so create the custom field first, then set it when subscribing.

Can I pass tag names when subscribing someone?

No — the Tag IDs field takes comma-separated numeric IDs. Run Tag: Get Many once to look up the IDs you need. Tag: Create does accept several names at once, separated by commas, and makes them in a single call.

What happens after a Get Many operation?

Every record returned becomes its own output item, so the next node runs once per form, sequence, tag, custom field or subscription. Plan for the fan-out when the node after it does something expensive.

Build with the ConvertKit node

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 updated . Spotted something wrong? Tell us.