# Torq

Torq is an AI-driven hyperautomation platform designed to help security teams automate processes quickly and efficiently. It offers features like pre-built integration steps, AI-generated workflows, and natural language chat for AI-augmented remediation of critical threats. Torq aims to enhance security operations by providing precision detection and machine-speed response.

This guide shows you how to configure and test outbound webhooks for Torq.

***

## Prerequisite

* [Torq token](https://torq.document360.io/apidocs/authentication) and **copy** the token to use it later.
* [Set up Torq webhook](https://kb.torq.io/en/articles/9139841-webhook#trigger-workflows-with-the-webhook-url) to create endpoint for Apono access request events and trigger workflows.

***

## Configure a webhook

Follow these steps to configure a webhook:

1. On the [**Webhooks**](https://app.apono.io/webhooks) page, click **Add Webhook**. The **Add Webhook** page appears.
2. Click **Request Webhook**.
3. Enter a unique, alphanumeric, user-friendly **Request Webhook Name** for identifying this webhook.
4. Click the **Status** toggle to **Active**.
5. From the **Method** dropdown menu, select **POST**.
6. For the webhook **URL**, enter `https://hooks.torq.io/v1/webhooks/<webhook-id>/`.
7. In the **Body Template** field, paste the following JSON body for the webhook payload.

   ```json
   {
      "body": {
         "event": "New Apono {{event_type}} request made by {{data.requester.name}}"
      }
   }
   ```

{% hint style="success" %}
Click **View event's payload schema** to reveal the payload schema and available data fields. You can also refer to the [Webhook Payload Schema Reference](https://docs.apono.io/docs/webhook-integrations/webhook-payload-references/webhook-payload-schema-reference) to read the descriptions of each data field.
{% endhint %}

8. For **Headers**, use the following **Key** and **Value** to set the authorization.

<table><thead><tr><th width="230">Key</th><th>Value</th></tr></thead><tbody><tr><td><em>Authorization</em></td><td><em>Bearer &#x3C;BASE64-TORK-TOKEN></em></td></tr></tbody></table>

9. From the **Triggers** dropdown menu, select one or more of the following event triggers, which correspond to Apono access request statuses:
   * **RequestCreated**
   * **RequestApproved**
   * **RequestExpired**
   * **RequestFailed**
   * **RequestGranted**
   * **RequestRejected**
10. Under **Filters**, define one or several filter from the listed dropdown menus.

{% hint style="info" %}
Filters empower admins to control the data transmitted via webhooks, minimizing the amount of data third-party tools receive and reducing unnecessary clutter.

**Examples**:

* Send only production requests to your admins' Slack channel.
* Trigger Okta workflows for events from specific integrations or resource types.
* Open a ticket in Jira or ServiceNow for manually approved requests.
  {% endhint %}

11. (Optional) In the **Timeout in seconds** field, enter the duration in seconds to wait before marking the request as failed.
12. (Optional) Define **Response Validators** to verify that the response from the webhook meets specified criteria:
    1. Click **+ Add**. A row of settings appears.
    2. Starting with *$.data.*, enter the **Json Path** of the JSON parameter.
    3. In the **Expected Values** field, enter a value and press the Enter key on your keyboard.
    4. Repeat step **c** to add several expected values.
    5. Repeat steps **a-d** to add multiple response validators.
13. Click **Test** to generate a test event to trigger your webhook. A **Test successful** or **Test failed** response status will appear at the bottom of the page. A successful test will send mock data to the target system.

{% hint style="success" %}
For more information about the test, click **View Invocation Data**. A panel opens revealing the request, response, and other relevant details.

Should your test fail, view these tips to [troubleshoot your webhook](https://docs.apono.io/docs/webhook-integrations/troubleshoot-a-webhook).
{% endhint %}

14. Click **Save Webhook**.

The new webhook appears in the **Webhooks** table. Active webhooks are preceded by a green dot. Inactive webhooks are preceded by a white dot.

Apono access request logs will be sent to Torq Workflows based on the triggers you have selected.
