Integrates KanbanFlow with Slack.
KanbanFlow has integration with Slack via Zapier but at the time this project was created it didn't give you access to the user's name that created/updated/deleted the tasks. Also, it took multiple zaps to get notified when create/update actions happened.
Not wanting to create a Zapier account and use up more than one of the five free zaps I created this project to run in Azure and receive webhooks from KanbanFlow and then notify Slack.
- When the application starts up, it queries KanbanFlow's API for the Board associated with the API key.
- When KanbanFlow sends a webhook to this app, the app will format a message for slack that includes who performed the action, what action was performed (create, move, update, delete) along with a link to the task that was created/modified (if the task was deleted there is no url b/c it doesn't exist anymore, if the task was moved it will tell you which column it was moved from and to)
- Once the message has been generated it is sent to the configured slack channel via the incoming webhook url.
- Generate an api key from KanbanFlow. This api key is used on application start-up to retrieve the associated Board.
- Set the api key as the
kanbanflowApiKey
in the web.config and/or the azure configuration interface (or however you normally set your config up) - Configure an incoming webhook in Slack for the channel that you want.
- Set the incoming webhook url as the
slackWebhookUrl
in the web.config and/or the azure configuration interface (or however you normally set your config up) - If you only want the first name of the KanbanFlow user to show up in the Slack message the set the
reportFirstNameOnly
configuration setting to true
I'm hosting it in Azure and have the 3 configuration values above set in the Azure configuration section of the web application.
To view the trace logs in real time make sure you have the azure command line tools installed and run
azure site log tail kanbanflow2slack <== replace Kanbanflow2slack with your azure app name