An app that allows a user to make a help ticket in Smartsheets by using Slack

A Slackbot helper that lets users in a Slack workspace create helpdesk tickets in Smartsheet, based on the IT Request Management Template by Smartsheet.


Fork this app on Transposit

Create a Slack app#

  1. Create an app at https://api.slack.com/apps

  2. Add a Slash command:

    1. Go back to the app settings and click on Slash Commands.
    2. 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]
  3. Navigate to Bot Users and click "Add a Bot User":

    1. Name the bot whatever you would like and click "Add Bot User" to create one.
  4. Enable Interactive components:

    1. Go back to the app settings and click on Interactive Components.
    2. Turn on the Interactivity switch.
    3. Set the Request URL to the generated webhook url for submit_ticket in Transposit under Deploy.
    4. Save the change.
  5. Navigate to the OAuth & Permissions page:

    1. Make sure the following scopes are pre-selected:
      • commands
      • bot
      • chat:write:bot
    2. Add https://accounts.transposit.com/oauth/v2/handle-redirect as a Redirect URI.
    3. Click 'Save Changes' and then click "Install App to Workspace".

Create your Database in Smartsheet#

  1. If you are new to Smartsheet, check out their Learning Center.
  2. Download the IT Request Management Template to your Smartsheet account.

Connect Smartsheet and Slack in Transposit#

  1. Configure your Slack App's connection to Transposit:

    1. Find your Client ID and Secret in your Slack app under Basic Information > App Credentials.
    2. In your Transposit app, go to Data connections > Slack > Authentication and change the values to your Slack app's Client ID and Secret.
  2. Configure your Smartsheet's connection to Transposit:

    1. In your Smartsheet sheet, click *File > Properties... and copy the value for Sheet ID.
    2. Add the Sheet ID value to environment variables in Transposit under Deploy > Environment Variables.
  3. Add Smartsheet and Slack's keys to production under Deploy > Production Keys and follow the instructions.

Try it out!#

  1. Type your new slash command /helpdesk in your Slack workspace: you should get a dialog box allowing you to create a new help ticket.
  2. After creating the ticket, you should get a message from your bot telling you the ticket has been created.
  3. 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.