> ## Documentation Index
> Fetch the complete documentation index at: https://help.nextmatter.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhook triggers

> Start a workflow based on triggers from external apps.

Use a Webhook trigger to start a workflow when an event occurs on a different platform (such as a customer response on a customer support ticket or a change to the application status in your applicant tracking system). You can also analyze the webhook response payload and extract useful variables that you can use in further steps of the workflow.

<Frame>
  <img src="https://mintcdn.com/nextmatter/2sBPfWILWLfMdiFz/images/docs/dd6464218085e12f6088b366d6759070eedee84be65ba883c532cb90e9eb2418-Screenshot_2024-10-23_at_15.56.36.png?fit=max&auto=format&n=2sBPfWILWLfMdiFz&q=85&s=bc7b893f5afadd0c4e6f2262efdf8fb2" alt="Image of workflow start options in the workflow overvieww with webhook selected" width="1498" height="790" data-path="images/docs/dd6464218085e12f6088b366d6759070eedee84be65ba883c532cb90e9eb2418-Screenshot_2024-10-23_at_15.56.36.png" />
</Frame>

<Tip>
  You can find the destination webhook URLs in the developer documentation of the third-party apps.
</Tip>

## Watch a tutorial

<iframe width="560" height="315" src="https://www.youtube.com/embed/EBM0-6_qFpM?si=Y4AfxXKqhRcDs2d3" title="YouTube video player" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" referrerPolicy="strict-origin-when-cross-origin" allowFullScreen />

## Set up a webhook

1. Go to **Workflows**.

2. Click **Create new ...> Start a new workflow**.

3. Give the workflow a name and click **Create**.

4. Click the start section in the left-hand panel.

5. Select **Webhook trigger**.

6. Select to enable the webhook.

7. Copy the Next Matter URL from the webhook URL field.

8. Go to the third-party app and select the payload you want to send to Next Matter

9. In the third-party app, make a POST call to the copied Next Matter URL. This way we'll be able to receive the payload.

10. Go back to Next Matter and click **Test webhook and select variables**. This will fill in the response body with payload data, and populate the variables dropdown.

    <Tip>
      We recommend running the webhook test from time to time to make sure the payload is up to date. If the new payload doesn't return some of the variables that have been selected, these variables get highlighted and should be deleted so that they don't break the workflow.
    </Tip>

11. Select the variables from the dropdown and click **+ Add** for every variable you want to use later in the workflow. You can also add your own variables in the **Active webhook variables** section. If you plan to re-use these variables in further steps, the variables will display in the workflow metadata section as **webhook variables**.

12. Click **Save**.

Now, when an event happens, it triggers an instance and automatically populates the workflow data as per the selected variables.

<Frame>
  <img src="https://mintcdn.com/nextmatter/I7XEPsBmVpUZVtva/images/docs/3d13ceb-webhook.png?fit=max&auto=format&n=I7XEPsBmVpUZVtva&q=85&s=f3fa0a55ec9eff33c7fc30adb6c47141" alt="Image of an instance started with a webhook with started via webhook visible" width="1212" height="852" data-path="images/docs/3d13ceb-webhook.png" />
</Frame>

## Disable the webhook

If you don't need a webhook anymore, you can disable it by clearing the **Enable webhook** box.

Note that this action deletes all data related to the webhook. If any workflows still use the variables extracted from the webhook's payload, these variables will show as broken and might cause the workflow to fail.

## Use a webhook variable for a dynamic list

When you receive a list as a response to a trigger and want to create a dynamic dropdown from this list, first select the list and turn it into a variable. Then you can use the variable as the source for a dynamic dropdown. Make sure you use `[*]` in the variable value. For example, `$.mylist[*]`. This will ensure the list is parsed correctly.

[Learn more about dynamic dropdowns](/docs/single-and-multi-select-dropdowns#dynamic-dropdowns)
