Okta Workflows

Create an outgoing webhook in Apono that will send Apono access requests data to Okta Workflows

Okta Workflows

The steps below describe how to create an outgoing webhook in Apono that will send data on Apono access requests to Okta Workflows. Then, configure any workflow you'd like in Okta Workflows.


Prerequisites

Item
Description

Permissions

Super admin with access to Okta Workflows

Configure your API endpoint settings

Follow these steps to configure API endpoint settings:

  1. Create a flow in your Workflows Console and click Add event.

  2. From the Pick an app to start your flow dialog, select API Endpoint.

  3. In the API endpoint settings dialog, select Secure with OAuth 2.0 as the security level.


Create the webhook

Follow these steps to configure a webhook:

  1. On the Webhooks page, click Add Webhook. The Add Webhook page appears.

  2. Enter a unique, alphanumeric, user-friendly Name for identifying this webhook.

  3. Click the Status toggle to Active.

  4. From the Method dropdown menu, select POST.

  5. In the URL field, enter https://<DOMAIN>.workflows.okta.com/api/flo/<CLIENT_TOKEN>. Be sure to replace <DOMAIN> with your company domain and <CLIENT_TOKEN> with the clientToken generated in Okta Workflows.

The webhook URL must adhere to the following requirements:

  • Uses the HTTPS protocol

  • Does not specify any custom ports

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

{
    "fields":{
        "event type": "{{event_type}}",
        "event time": "{{event_time}}",
        "requestor email": "{{data.requester.email}}",
        "integration name": "{{data.access_groups.[0].[integration].name}}",
        "resource type": "{{data.access_groups.[0].[resource_types].[0].name}}",
        "access units": "{{data.access_groups.[0].access_units.[0].resource.name}}"
    }
}

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 to read the descriptions of each data field.

  1. (Optional) Under Headers, use the following Key and Value value to set the header. You can set the clientToken as a header value instead of passing it in the Invoke URL in step 5. Be sure to replace the <CLIENT_TOKEN> placeholder.

    Key
    Value

    x-api-client-token

    <CLIENT_TOKEN>

  2. From the Triggers dropdown menu, select one or more of the following event triggers, which correspond to Apono access request statuses:

    • RequestCreated

    • RequestApproved

    • RequestRejected

    • RequestGranted

    • RequestExpired

    • RequestFailed

    • Manual

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

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.

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


Results

Your webhook should now start sending events payloads to the workflow once triggered.

Last updated