# Webhook trigger

Use webhook trigger to create an https endpoint (webhook), such as <https://flintit.novacura.com/t37ed/CreateCustomerRecord>, that can be called (using http methods Post or Get), optionally with query parameters and optionally with a body of any type, for integrations that should be to triggered to run on such an event with those parameters and body as input.&#x20;

Example use cases:

* event triggered data synchronizations as the inserts or updates of records in some data source
* event triggered business transactions between companies, such as sending and receiving work orders, logistical messages etc
* providing a query endpoint for some consumer, for example an item price query, or a stock at hand query

When setting up a webhook trigger for your integration you start with the following page:

<figure><img src="/files/y8fZEe3lTSM5ezEfv9EB" alt=""><figcaption></figcaption></figure>

### Authentication

Click the button Add authenticaiton, if you don't want a completely open webhook that anyone can call (normally you don't want that).&#x20;

In the dropdown that appears, choose the type of authentication among the following:

* ApiKeys

#### Api keys

Click the button Add New Key.

In the popup window that appears

fill in a label for your api key in order to recognize and differentiate it from other api keys for the same integration (in case you have more than one consumer of the webhook).

Click the button to generate a new random key, or paste a key of your own.

<mark style="color:yellow;">Tip: by copy-pasting in the api key from another already existing webhook trigger, one that is used by the same consumer, you can enable the consumer use and manage only one key for several webhook triggers that you provide.</mark>

<figure><img src="/files/hsR6ynfPZTBBBa9XYqFi" alt=""><figcaption></figcaption></figure>

Click the button Add

<figure><img src="/files/Yb9SuEInF2QIohD0WwAc" alt=""><figcaption></figcaption></figure>

You can repeat this procedure to add, change (the label) and delete as many api keys as you need.&#x20;

Having more than api key is usually the case when you have more than one consumer of the webhook trigger.

### Ordered Delivery

Now select whether you want the webhook trigger to have so called Ordered Delivery or not. Ordered delivery means that messages coming to the webhook trigger will be handled and executed exactly in the order as they are received. This is can be useful for two reasons.

One reason being that there is some semantic relationship between messages and their order, that must be kept. Such as one message having information that builds on the previous and so on.

Another reason being that one or more of the systems that the integration (the machine workflow) connects to during execution are of a nature that they cannot handle the amount of connections or messages that would result if the messages are handled unrestricted. I.e. a sort of "throttling".

### Request-Response

Now select whether you want the webhook trigger to be of so called Request-Response pattern or not. Request-Response means that a call to the webhook trigger will not return until there is a resulting response from a completed execution, or a maximum amount of time elapses and a time-out occurs.&#x20;

Request-Response checked is useful if you have an integration that whose response is necessary or useful to the consumer. For example the resulting id of a created work order. It is also useful when providing a query endpoint for some consumer, for example an item price query, or a stock at hand query.

Request-Response unchecked is useful, when a direct response is not needed. It will speed up message dialogs considerably. In this case The result from&#x20;

### Query parameters

Now click the button Add query parameter if you want to enable query parameters in your webhook trigger for your consumers. If a configured query parameter is not sent a default value can be specified.

By doing this your webhook can take incoming data in form of

<https://flintit.novacura.com/t37ed/CreateCustomerRecord?customerid=123&customername=TheCompany>

Note: Data coming through query parameters can and must be used in the data processing of the integration in order to be passed on to the machine workflow. More on that in the later chapter.

<figure><img src="/files/bwwkIAztsESI05dPahXh" alt=""><figcaption></figcaption></figure>

You webhook integration should now look something like below and you are ready to click the Save button to create it.

<figure><img src="/files/5eB9lTfWYQz2C5a0aKXd" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.novacuraflow.com/development/integration-engine/get-started/create-an-integration/webhook-trigger.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
