Skip to main content

Webhooks

A webhook allows an application to send information in real-time to another application. A webhook is configured to be triggered by a specific event and sends an HTTP request (POST, PUT, GET, DELETE, PATCH).

In the case of Talon.One, you can create webhooks to communicate information from the Talon.One Rule Engine to an external system. A webhook is always triggered as an effect inside a rule.

Creating a webhook#

To create a webhook:

  1. Click Account in the bottom-left corner of the Campaign Manager > Dev Tools > Webhooks > Create webhook.
  2. Edit the fields as needed:
    • Use the Parameters section to define parameters in your webhook than can be populated when a rule gets executed. This allows you to share data from the Rule Engine with the recipient of the webhook.
    • Use Request section to set the URL of the receiving service, for example, one of your application's endpoints.
  3. Use the webhook inside a rule as an effect. For more information, see the end user documentation.

For a concrete example, see the webhook tutorial.

Using parameters in a webhook#

You can use 2 types of parameters in a webhook:

  • Webhook-declared properties: the properties defined in the webhook itself.
  • The attributes defined in the Campaign Manager.

Webhook-declared properties are set in a rule's effect. On the other hand, when you use attributes, they are automatically filled in when the rule is executed.

You can use any profile or campaign attribute in your payload using the following notation: ${$Profile.Attributes.<attribute_name>} or ${$Campaign.Attributes.<attribute_name>}

To find the available attributes, use the Attribute library:

  1. Click Account > Dev tools > Attributes > Attribute Library.
  2. Find the attribute of your choice and use a modified version of its name in your payload:
    • If the attribute contains CustomerProfile in its name, replace it by Profile.Attributes to use it in your webhook.
    • If the attribute contains CustomerSession, replace it by Session.Attributes.
    • For any other attribute, custom or default, add .Attributes. between the entity and the attribute name.
Examples
  • CustomerProfile.name becomes "my_prop": "${$Profile.Attributes.name}"
  • CustomerSession.name becomes "my_prop": "${$Session.Attributes.name}"
  • Coupon.myValue becomes "my_prop": "${$Coupon.Attributes.myValue}"

For a more complete example, see the webhook tutorial.

Webhook retry policy#

If a webhook fails or receives an error, it is triggered 10 times with an increasing amount of time between the attempts.