- Create a Slack app on https://api.slack.com/apps
- Create a new Slash command in app management on Slack. A number of fields to fill out, but most important are:
- Command name: what the user should type after
/
- Request URL: URL of the Slack app backend. When the user do type the command, Slack will send a POST request to the Request URL. It needs to be publicly accessible and it needs to be able to handle the requests from Slack.
- Command name: what the user should type after
- Sample request from Slack
%{
"api_app_id" => "A02DMAGNJ21",
"channel_id" => "C02FFNUTGBS",
"channel_name" => "priv-test-video",
"command" => "/meet",
"is_enterprise_install" => "false",
"response_url" =>
"https://hooks.slack.com/commands/T033NA***/2763195051441/9Euw22LTMOHkjqK8cfgE4wVI",
"team_domain" => "telnyx",
"team_id" => "T033NA***",
"text" => "",
"token" => "RSVU4xGkEEwBYIZrM9GJGTcN",
"trigger_id" => "2752826282196.3124344411.690a4adfbdb8bf7f4a86dba3529445c0",
"user_id" => "U02DKE08LUA",
"user_name" => "qingwu"
}
- Respond using Block kit
- Verify request signature https://api.slack.com/authentication/verifying-requests-from-slack
- The Slack app for
/meet
: https://api.slack.com/apps/A02DMAGNJ21/general? - Source code for
/meet
app backend: https://github.com/team-telnyx/slack-video-meet - I've done a talk at Elixir Australia meetup about how
/meet
was built, which was recorded and on Youtube https://www.youtube.com/watch?v=O_61JddRvq0. It might offer more details