Skip to content

samgavinio/slack-zendesk-poc

Repository files navigation

Zendesk-Slack POC

⚠️ The code in this repo is for exploration purpose, not production ready and likely to have serious security flaws.

A proof-of-concept Slack app built in Go to send messages to/from Slack. Built on top of Slack's event API and Zendesk's Channel Framework

Install dependencies.

This project uses glide to manage dependencies.

glide install

Configure the app by editing config/parameters.json

{
    "slack_verification_token": "see-app-credentialzes-in-slack",
    "slack_app_client_id": "see-app-credentials-in-slack",
    "slack_app_client_secret": "see-app-credentials-in-slack",
    "database_host": "localhost",
    "database_port": 3306,
    "database_username": "root",
    "database_password": null,
    "database_name": "slack_zendesk"
}

Migrate the database schema by executing.

Create your database before hand and then execute

go run migrate.go

Start the app by executing:

go run server.go --queues=zendesk

Start the goworker by executing

This requires that you have a redis service running in your machine. For this POC, this simply connects to a localhost instance with no authentication.

go run worker.go --queues=zendesk

Package the zat app in the /zat directory

zat package
  1. Upload the package as a private app
  2. Go to the channels integration section in Zendesk and configure the integration Installation Flow

What does it support

  • Slack OAuth, initiated from Channels Framework app
  • Add bot user to channel, then send message to create a new ticket in Zendesk. (Does not perform any kind of message filtering)
  • Replies from Zendesk are automatically sent to Slack

Slack App Set-up

OAuth Setup Bot Events Event Subscription

About

A POC for the Zendesk-Slack Integration

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published