Template Actionable Notifications Save

Sample Slack app to illustrate how incoming webhooks and interactive messages can be used to build a helpdesk integration

Project README

Actionable notifications template

:sparkles: Updated January 2020: As we have introduced some new features, this tutorial and the code samples have been updated!

Read diff.md for more info!


When a helpdesk ticket is created in a 3rd party system, send an actionable notification in Slack that allows the user to claim the ticket or apply a label.

Screenshot of template application

Setup

Create a Slack app

  1. Create an app at api.slack.com/apps
  2. Activate Incoming Webhooks from the Features > Incoming Webhooks then click 'Add New Webhook to Workspace', install the app and select a channel
  3. Navigate to the OAuth & Permissions page and add the following bot scopes:
    • incoming-webhook (This should be pre-selected)
    • chat:write (to send messages)
    • im:write (to open a DM channel between your bot and a user)

Run the app

Clone this repo to run locally or Remix on Glitch

  1. Get the code
  2. Set the following environment variables to .env (see .env.sample):
    • SLACK_TOKEN: Your app's xoxb- token (available on the OAuth & Permissions)
    • SLACK_WEBHOOK: The webhook URL that you copied off the Incoming Webhook
    • SLACK_SIGNING_SECRET: Your app's Signing secret (available on the Basic Information)
  3. If you're running the app locally:
    1. Start the app (npm start)
    2. In another window, start ngrok on the same port as your webserver (ngrok http $PORT)

Enable Interactive Components

  1. Go back to the app settings and click on Interactive Components.
  2. Set the Request URL to your ngrok URL (or Glitch URL) + /interactive-message (such as https://my-project.glitch.me/interactive-message)
  3. Save

Send a mock new ticket notification

Post the mock ticket JSON to the /incoming endpoint:

curl -X POST -H 'Content-type: application/json' --data "`cat ./ticket.json`" <Your app server URL + /incoming>

Example: curl -X POST -H 'Content-type: application/json' --data "`cat ./ticket.json`" https://slack-actionable-notification-blueprint.glitch.me/incoming

You need the ticket.json file in the same directory where you are sending the curl command!

Open Source Agenda is not affiliated with "Template Actionable Notifications" Project. README Source: slackapi/template-actionable-notifications
Stars
35
Open Issues
13
Last Commit
6 months ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating