Webhook Event Types

Understand the types of available webhook events and their data payloads.

Here you will find all the events that are available as webhooks in ClickFunnels.

Please refer to our Webhooks How-To guide if you need a better understanding of how to work with them.

About V1 Webhooks

It's discouraged to use V1 webhooks. No new webhooks are launched in the V1 version, and existing V1 webhooks are not updated with new functionality.

Appointments::ScheduledEvent webhooks

Are delivered with the following payload (V2-only):

{
  "data": {
    "id": 12345,
    "public_id": "asdflkj",
    "workspace_id": 789,
    "event_type": {
      "name": "Boost Conversions With Jaime"
    }
    "start_on": "2025-04-05T16:30:00.000Z",
    "end_on": "2025-04-05T17:00:00.000Z",
    "status": "scheduled",
    "max_invitees": 1,
    "order_id": null,
    "primary_contact": {
      "id": 234,
      "public_id" "asdfkj",
      "email_address": "[email protected]",
      "first_name": "John",
      "last_name": "Snow",
      "phone_number": "+3439482094"
    },
    "tzid": "America/New_York",
    "comments": "I'm bringing my dog to the meeting",
    "created_at": "2025-04-03T15:01:00.000Z",
    "updated_at": "2025-04-03T15:01:00.000Z"
  },
  "page": null,
  "funnel": null,
  "event_id": "ab10330c-aa29-4755-a121-6f535809bc75",
  "created_at": "2025-04-23T07:03:18.300Z",
  "event_type": "appointments/scheduled_event.created",
  "subject_id": 4,
  "api_version": 2,
  "subject_type": "Appointments::ScheduledEvent",
  "workspace_id": 4
}

Event type

Versions available

Description

Appointments::ScheduledEvent

appointments/scheduled_event.created

V2

Sent when a Appointments::ScheduledEvent is created.

appointments/scheduled_event.canceled

V2

Sent when a Appointments::ScheduledEvent is canceled.

appointments/scheduled_event.rescheduled

V2

Sent when a Appointments::ScheduledEvent is rescheduled.

Blogs::Post webhooks

Are delivered with the following payload:

{
  "data": {
    "id": 715154,
    "url": "https://yoursubdomain.myclickfunnels.com/iguides/wufri",
    "tags": [
      {
        "name": "bubba"
      }
    ],
    "title": "New bloggo title",
    "authors": [
      {
        "last_name": "Doe",
        "first_name": "Joe",
        "email_address": "[email protected]"
      }
    ],
    "image_url": null,
    "public_id": "jVElnZ",
    "seo_title": "Smart SEO title",
    "categories": [
      {
        "name": "knowledge"
      },
      {
        "name": "sharing"
      }
    ],
    "created_at": "2025-01-31T11:08:33.768+01:00",
    "updated_at": "2025-01-31T11:08:33.819+01:00",
    "visibility": "draft",
    "published_at": null,
    "excerpt_content": "wuuuf summary (excerpt)",
    "seo_description": "Smart SEO description"
  },
  "page": null,
  "funnel": null,
  "event_id": "338ebc24-78ee-4cc4-9b67-77bd3c0a996c",
  "created_at": "2025-01-31T11:08:33.872+01:00",
  "event_type": "blogs/post.created",
  "subject_id": 715154,
  "api_version": 2,
  "subject_type": "Blogs::Post",
  "workspace_id": 152039
}

Event type

Versions available

Description

Blogs::Post

blogs/post.created

V2

Sent when a Blogs::Post is created.

blogs/post.updated

V2

Sent when a Blogs::Post is updated.

blogs/post.deleted

V2

Sent when a Blogs::Post is deleted.

blogs/post.published

V2

Sent when a Blogs::Post is published (e.g., created in published state or moved out of draft).


Contact webhooks

Are delivered with the Contact data payload.

Event type

Versions available

Description

Contact

contact.created

V1, V2

Sent when a Contact is created

contact.updated

V1, V2

Sent when a Contact is updated

contact.deleted

V1, V2

Sent when a Contact is deleted

contact.identified

V1, V2

Sent when a Contact is identified by email address and/or phone number


Contact::AppliedTag webhooks

Are delivered with the Contact::AppliedTag data payload

Event type

Versions available

Description

Contacts::AppliedTag

contacts/applied_tag.created

V2

Sent when a Contacts::AppliedTag is created

contacts/applied_tag.deleted

V2

Sent when a Contacts::AppliedTag is deleted


Communities::Post webhooks

Are delivered with the following payload as of time of writing:

{
  "id": 111,
  "public_id": "kfdskj",
  "title": "Sample Title",  
  "body": "This is a sample body text.", // Rich-text turned to plain text.
  "url": "https://myclickfunnels.com/community/post",
  "group": {
    "id": 789,
    "public_id": "sakldfj",
    "name": "ClickFunnels"
  },
  "topic": {
    "id": 234,
    "public_id": "dscnxm",
    "name": "General"
  },
  "contact_id": 456,
  "created_at": "2024-10-14T15:15:21.137Z",
  "updated_at": "2024-10-14T15:15:21.137Z"
}
Event type

Versions available

Description

Communities::Post

communities/post.created

V2

Sent when a post is created in a community topic.


Communities::Posts::Comment webhooks

Are delivered with the following payload as of time of writing:

{ 
  "id": 523,
  "public_id": "cixusd",
  "body": "Comment text goes here.",
  "url": "https://myteam.myclickfunnels.com/community/s/getting-started/say-hello/title?comment_id=14"
  "group": {
    "id": 789,
    "public_id": "iouoiu",
    "name": "ClickFunnels"
  },
  "post": {
    "id": 456,
    "public_id": "qowieqo",
    "title": "Valuable post",
    "url": "https://myclickfunnels.com/communities..."
  },
  "contact_id": 456,
  "created_at": "2024-10-14T15:15:21.137Z",
  "updated_at": "2024-10-14T15:15:21.137Z"
}
Event type

Versions available

Description

Communities::Posts::Comment

communities/posts/comment.created

V2

Sent when a comment on a community post is created.


Course webhooks

Payloads correspond to the respective API resources:

Event type

Versions available

Description

Course

course.created

V2

Sent when a Course is created

course.updated

V2

Sent when a Course is updated

course.deleted

V2

Sent when a Course is deleted

course.published

V2

Sent when a Course has been published

Courses::Enrollment

courses/enrollment.created

V1, V2

Sent when a Course::Enrollment is created

courses/enrollment.updated

V1, V2

Sent when a Course::Enrollment is updated

courses/enrollment.deleted

V1, V2

Sent when a Course::Enrollment is deleted

courses/enrollment.suspended

V1, V2

Sent when a Course::Enrollment has been suspended

courses/enrollment.course_completed

V1, V2

Sent when a Course::Enrollment completes a course

Courses::Section

courses/section.created

V2

Sent when a Courses::Section is created

courses/section.updated

V2

Sent when a Courses::Section is updated

courses/section.deleted

V2

Sent when a Courses::Section is deleted

courses/section.published

V2

Sent when a Courses::Lesson has been published

Courses::Lesson

courses/lesson.created

V2

Sent when a Courses::Lesson is created

courses/lesson.updated

V2

Sent when a Courses::Lesson is updated

courses/lesson.deleted

V2

Sent when a Courses::Lesson is deleted

courses/lesson.published

V2

Sent when a Courses::Lesson has been published

Fulfillment webhooks

Subscription and one-time orders that are paid and configured for shipping with a fulfillment partner can have a Fulfillment record created.

They are delivered with the Fulfillment data payload.

Event type

Versions available

Description

Fulfillment

fulfillment.created

V2

Sent when a Fulfillment is created

fulfillment.updated

V2

Sent when a Fulfillment is updated

Product webhooks

Products are a high-level representation of physical or digital goods being sold.

They are delivered with the Product data payload.

Event type

Versions available

Description

Product

product.created

V2

Sent when a Product has been created

product.updated

V2

Sent when a Product has been updated

Products::Variant webhooks

Product variants represent the options available for purchase related to a product. For example, if your product is a T-shirt, variants will show additional properties of the exact sellable good, like size or color.

They are delivered with the Products::Variant data payload.

Event type

Versions available

Description

Products::Variant

products/variant.created

V2

Sent when a Products::Variant has been created

products/variant.updated

V2

Sent when a Products::Variant has been updated

Orders::Invoices::Restock webhooks

An Orders::Invoices::Restock (aka Fulfillment restock) is the result of an Order that has been canceled or refunded after a fulfillment record has been associated with the order's invoice line items. Restocking a fulfillment will generate an orders/invoices/restock.created webhook.

They are delivered with the Orders::Invoices::Restock data payload.

Event type

Versions available

Description

Orders::Invoices::Restock

orders/invoices/restock.created

V2

Sent when an Orders::Invoices::Restock has been created

orders/invoices/restock.updated

V2

Sent when an Orders::Invoices::Restock has been updated

Form submission webhooks

Are delivered with the FormSubmission data payload.

Event type

Versions available

Description

FormSubmission

form_submission.created

V1, V2

Sent when a FormSubmission is created

Sales::Opportunity (CRM) webhooks

Are delivered with the Sales::Opportunity data payload.

Event type

Versions available

Description

Sales::Opportunity

sales/opportunity.created

V2

Sent when a Sales::Opportunity is created.

sales/opportunity.updated

V2

Sent when a Sales::Opportunity is updated.

sales/opportunity.deleted

V2

Sent when a Sales::Opportunity is deleted.

sales/opportunity.closed

V2

Sent when a Sales::Opportunity is closed. Only sent once, so if an opportunity moves in a non-closed and then a closed state again, it won't be sent.

sales/opportunity.moved_stage

V2

Sent when a Sales::Opportunity has moved a state.


Order webhooks

💸 Behavior of webhook events related to payments may differ per payment processor. Currently, these payment processors are available: Stripe, Payments.ai (PAI), External (created via the ClickFunnels API).

Subscriptions and one-time orders are all of type "Order" and their payload will be as in the Order resources
response payload
.

Event type

Versions available

Payment Processors

Description

Order

order.created

V1, V2

All

Sent when an Order has been created.

order.updated

V1, V2

All

Sent when an Order has been updated.

order.deleted

V1, V2

All

Sent when an Order has been deleted.

order.completed

V1, V2

All

Sent when a one-time order was paid or a subscription order's service period has run out.

One-Time Order

one-time-order.completed

V1, V2

All

Sent when a one-time order has been completed, i.e. it was paid.

one_time_order.refunded

V1, V2

All

Sent when a refund has been issued for a one-time order.

Subscription

subscription.activated

V1, V2

All

Sent when a subscription order has been activated. For PAI, this is only sent during the initial activation. For Stripe and external orders, it's sent each time the service status changes to "active". If you wish to receive the event only for the first activation, you may listen to the subscription.first_payment_received event.

subscription.canceled

V1, V2

All

Sent when a subscription order has been canceled.

subscription.reactivated

V1, V2

All

Sent when a subscription order that was canceled or churned was reactivated, i.e., its service_status changed back to "active".

subscription.downgraded

V1, V2

All

Sent when a subscription order is changed to a product of smaller monetary value.
ℹ️ Currently it might not be possible to update line items for external subscriptions so that this event would not be triggered.

subscription.upgraded

V1, V2

All

Sent when a subscription order is changed to a product of higher monetary value.
ℹ️ Currently it might not be possible to update line items for external subscriptions so that this event would not be triggered.

subscription.churned

V1, V2

All

Sent when a subscription order has been churned.

subscription.modified

V1, V2

PAI

Sent when a subscription order has been modified.

subscription.completed

V1, V2

All

Sent when a subscription order has been completed, i.e., it's subscription period has ran out without a cancelation. This more commonly may happen for payment plans.

subscription.first_payment_received

V1, V2

All

Sent when a subscription order received the first non-setup non-trial payment for its subscription line item.

subscription.trial_started

V1, V2

All

Sent when a subscription order's "in_trial" status changes to true.

subscription.trial_ended

V1, V2

All

Sent when a subscription order's "in_trial" status changes to false.

subscription.trial_converted

V1, V2

All

Sent when a subscription order's "in_trial" status changes to true and the subscription is in an active state.

subscription.line_items.changed

V1,V2

All

Sent when when any of the line items of a subscription order change in any way.


Orders::Transaction webhooks

💸 Behavior of webhook events related to payments may differ per payment processor. Currently, these payment processors are available: Stripe, Payments.ai (PAI), External (created via the ClickFunnels API; external orders currently don't have subscriptions).

With the Orders::Transaction payload

Event type

Versions available

Payment Processor

Description

Orders::Transaction

orders/transaction.created

V1, V2

Stripe, PAI

Sent when an Orders::Transaction has been created

orders/transaction.updated

V1, V2

Stripe, PAI

Sent when an Orders::Transaction has been updated


Invoice webhooks

Behavior of webhook events related to payments may differ per payment processor. Currently, these payment processors are available: Stripe, Payments.ai (PAI), External (created via the ClickFunnels API).

With the Invoice payload.

Event type

Versions available

Payment Processor

Description

Orders::Invoice

orders/invoice.created

V1, V2

All

Sent when an Orders::Invoice has been created.

orders/invoice.updated

V1, V2

All

Sent when an Orders::Invoice has been updated.

orders/invoice.refunded

V1, V2

All

Sent when an Orders::Invoice has been refunded.

orders/invoice.abandoned

V1, V2

PAI

Sent when an Orders::Invoice got abandoned.

orders/invoice.reissued

V1, V2

PAI

Sent when an Orders::Invoice got reissued.

orders/invoice.past_due

V1, V2

All

Sent when an invoice enters the past due state.

orders/invoice.fulfilled

V1, V2

All

Sent when all line items of an invoice were fulfilled.

orders/invoice.voided

V1, V2

Stripe, external

Sent when the invoice status is set to "voided".

orders/invoice.paid

V1, V2

All

Sent each time an invoice's status of a one-time

or

a subscription order becomes "paid".

renewal-invoice-payment-declined

V1, V2

PAI, Stripe

Issued when a renewal Orders::Invoice payment has been declined.

OneTimeOrder::Invoice

one-time-order.invoice.paid

V1, V2

All

Sent when an Order::Invoice of

order_type: "one-time-order"

has been paid.

Subscription::Invoice

subscription.invoice.paid

V1, V2

All

Sent when an Order of

order_type: "subscription"

has been paid.


Workflow-based webhooks

These are mostly used for the UI-based ClickFunnels Workflows functionality.

Event type

Versions available

Description

Runs::Step

runs/step.dontrunme

V1

Issued when the

dontrunme

step has been ran on a Workflow

Workflows::Integration::Step

workflows_integration_step.executed

V1

Sent when a Workflows::Integration::Step has been executed

Workflows::Steps::IntegrationStep

workflows/steps/integration_step.executed

V1

Sent when a Workflows::Steps::IntegrationStep has been executed

Workflows::Steps::DeliverWebhookStep

workflows/steps/deliver_webhook_step.executed

V1

Sent when a Workflows::Steps::DeliverWebhookStep has been executed


Platform::Application webhooks

Expected payload:

{
  "platform_application": {
    "id": 123,
    "public_id": "sDJjfJ",
    "name": "Super Platform",
    "team_id": 456,
    "workspace_id": 789
  }
}

Event type

Versions available

Description

Platform::Application

platform_application.disconnected

V2

This is useful when you are an OAuth platform application provider and need to know that your application was disconnected from one of your user's teams.


What’s Next

Check out how to actually work with the ClickFunnels webhook events.