/example-slack-bug-tracker

A Slack app with a form (aka "modal") that saves responses to an Airtable base

Primary LanguageJavaScriptOtherNOASSERTION

Example Airtable+Slack App: Bug Tracker

Overview

This is an example Slack App app built with the Bolt for JavaScript framework that has a Global Shortcut which displays a modal (aka form). Form submissions undergo validation and are sent to an Airtable base using airtable.js to call Airtable's REST API.

The example code makes use of Slack Socket Mode which uses WebSockets (instead of HTTP) to receive events from Slack.

Features & Functionality

This app has a few entry points and features to help you quickly send information to Airtable without leaving Slack:

Name and Description Visual
Global Shortcut ⚡️
You can use the global shortcut ⚡ to file a bug from almost anywhere in Slack.
  1. Trigger the modal with a global shortcut and enter your bug report in the form
  2. Submitted values will be validated
  3. The bot will send you a confirmation DM and let you know if any errors occured
Message Shortcut 💬
You can also open the form by acting on a message using the Message Shortcut. The message you selected will be used to populate the details text area.
App Home 🏡
Visit the app's App Home for buttons to file a new bug or open the Airtable base in a browser.
Take Action ✍️
After you create a record, you will get a DM from the app's bot user with links to open the record directly in Airtable or edit/delete the record directly from Slack.

The software made available from this repository is not supported by Formagrid Inc (Airtable) or part of the Airtable Service. It is made available on an "as is" basis and provided without express or implied warranties of any kind.


Running locally

Step-by-step instructions for setting up your Airtable base, Slack app, and to get the app up-and-running in your local development environment can be found in docs/LOCAL_SETUP.md

See also

Additional documentation can be found in docs/ADDITIONAL_INFO.md including a description of each of the Slack scope required, Node packages needed to run this code, and notes on single-tenancy (current state) and OAuth.

Contributing

New issues and PRs are encouraged!

History/Credit

This repository began as a mirror of the slackapi/bolt-js-getting-started-app which can still be found on this branch. The blog post accompanying the original code can be found here.