# Business Event node

The **Business Event** is a node that receives information from external systems, such as the product storage changes, price changes, and so on. This way you can automate your business activities and build integrations between them. The node can receive multiple requests at a time, each trigger launches a separate workflow instance, however, it has a maximum capacity of **50 requests per second** (when this limit is exceeded, the HTTP 429 error is returned).

By using the **Business Event** node as a trigger, the workflow is automatically categorized as a business workflow. This means that:
- the customer context is not incorporated into the workflow
- you can’t use the `{{ customer.attribute }}` and `{% customer attribute %}` inserts.
- you can't use the customer-oriented nodes in a workflow.

If the data sent to Synerise contains a customer ID, you can use the [Outgoing Integration node](/docs/automation/actions/webhook-node) to produce the event on the profile card of the customer. 

## Prerequisites
---
Prepare the [Incoming integration](/docs/automation/integration/incoming-webhook-node).

## How it works
---

1. To create a workflow that is triggered by the **Business Event** node, go to **Automation Hub > Workflows > New workflow**.  
2. On the canvas, select **Business Event**.
1. To open the settings of the node, click it   
    **Result**: A pop-up opens. 
2. From the **Choose** dropdown, select the incoming integration you have prepared before. 
4. Confirm by clicking **Apply**. 

## Example of use
---
<figure>
<img src="/api/docs/image/54176ad07f146575310749eba44b7c2f42c1b327/docs/automation/_gfx/incoming-webhook.png" alt="Example of use" class="full">
<figcaption>Example of a workflow</figcaption>
</figure>


<div class="admonition admonition-tip"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" /></svg></div><div class="admonition-body"><div class="admonition-content">

You can check how the Business Event node is used in the [use case](/use-cases/send-data-from-forms) concerning integration of Microsoft Azure Forms with Synerise.

</div></div></div>


The aim of the workflow is to receive data that contains indirect customer information and then to process and to transform the data in such a way that further actions become customer oriented. 

1. Add a **Business Event** trigger node. 
2. Use the incoming webhook integration by means of which the system receives data about products in the cart and the email as the identifier.
2. Connect the **Business Event** trigger node with the **Outgoing Integration** node. In the **Outgoing integration** node, we will send a request to Synerise API to generate a profile event. All data from the incoming webhook can be transferred to the **Outgoing integration** node using Jinjava described below. 
   In this example, the **Outgoing integration** uses the endpoint documented [here](https://developers.synerise.com/DataManagement/DataManagement.html#operation/CustomEvent). To pass further the values received through the **Incoming integration**, you can use Jinja.  

   <pre><code class="language-jinja">{{request.body.paramName}} for the parameters in the request body
   {{request.headers.headerName}} for the parameters in the request headers</code></pre>

    
    Below you can find an example of data received from the external service to an endpoint indicated in the **Incoming integration** settings.

    
   <pre><code class="language-json">{
    "body": {
    "parameter1": "value1"
   },
   "businessProfileId": 611,
   "endpointId": "XXXX-XXXX-XXXX-XXXX-XXXXXXXXXX",
   "eventId": "XXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
   "headers": {
   "X-Request-ID": "XXXXXXXXXXXXXXXXXXX",
   "X-Forwarded-Host": "example host",
    },
   "method": "POST",
   "time": 1583206296408
   }</code></pre>


    - To pass the value of `parameter1`, in the body of the **Outgoing Integration** enter:  
    `{{request.body.parameter1}}`  
    - To pass the value of the `X-Request-ID` header, in the body of the **Outgoing Integration** enter:  
    `{{request.headers["X-Request-ID"]}}`  
   **Result**: A new event appears on the activity list on the customer card.
3. Connect the **Outgoing Integration** with the **End** node.
