Logz.io

Create an outgoing webhook to send logs to Logz.io triggered by Apono access request events

Logz.io collects and analyze logs, metrics, and traces, combined with human-powered AI/ML features through a SaaS-based data analytics platform.


Prerequisite

Item
Description

Permissions

Admin user for Logz.io account

Logz.io log shipping token

Used in shipper configurations to direct data to the relevant Logz.io account. Get your Logz.io log shipping token in the ADMIN ZONE section of the side navigation menu Settings > Manage tokens > Data shipping tokens tab

Logz.io Listener URL

The Listener URL for your account is displayed above the token table.

Logz.io Listener URL location:


Creating the webhook

Follow these steps to configure an Apono webhook:

  1. On the 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://<LISTENER_URL>?token=<LOG_SHIPPING_TOKEN>. Be sure to replace the <LISTENER_URL> and <LOG_SHIPPING_TOKEN> placeholders.

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

{"message": "{ \"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 }}\"}", "type": "Apono"}
  1. 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

  2. Under Filters, define one or several filter from the listed dropdown menus.

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.

  1. (Optional) In the Timeout in seconds field, enter the duration in seconds to wait before marking the request as failed.

  2. (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.

  3. 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.

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


Results

Your webhook should now start sending logs to Logz.io in the relevant account once triggered:

Last updated

Was this helpful?