# Coralogix

Coralogix is a log analytics platform that uses machine learning and real-time streaming to provide insights into log data, helping with monitoring, troubleshooting, and optimization. It offers features like dynamic data parsing, alerting, and anomaly detection, allowing teams to efficiently manage and analyze large volumes of log data. Coralogix is known for its scalability and robust analytics capabilities.

### Prerequisite

<table><thead><tr><th width="219">Item</th><th>Description</th></tr></thead><tbody><tr><td>Create <strong>Generic Incoming Webhook</strong> for the Apono app</td><td>Use the instructions in <a href="https://coralogix.com/docs/generic-incoming-webhooks/">this link</a> to create a Coralogix incoming webhook, to generate a webhook URL to connect Apono to Coralogix.</td></tr></tbody></table>

<figure><img src="https://1094436629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fv6MBfUGvblSdAz31yJXm%2Fuploads%2Fgit-blob-10a8a6d2015c3bd3d5fdfb4ad0b484448d465ae3%2FPasted%20Graphic%202.png?alt=media" alt="" width="563"><figcaption><p><strong>Generic Incoming Webhook example</strong></p></figcaption></figure>

***

### Creating the 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. In the **URL** field, enter *https\://\<GENERATED\_INCOMING\_WEBHOOK\_URL>*.\
   \
   Be sure to replace `<GENERATED_INCOMING_WEBHOOK_URL>` with the Coralogix incoming webhook URL.

{% hint style="warning" %}
The webhook URL **must adhere** to the following requirements:

* Uses the HTTPS protocol
* Does **not** specify any custom ports
  {% endhint %}

7. In the **Body Template** field, construct a JSON body for the webhook payload.

```json
{
   "alias":"apono-webhook",
   "integration_type_fields":"{"event_type": "{{ event_type }}", "event_time": "{{ event_time }}", "id": "{{ data.id }}", "friendly_id": "{{ data.friendly_id }}", "requester_id": "{{ data.requester.id }}", "requester_name": "{{ data.requester.name }}", "requester_email": "{{ data.requester.email }}", "justification": "{{ data.justification }}", "creation_date": "{{ data.creation_date }}", "access_flow_id": "{{ data.access_flow.id }}", "access_flow_name": "{{ data.access_flow.name }}", "access_bundle_id": "{{ data.access_bundle.id }}", "access_bundle_name": "{{ data.access_bundle.id }}", "access_groups_integration_name": "{{ data.access_groups.[0].integration.name }}", "access_groups_integration_type": "{{ data.access_groups.[0].integration.type }}"}",
   "url":"<https://api.coralogix.us/api/v1/logs>"
}
```

{% 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. Under **Headers**, use the following **Key** and **Value** to set the header. Be sure to replace `<API_KEY>` with the Coralogix API key.

| Key             | Value                |
| --------------- | -------------------- |
| *Authorization* | *Bearer \<API\_KEY>* |

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 Coralogix based on the triggers you have selected.

***

### Results

Your webhook should now start sending new logs to Coralogix once triggered:

<figure><img src="https://1094436629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fv6MBfUGvblSdAz31yJXm%2Fuploads%2Fgit-blob-cd6165e9b366952a9b48499c0b33c3277fe8451f%2Fimage%20(14).png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1094436629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fv6MBfUGvblSdAz31yJXm%2Fuploads%2Fgit-blob-a89aa23b564ede7342c1f246a5b0cdc5371b6e62%2Fimage%20(3)%20(1)%20(1)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>
