All pages
Powered by GitBook
1 of 3

Loading...

Loading...

Loading...

Not attached

The new URL address for the webhook, created when a user opens the instant trigger and creates a new webhook, has to be registered manually by the user. The user needs to copy the URL address and paste it to the webhook configuration in the settings of the external platform. The main advantages of webhooks that are not attached when compared to the custom webhook module are:

  • Improved UX

    • Mapping is easier when you define an interface.

    • Ability to modify the output if needed, such as parsing dates in non-standard forms, or un-nesting parameters.

  • Improved discoverability

    • Easier for most users to notice as a viable option for their integrations.

If your intend to have your app approved by Make, you must provide instructions on how to connect the webhook in the app's documentation.

Most webhooks that can't be attached automatically should not have a connection linked to them. However, there are a few notable exceptions where you might still need it:

  • One or more are used in the parameters of the webhook.

  • One or more are used in the instant trigger module.

  • One or more additional requests are defined in the instant trigger communication (for example, a webhook that sends only a resource ID with a request to retrieve the actual data for that resource).

RPCs
RPCs

Dedicated

Unlike a shared webhook, dedicated webhooks are directly linked to the user account. Only notifications for the specific user are received.

Even when a service sends all data to only one URL registered for the user, it's a dedicated webhook. It's up to you to determine how the app will handle incoming data. Over 90% of services use dedicated webhooks so be cautious when using a shared webhook.

Types of dedicated webhooks

Attached

For an , the new URL address that is created is automatically registered to the service using an attach procedure and can be unregistered using detach procedure.

If there is an endpoint available in the API for registration of the webhook, the attach directive should be implemented.

Not attached

For a , the new URL address that is created has to be registered manually by the user. The user copies the URL address and pastes it to the webhook's settings of the web service.

If there is no attach directive available in the API but the web service allows setting up a webhook manually, implement the dedicated webhook without the attach directive.

Attached

The new URL address for the webhook, created when a user opens the instant trigger and creates a new webhook, is automatically registered to the service using the attach procedure, and can be unregistered using the detach procedure.

Attach

The attach remote procedure is used to automatically attach a webhook to a remote service. You will need to detach this RPC later, and for that you will need the remote procedure’s Id.

{
    "url": "https://www.example.com/api/webhook",
    "method": "POST",
    "body": {
        "url": "{{webhook.url}}"
    },
    "response": {

If the API returns a parameter that should be used in the detach remote procedure, you need to make sure the parameter is mapped in the response.data collection, otherwise the parameter will not be available via webhook.parameter mapping (see the token in the example above).

To save the remote webhook id (in order for detach to work), you must use the response.data collection. This collection is available in the detach webhook remote procedure as the webhook IML variable.

The webhook collection with the webhook’s data is also accessible in regular remote procedure calls if the call is processed in the context of an instant trigger. For example, if you create a dynamic interface for an instant trigger based on parameters entered when the webhook was created.

Detach

The detach remote procedure is used to automatically detach (delete) a webhook from a remote service when it is no longer needed. The only thing you need to do is to correctly specify the URL to detach a webhook. No response processing is needed.

attached dedicated webhook
dedicated webhook that is not attached
"data": {
"externalHookId": "{{body.id}}",
"token": "{{body.token}}"
}
}
}
{
    "url": "https://www.example.com/api/webhook/{{webhook.externalHookId}}",
    "method": "DELETE"
}