Skip to content

Trigger workflows via webhooks

If a third-party service can send webhooks for its events, you can create a webhook endpoint URL on Waypoint to listen for them and trigger a workflow (and the resulting email).

Common examples:

  • A successful payment on Stripe.
  • A new pull request on GitHub.
  • A new user account on Auth0.
  • A new order on Shopify.
  • A shipping status change on Shippo.

Once the endpoint is set up, Waypoint listens for the events you configured. When one arrives, it triggers your workflow — processing the webhook data and sending the associated email.

To trigger a workflow from a webhook, set the workflow’s trigger type to HTTP POST. You’ll get an endpoint URL that listens for webhook events from any third-party service.

Screenshot: Workflow Webhook Option




Create a new workflow and set the trigger type to HTTP POST.

Screenshot: Workflow Webhook Option

Copy the workflow’s webhook endpoint URL to your clipboard.

Screenshot: Workflow Webhook Copy Endpoint

In the Stripe Dashboard, head to Developers → Webhooks to create a new webhook.

  1. Paste your workflow endpoint URL into the Endpoint URL field.
  2. Under ‘Select events to listen to’, pick the event types that should trigger the workflow. For this example, we’ll use payment_link.created so every new Payment Link fires a webhook.
  3. Click ‘Add endpoint’ to save.

Screenshot: Adding Webhook Endpoint on Stripe

Now that Stripe is wired up, run a quick check that data is flowing through.

  1. Since the trigger is set to new Payment Links, start by creating a Payment Link on Stripe.
  2. Stripe sends a webhook event to your workflow endpoint URL in the background.
  3. Back in your Waypoint workflow, scroll to the ‘Test data’ section and click the Refresh icon. You should see the incoming event and its payload:

Screenshot: Workflow Webhook Data

Use the test data to set up the email template. Pick an existing template or use a quick template.

For this example, we’ll use a quick template and reference the webhook’s id in both the subject line and body content with the template variable {{id}}.

Screenshot: Workflow Webhook Email

Test the workflow end-to-end using the test data from Step 4.

  1. Click ‘Run workflow with test data’.
  2. Once it finishes, click ‘View details’.
  3. Review the end-to-end results.

Screenshot: Test Webhook

Screenshot: Test Workflow Run

From your workflow run, click the message to open the full log. You’ll see the {{id}} variable from Step 5 replaced with the actual id from the webhook payload.

Screenshot: Test Message Output

Head back to your workflow and save it.

From here on, every time Stripe sends an event, your workflow runs, the data flows through your template, and the resulting email goes out automatically.

Screenshot: Test Message Output