How to create and trigger a webhook after an opt-in or a sale

Integrations

A webhook sends information to another tool the moment something happens, for example when a parent signs up or buys. The data goes out as an HTTP request in JSON format.

You will need a funnel.

Method 1: in an automation rule

  1. Open your funnel, select an opt-in page and click Automation rules, then Add rule.
  2. Choose your trigger and add the action Send webhook.
  3. Paste the address where the data should go. To test first, use a free service such as RequestBin or Pipedream to create a test address.
  4. Sign up on your own page as a test.
  5. Open your test address to see the data which arrived.

Method 2: in a workflow

  1. Go to Automations, then Workflows, and create a workflow, for example "Send webhook when a tag is added".
  2. Add the action Send webhook and paste the destination address. Test it the same way.
ScreenshotThe Send webhook action
SleepPRO™ webhooks come from these IP addresses: 185.236.142.1, 185.236.142.2 and 185.236.142.3.

What the data looks like

Each webhook has a type which tells you what happened:

  • Funnel step form subscribed: contact.optin.completed, with the funnel step and contact details.
  • Blog page form subscribed: contact.optin.completed, with the blog page and contact details.
  • New sale: customer.sale.completed, with the customer, funnel step, price plan, order and resources bought.
  • Tag added: contact.tag.added, with the tag and contact.
  • Tag removed: contact.tag.removed, with the tag and contact.
  • Registered to webinar: contact.webinar.registered, with the webinar, contact and session time.
  • Enrolled in course: contact.course.enrolled, with the course, contact and access type.
  • Enrolled in course bundle: contact.course_bundle.enrolled, with the bundle, contact and access type.
  • Campaign completed: contact.campaign.finished, with the campaign and contact.
  • Page visited: contact.page.visited, with the funnel step and contact.
  • Email link clicked: contact.email_link.clicked, with the email and contact.

For example, a tag added webhook looks like this:

{
  "type": "contact.tag.added",
  "data": {
    "tag": {"id": 141002, "name": "Newborn guide"},
    "contact": {"id": 29143587, "email": "parent@example.com", "fields": []}
  },
  "account": {"email": "you@yoursleepbusiness.com"},
  "created_at": "2026-10-05T09:52:38+00:00"
}
Still stuck? We are here for you.

SleepPRO™ support is available 24/7 and usually replies within 12 hours, often sooner.

Send us an email