Slack Bot Setup

Inbound Email Inbox Setup

  1. Allocate a domain or subdomain for the Slack Bot's email address. You will require DNS access to this domain name. For instance, bot.yourcompany.com
  2. Notify the Recall team that you intend to setup your Slack integration and provide the domain name you chosen.
  3. A member of the Recall team will respond with the DNS records that need to be added to the domain name. This is a combination of CNAME and MX records.
  4. You need to update the DNS within 1 day, or otherwise the process will fail and you will have to try again.
  5. We will confirm with you once this domain is ready to use and proceed to the next step.

Configure Slack Bots during Onboarding

Once you have the email domain configured you can proceed to configuring Slack Bots for your customers.

  1. When you onboard a customer onto your Slack Huddle integration you will need to make a call to the Create Slack Team Integration endpoint. Here is an example payload:
  2. {
      "email_address": "[email protected]",
      "slack_team_domain": "customer-team.slack.com",
      "bot_name": "Your Company Bot",
      "huddle_bot_api_token": "<<YOUR RECALL API TOKEN>>",
      "huddle_bot_config": {
        "transcription_options": {
          "provider":  "assembly_ai" | "assembly_ai_async_chunked" | "aws_transcribe" | "deepgram" | "gladia" | "meeting_captions" | "rev" | "speechmatics" | "symbl"
        }
      }
    }
    
    1. The only piece of information you need from the customer is theslack_team_domain. This is the domain name you see in the browser when viewing your workspace in the Slack app:
  3. At this point your customer can invite the Slack Bot to their workspace:
  4. Once the invite is processed by our systems the Slack Bot will join the workspace and start recording huddles. This process usually takes 5 minutes or so.

Joining Huddles

There are two ways in which a Slack bot can join a huddle:

  • Directly inviting the bot user to join your huddle
  • Configuring the bot to automatically join public huddles

There is no way to have the bot automatically join a private huddle, since it must be invited.

Directly inviting the bot to a huddle

You can directly invite the bot to join a huddle by going to More Actions > Invite users, then selecting the bot user.

Automatically joining public huddles

Slack huddle bots can also be configured to automatically join public huddles by setting auto_join_public_huddles to true on the Slack team integration.

By default, the bot will join all public huddles. You can filter which huddles it should join by providing a list of emails in the filter_huddles_by_user_emails array.

Slack Webhooks

You will receive webhooks via Svix when the bot joins a huddle. Here is a list of the possible webhooks (there is only one currently):

{  
  "event": "slack.huddle_state",  
  "data": {  
    "slack_team_integration_id": string,  
    "status": {
      "code": string,
      "bot_id": string,
      "metadata": object|undefined
      "created_at": string,  
    }
  }  
}
EventDescriptionMetadata
bot_createdThe bot is joining a huddle. The bot_id parameter is the specific instance of the bot for that particular huddle. metadata.huddle_id is the ID of the huddle from Slack. metadata.channel_id is the ID of the Slack channel where the huddle is occurring.{ "huddle_id": string, "channel_id": string, }

Retrieving Recordings

🚧

Using the correct API Token!

Slack Huddle bots are created using the huddle_bot_api_token provided to the Create Slack Team Integration endpoint. You need to ensure you use the same token when calling the Retrieve Bot endpoint.

  1. Once you receive the joining_huddle webhook with a bot_id you can listen for further updates using the standard bot recording flow.

Offboarding a Slack Team

  1. In order to remove a Slack Bot from a workspace, you will need to call the Delete Slack Team Integration endpoint with the id of the integration you want to remove. This ID is returned when you call the Create Slack Team Integration endpoint.
  2. The Slack User in the customer's workspace will need to be manually removed. It will not automatically leave the Slack workspace.