A Slackbot helper that lets users in a Slack workspace create helpdesk tickets in Smartsheet, based on the IT Request Management Template by Smartsheet.
Setup#
Fork this app on Transposit
Create a Slack app#
Create an app at https://api.slack.com/apps
Add a Slash command:
- Go back to the app settings and click on Slash Commands.
- Click the 'Create New Command' button and fill in the following:
- Command:
/helpdesk
- Request URL: the generated webhook url for
create_ticket
in Transposit under Deploy - Short description:
Create a helpdesk ticket
- Usage hint:
[the problem you're having]
Navigate to Bot Users and click "Add a Bot User":
- Name the bot whatever you would like and click "Add Bot User" to create one.
Enable Interactive components:
- Go back to the app settings and click on Interactive Components.
- Turn on the Interactivity switch.
- Set the Request URL to the generated webhook url for
submit_ticket
in Transposit under Deploy. - Save the change.
Navigate to the OAuth & Permissions page:
- Make sure the following scopes are pre-selected:
commands
bot
chat:write:bot
- Add https://accounts.transposit.com/oauth/v2/handle-redirect as a Redirect URI.
- Click 'Save Changes' and then click "Install App to Workspace".
Create your Database in Smartsheet#
- If you are new to Smartsheet, check out their Learning Center.
- Download the IT Request Management Template to your Smartsheet account.
Connect Smartsheet and Slack in Transposit#
Configure your Slack App's connection to Transposit:
- Find your Client ID and Secret in your Slack app under Basic Information > App Credentials.
- In your Transposit app, go to Data connections > Slack > Authentication and change the values to your Slack app's Client ID and Secret.
Configure your Smartsheet's connection to Transposit:
- In your Smartsheet sheet, click *File > Properties... and copy the value for Sheet ID.
- Add the Sheet ID value to environment variables in Transposit under Deploy > Environment Variables.
Add Smartsheet and Slack's keys to production under Deploy > Production Keys and follow the instructions.
Try it out!#
- Type your new slash command
/helpdesk
in your Slack workspace: you should get a dialog box allowing you to create a new help ticket. - After creating the ticket, you should get a message from your bot telling you the ticket has been created.
- Refresh your Smartsheet: your new ticket should be there!
Transposit Functions#
add_rows
: Smartsheet API call to create a new ticket.
confirm_ticket
: Contains the data to send a confirmation message back to a slack user.
create_ticket
: The webhook function that is called after a slash command
open_dialog
: API call for Slack to open a dialog.
submit_ticket
: Webhook that is called when the dialog button is pushed.