---
url: https://docs.seen.io/api/guides/n8n.md
description: >-
  Build an N8N workflow that posts data from any connected node to a Seen
  project's HTTP endpoint to trigger personalised video generation.
---

# N8N

::: info
This example uses an HTTP Request node in n8n to send data from any connected module to a Seen Project's data endpoint, triggering personalised video generation.

If you have multiple video campaigns with Seen, repeat the process to connect n8n with each one. You can reach out to your Customer Success Manager at Seen for assistance.

A Project needs to be created and published in Seen Platform prior to setting up the integration.
:::

1. Create a user at <https://n8n.io/>.
2. Click **Add Workflow**.
3. Choose the module you will send data from (Webhook, Google Sheet, etc). This guide uses Webhook.
4. Change HTTP method to `POST`, and click **Listen For Test Event**.
5. Send a test payload to the **Test URL**. You will now see the structure of your payload body under **Output**.
6. Click on the **+** button on the top right corner. Choose **Helpers** ⇒ **HTTP Request**.
7. Under **HTTP Request** do the following:
   1. Change **Method** to `POST`.
   2. Add your Seen endpoint URL: `https://next.seen.io/v1/projects/{Project_ID}/data` (find the endpoint in the [Run tab](/platform/projects/run) of your project).
   3. Choose **Generic Credential Type** under **Authentication**, and **Header Auth** under **Generic Auth Type**.
   4. Create new credential: **Name** = `Authorization` & **Value** = `Bearer {Your API Token}`. You can create a token in the [Run tab](/platform/projects/run) of your project.
   5. Toggle **Send Body** on and choose **JSON** as the **Body Content Type** as well as **Using JSON** as the **Specify Body**.
   6. Use the following example structure in the **Input** ⇒ **Body** menu of the HTTP node to map your fields (make sure to change the content to match your project set-up):

      ![Mapping fields in the n8n HTTP node's Body expression editor](/images/n8n-http-node-body-mapping.png)

      ```json
      {
        "first_name": "{{ $json.body.first_name }}",
        "id": "{{ $json.body.customer_id }}"
      }
      ```

      Replace and add relevant fields and corresponding placeholders for values based on the existing module you have connected.
8. Click on **Execute node** to test your payload.
9. If you are using Webhook in N8N, remember to change the Webhook URL to **Production URL** in your system before going live.
