ConvertKit
Add subscribers, manage tags, and grow your email list with ConvertKit.
On this page
- Connect
- Call it from a workflow
- Actions (35)
- broadcasts_broadcast_stats
- broadcasts_create_broadcast
- broadcasts_delete_broadcast
- broadcasts_get_broadcast
- broadcasts_list_broadcasts
- broadcasts_update_broadcast
- create_webhook
- custom_fields_create_field
- custom_fields_delete_field
- custom_fields_list_fields
- custom_fields_update_field
- destroy_webhook
- forms_add_subscriber_to_form
- forms_list_form_subscriptions
- forms_list_forms
- purchases_create_multiple_purchases
- purchases_create_purchase
- purchases_get_purchase_by_id
- purchases_list_purchases
- sequences_add_subscriber_to_sequence
- sequences_list_sequences
- sequences_list_subscriptions_to_sequence
- subscribers_get_subscriber_by_email
- subscribers_get_subscriber_by_id
- subscribers_list_subscribers
- subscribers_list_tags_by_email
- subscribers_list_tags_by_subscriber_id
- subscribers_unsubscribe_subscriber
- subscribers_update_subscriber
- tags_create_tag
- tags_list_subscriptions_to_tag
- tags_list_tags
- tags_remove_tag_from_subscriber_by_email
- tags_remove_tag_from_subscriber_by_id
- tags_tag_subscriber
- Details
Connect
Auth type: API key (secret_text). Paste the API key (or token) from the provider's settings into the connect dialog. It is encrypted at rest and only decrypted on the server when an action runs.
- In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
- For every project in a workspace: Workspace settings, Integrations.
- Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.
Call it from a workflow
Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("convertkit", "broadcasts_broadcast_stats", {
"broadcastId": "<broadcast id>"
});
if (!res.success) throw new Error(res.error);
ctx.log.info("ConvertKit answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "convertkit-broadcasts-broadcast-stats",
name: "ConvertKit: Broadcast Stats",
description: "Calls ConvertKit when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("convertkit", {
"action": "broadcasts_broadcast_stats",
"broadcastId": "<broadcast id>"
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/convertkit/broadcasts_broadcast_stats" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"broadcastId":"<broadcast id>"}}'Actions
broadcasts_broadcast_statsin catalog
Broadcast Stats. Get broadcast stats
| Input | Type | Description |
|---|---|---|
broadcastIdrequired | text | The broadcast id |
broadcasts_create_broadcastin catalog
Create Broadcast. Create a new broadcast
| Input | Type | Description |
|---|---|---|
contentoptional | text | The broadcast's email content - this can contain text and simple HTML markdown (such as h1, img or p tags) |
descriptionoptional | text | An internal description of this broadcast |
emailAddressoptional | text | Sending email address; leave blank to use your account's default sending email address |
emailLayoutTemplateoptional | text | Name of the email template to use; leave blank to use your account's default email template |
isPublicoptional | boolean | Specifies whether or not this is a public post |
publishedAtoptional | date-time (ISO) | Specifies the time that this post was published (applicable only to public posts) |
sendAtoptional | date-time (ISO) | Time that this broadcast should be sent; leave blank to create a draft broadcast. If set to a future time, this is the time that the broadcast will be scheduled to send. |
subjectoptional | text | The broadcast email's subject |
thumbnailAltoptional | text | Specify the ALT attribute of the public thumbnail image (applicable only to public posts) |
thumbnailUrloptional | text | Specify the URL of the thumbnail image to accompany the broadcast post (applicable only to public posts) |
broadcasts_delete_broadcastin catalog
Delete Broadcast. Delete a broadcast
| Input | Type | Description |
|---|---|---|
broadcastIdrequired | text | The broadcast id |
broadcasts_get_broadcastin catalog
Get Broadcast. Get a broadcast
| Input | Type | Description |
|---|---|---|
broadcastIdrequired | text | The broadcast id |
broadcasts_list_broadcastsin catalog
List Broadcasts. List all broadcasts
| Input | Type | Description |
|---|---|---|
pageoptional | number | Page number. Each page of results will contain up to 50 broadcasts. |
broadcasts_update_broadcastin catalog
Update Broadcast. Update a broadcast
| Input | Type | Description |
|---|---|---|
broadcastIdrequired | text | The broadcast id |
contentoptional | text | The broadcast's email content - this can contain text and simple HTML markdown (such as h1, img or p tags) |
descriptionoptional | text | An internal description of this broadcast |
emailAddressoptional | text | Sending email address; leave blank to use your account's default sending email address |
emailLayoutTemplateoptional | text | Name of the email template to use; leave blank to use your account's default email template |
isPublicoptional | boolean | Specifies whether or not this is a public post |
publishedAtoptional | date-time (ISO) | Specifies the time that this post was published (applicable only to public posts) |
sendAtoptional | date-time (ISO) | Time that this broadcast should be sent; leave blank to create a draft broadcast. If set to a future time, this is the time that the broadcast will be scheduled to send. |
subjectoptional | text | The broadcast email's subject |
thumbnailAltoptional | text | Specify the ALT attribute of the public thumbnail image (applicable only to public posts) |
thumbnailUrloptional | text | Specify the URL of the thumbnail image to accompany the broadcast post (applicable only to public posts) |
create_webhook
Add Webhook. Create a webhook automation
| Input | Type | Description |
|---|---|---|
targetUrlrequired | text | The URL that will be called when the webhook is triggered |
eventrequired | one of "subscriber.subscriber_activate" | "subscriber.subscriber_unsubscribe" | "subscriber.subscriber_bounce" | "subscriber.subscriber_complain" | "subscriber.form_subscribe" | "subscriber.course_subscribe" | "subscriber.course_complete" | "subscriber.link_click" | "subscriber.product_purchase" | "subscriber.tag_add" | "subscriber.tag_remove" | "purchase.purchase_create" | The event that will trigger the webhook |
eventParameteroptional | object (depends on other props) | The required parameter for the event |
custom_fields_create_field
Create Custom Field. Create a new custom field
| Input | Type | Description |
|---|---|---|
fieldsrequired | array | The custom fields |
custom_fields_delete_field
Custom Fields: Delete Field. Delete a custom field
| Input | Type | Description |
|---|---|---|
labelrequired | id (picked from your account) | Custom Label |
custom_fields_list_fields
List Custom Fields. Returns a list of all custom fields
No input.
custom_fields_update_field
Custom Fields: Update Field. Update a custom field
| Input | Type | Description |
|---|---|---|
labelrequired | id (picked from your account) | Custom Label |
new_labelrequired | text | The new label for the custom field |
destroy_webhook
Delete Webhook. Delete a webhook automation
| Input | Type | Description |
|---|---|---|
webhookIdrequired | number | The webhook rule id |
forms_add_subscriber_to_form
Add Subscriber To Form. Add a subscriber to a form
| Input | Type | Description |
|---|---|---|
formIdrequired | id (picked from your account) | Form |
emailrequired | text | The email of the subscriber |
firstNameoptional | text | The first name of the subscriber |
tagsoptional | ids (picked from your account) | Choose the Tags |
fieldsoptional | object (depends on other props) | The custom fields |
forms_list_form_subscriptions
List Form Subscriptions. List form subscriptions
| Input | Type | Description |
|---|---|---|
formIdrequired | id (picked from your account) | Form |
forms_list_forms
List Forms. Returns a list of all forms
No input.
purchases_create_multiple_purchases
Create Multiple Purchases. Creates multiple purchases
| Input | Type | Description |
|---|---|---|
transactionIdrequired | number | The transaction ID |
transactionTimeoptional | date-time (ISO) | The transaction time |
emailAddressrequired | text | The email address of the subscriber |
firstNameoptional | text | The first name of the subscriber |
statusoptional | one of "paid" | "pending" | "failed" | The status of the purchase |
currencyrequired | one of "USD" | "JPY" | "GBP" | "EUR" | "CAD" | "AUD" | "NZD" | "CHF" | "HKD" | "SGD" | "SEK" | "DKK" | The currency of the purchase |
subtotaloptional | number | The subtotal |
shippingoptional | number | The shipping |
discountoptional | number | The discount |
taxoptional | number | The tax |
totaloptional | number | The total |
multipleProductsrequired | JSON | The products |
purchases_create_purchase
Create Purchase. Creates a new purchase
| Input | Type | Description |
|---|---|---|
transactionIdrequired | number | The transaction ID |
transactionTimeoptional | date-time (ISO) | The transaction time |
emailAddressrequired | text | The email address of the subscriber |
firstNameoptional | text | The first name of the subscriber |
statusoptional | one of "paid" | "pending" | "failed" | The status of the purchase |
currencyrequired | one of "USD" | "JPY" | "GBP" | "EUR" | "CAD" | "AUD" | "NZD" | "CHF" | "HKD" | "SGD" | "SEK" | "DKK" | The currency of the purchase |
subtotaloptional | number | The subtotal |
shippingoptional | number | The shipping |
discountoptional | number | The discount |
taxoptional | number | The tax |
totaloptional | number | The total |
pidrequired | number | The product ID |
lidrequired | number | The line item ID |
namerequired | text | The name of the product |
skuoptional | text | The SKU of the product |
unit_pricerequired | number | The unit price of the product |
quantityrequired | number | The quantity of the product |
purchases_get_purchase_by_id
Get Purchase By Id. Returns data for a single purchase
| Input | Type | Description |
|---|---|---|
purchaseIdrequired | text | The purchase ID |
purchases_list_purchases
List Purchases. Returns a list of all purchases
| Input | Type | Description |
|---|---|---|
pagerequired | number | Page number. Each page of results will contain up to 50 purchases. |
sequences_add_subscriber_to_sequence
Add Subscriber To Sequence. Add a subscriber to a sequence
| Input | Type | Description |
|---|---|---|
sequenceIdrequired | id (picked from your account) | Sequence |
emailrequired | text | The email of the subscriber |
firstNameoptional | text | The first name of the subscriber |
tagsoptional | ids (picked from your account) | Choose the Tags |
fieldsoptional | object (depends on other props) | The custom fields |
sequences_list_sequences
List Sequences. Returns a list of all sequences
No input.
sequences_list_subscriptions_to_sequence
List Subscriptions To Sequence. List all subscriptions to a sequence
| Input | Type | Description |
|---|---|---|
sequenceIdrequired | id (picked from your account) | Sequence |
subscribers_get_subscriber_by_email
Get Subscriber By Email. Returns data for a single subscriber
| Input | Type | Description |
|---|---|---|
email_addressrequired | text | The email of the subscriber |
subscribers_get_subscriber_by_id
Get Subscriber By Id. Returns data for a single subscriber
| Input | Type | Description |
|---|---|---|
subscriberIdrequired | text | The subscriber ID |
subscribers_list_subscribers
List Subscribers. Returns a list of all subscribers
| Input | Type | Description |
|---|---|---|
pageoptional | number | Page number. Each page of results will contain up to 50 subscribers. |
sortOrderrequired | one of "asc" | "desc" | Sort order |
sortFieldoptional | text | Sort field |
fromoptional | date-time (ISO) | Return subscribers created after this date |
tooptional | date-time (ISO) | Return subscribers created before this date |
updatedFromoptional | date-time (ISO) | Return subscribers updated after this date |
updatedTooptional | date-time (ISO) | Return subscribers updated before this date |
emailAddressrequired | text | The email of the subscriber |
subscribers_list_tags_by_email
List Tags By Email. Returns a list of all subscribed tags
| Input | Type | Description |
|---|---|---|
email_addressrequired | text | The email of the subscriber |
subscribers_list_tags_by_subscriber_id
List Tags By Subscriber Id. Returns a list of all subscribed tags
| Input | Type | Description |
|---|---|---|
subscriberIdrequired | text | The subscriber ID |
subscribers_unsubscribe_subscriber
Unsubscribe Subscriber. Unsubscribe a subscriber
| Input | Type | Description |
|---|---|---|
emailrequired | text | The email of the subscriber |
subscribers_update_subscriber
Update Subscriber. Update a subscriber
| Input | Type | Description |
|---|---|---|
subscriberIdrequired | text | The subscriber ID |
emailAddressoptional | text | The email of the subscriber |
firstNameoptional | text | The first name of the subscriber |
fieldsoptional | object (depends on other props) | The custom fields |
tags_create_tag
Create Tag. Create a tag
| Input | Type | Description |
|---|---|---|
namerequired | text | The name of the tag |
tags_list_subscriptions_to_tag
List Subscriptions To Tag. List all subscriptions to a tag
| Input | Type | Description |
|---|---|---|
tagIdrequired | id (picked from your account) | Choose a Tag |
pageoptional | number | Each page of results will contain up to 50 tags. |
sortOrderoptional | one of "asc" | "desc" | Sort order |
subscriberStateoptional | one of "active" | "canceled" | Subscriber state |
tags_list_tags
List Tags. Returns a list of all tags
No input.
tags_remove_tag_from_subscriber_by_email
Remove Tag From Subscriber By Email. Remove a tag from a subscriber by email
| Input | Type | Description |
|---|---|---|
emailrequired | text | The email of the subscriber |
tagIdrequired | id (picked from your account) | The tag to remove |
tags_remove_tag_from_subscriber_by_id
Remove Tag From Subscriber By Id. Remove a tag from a subscriber by id
| Input | Type | Description |
|---|---|---|
subscriberIdrequired | text | The subscriber ID |
tagIdrequired | id (picked from your account) | The tag to remove |
tags_tag_subscriber
Tag Subscriber. Tag a subscriber
| Input | Type | Description |
|---|---|---|
emailrequired | text | The email of the subscriber |
firstNameoptional | text | The first name of the subscriber |
tagsrequired | ids (picked from your account) | Choose the Tags |
fieldsoptional | object (depends on other props) | The custom fields |
Details
- Id
convertkit- Category
- Marketing
- Tags
- email, newsletter, creators, subscribers
- Package
@activepieces/piece-convertkit@0.3.3- Tier
- Community