Webhooks automatically notify external systems when specific journey events occur on the GBG GO platform. For example, if you have an automated customer journey configured in GO and want to update a component on your site when the journey completes, you can add the webhook module to that journey. The webhook module sends a notification message using an HTTP POST request containing the journey’s completion status to your site or application. This guide shows you how to use the GO webhook module.

Why use webhooks in your journey?

Webhooks enable you to:
  • Integrate with existing external systems: Automatically update your other applications when a customer completes verification.
  • Monitor journey progress: Receive real-time notifications about the customer onboarding status.
You can add a webhook to your journey for the following use case:
  • Send custom notifications via POST requests.
  • Trigger automated workflows in external systems.
  • Log verification events for compliance or auditing purposes.
The Webhook module cannot determine if a journey has been completed because the module itself is still running when it sends data. To ensure accurate journey status information, place the webhook as the last module in your journey, just before the “End of journey” node.
A typical customer journey with a Webhook module looks like this:
Webhook 2 Pn

Add a Webhook module to your journey

To add a Webhook module:
  1. Open your journey in the journey builder.
  2. Click Browse and add modules.
  3. Type “Webhook” into the search bar. You can also locate the Webhook module in the utilities module library category.
  4. Select the Webhook module.
  5. Click Add to journey.
  6. Ensure the Webhook module is the last step before the end of your journey.

Configure the Webhook module

The Webhook module requires specific configuration to function properly. You’ll need to provide this configuration when starting your journey through the API. When starting a journey that includes a webhook module, include these required fields in your context.config:
FieldTypeRequiredDescription
previewUrlstringyesThe URL where webhook notifications are sent when testing in the preview environment.
productionUrlstringyesThe URL where webhook notifications are sent in the production environment.
messagestringoptionalCustom message text to include in the webhook payload. Only sent when includeMessage is true.
includeMessagebooleanoptionalSet to true to include a custom.

Example configuration

When starting a journey with a webhook module, your POST request to the journey/start endpoint should include:
JSON
{
  "resourceId": "your-journey-resource-id@version",
  "context": {
    "config": {
      "previewUrl": "https://your-preview-server.com/webhook-handler",
      "productionUrl": "https://your-production-server.com/webhook-handler",
      "message": "Customer verification completed",
      "includeMessage": true
    },
    "subject": {
      "identity": {
        "firstName": "John",
        "lastName": "Doe"
      }
    }
  }
}

Authenticate webhook URLs

The Webhook module supports basic HTTP authentication. Include credentials directly in the URL:
https://username:password@your-server.com/webhook-handler 
Replace username and password with your actual authentication credentials.

Webhook outcomes

The webhook Module provides status information about message delivery:
  • sent: The webhook message was successfully delivered to the specified URL.
  • error: There was an error sending the webhook message. For example, network failure, invalid URL, or server unavailable.
Like any other module, Webhook modules can be configured. For more information about module configuration, refer to How to configure module outcomes in GO.