Tip
titleEnable Approval Flow

Want to know more about enabling approval flow in Slack or HipChat? Then you have landed on the right page. 

...

Panel
titleApproval Flow


Expand
titleConfigure through Bot/Slack App


Note

For Approval flow in slack, Bot must use slack app. Bot added though hubot configuration will not have this feature

  1. Logging into api.slack.com navigating to the My Apps section at slack.com/apps
  2. Click the Interactive Components link in the menu
  3. Click Enable Interactive Messages, enter Request URL and click Enable Interactive Messages 
    The Request URL must be publicly accessible and secure.
  4. Click the Bot users link in the menu.
  5. Click Add a Bot User, enter Display name and Default username and click Add a Bot User 
  6. Click the OAuth & Permissions link in the menu.
  7. Go to Redirect URLs section click Add a new Redirect URL, enter Redirect URL and click save changes.
    The Redirect URL must be publicly accessible and secure.
  8. Go to scopes section and select “Administer the workspace” scope and click save changes.
  9. Click on the Install App to Team button found on the Install App  If new permission scopes or Slack app features are added after an app has been installed, app has to be reinstalled to workspace for changes to take effect.
  10. Once the app installed, the access token will be generated in OAuth & Permissions page


Expand
titleConfigure through HipChat Add-on
  1. Sign in to the hipchat account and click the Integrations link from top menu
  2. Select a channel from the dropdown to which the approval flow configuration is to be made and click Build your own integration block to proceed further
  3. Once Build your own integration is selected, name the integration and click create button to create the integration
  4. when the integration is created, configuration can be added now. Select the checkbox Add a command enter your slash command (This command should be used for approving or rejecting an action)
  5. Enter a post URL where the flow should be redirected
  6. Click save to make the changes to come effect
Note

There should be two integration installed in order to handle the approval and rejection flow separately. Name the slash command such a way to identify whether it’s an approval flow command or rejection flow command



Expand
titleMattermost

Mattermost doesn't need any extra configuration for approval flow othere than changing the admin channel details in workflow.json. You should have a separate public channel where approval requests will go and that channel name should be provided to workflow.json (Refere Edit workflow.json section in this page). To obtain the id for your mattermost public channel, click on your channel on the left pane → Click on channel name at the top → Select View Info from the dropdown → Copy the last word from the URL field shown, this is the data required for workflow.json as admin and adminid field. For  For Approval flow, it is necessary that the AllowEditPost property in Mattermost config.json should be enabled (Refere here). This is required because the approval/rejection happens through attachments which are updated( or edited) after the approver clicks Approve/Reject button.