Slack Outbound Webhooks

Create an outgoing webhook in Apono that will send messages in a Slack channel based on an Apono access requests

The steps below describe how to create an outgoing webhook in Apono that will allow to automatically send messages in Slack from Apono access requests.



Prerequisites

  1. Create a Slack app or use an existing one
  2. Enable incoming webhooks From your Slack app's management dashboard. Select Incoming Webhooks, and toggle Activate Incoming Webhooks to on.
  3. Create an incoming webhook - Now that incoming webhooks are enabled, the settings page should refresh and a button called Add New Webhook to Workspace will appear.
    1. Pick a channel that the app will post to, then select Authorize. If you need to add the incoming webhook to a private channel, you must be a member of that channel.
    2. You'll be sent back to your app settings, where you should see a new entry under the Webhook URLs for Your Workspace section. Your webhook URL will look something like this: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX


Create the 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//:hooks.slack.com/services/<T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX>.

    Be sure to replace <T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX> with the incoming webhook URL values.

    ⚠️

    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, enter the JSON payload data for the webhook.
    {
    "text": "New {{ event_type }} from {{ data.requester.name }}",
       "blocks": [
          {
             "type": "header",
             "text": {
                "type": "plain_text",
                "text": "New {{ event_type }} ",
                "emoji": true
             }
          },
          {
             "type": "section",
             "fields": [
                {
                   "type": "mrkdwn",
                   "text": "*Type:*\nPaid Time Off"
                },
                {
                   "type": "mrkdwn",
                   "text": "*Created by:*\n<{{ data.requester.email }}|{{ event_type }}>"
                }
             ]
          },
          {
             "type": "section",
             "fields": [
                {
                   "type": "mrkdwn",
                   "text": "*When:*\n{{ event_time }}"
                }
             ]
          }
       ]
    }
    

    💡

    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. 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
  2. Under Filters, define one or several filter from the listed dropdown menus.
  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 a message to your Slack channel with mock data.

    💡

    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.


Results

Your webhook should now start sending messages in the webhook Slack channel once triggered: