Skip to main content

Connect Slack to your organization

Connect a Slack workspace to ORQO so Chief of Staff can receive and answer your messages, and agents can deliver workflow output to Slack channels and DMs.

CategoryCommunication
CapabilitiesSend + Receive
AuthBot token + signing secret

You'll switch back and forth between two browser tabs: api.slack.com (your Slack app) and ORQO Settings. The whole setup takes about 10 minutes.

Prerequisites

  • A Slack workspace where you can install apps
  • Access to your organization's Settings area in ORQO

1. Create a Slack app

  1. Go to api.slack.com/appsCreate New AppFrom scratch.
  2. Name it (e.g. "ORQO") and pick your workspace.
  3. On Basic Information, scroll to App Credentials and copy the Signing Secret — you'll need it shortly.

2. Add bot scopes and install to the workspace

  1. Open OAuth & Permissions in the left sidebar.
  2. Under Scopes → Bot Token Scopes, add:
    • chat:write — send messages
    • im:history — read direct messages sent to the bot
    • im:write — open and reply in DMs
    • users:read — resolve who sent a message
    • channels:read — list public channels (optional, for channel delivery)
  3. Scroll up and click Install to Workspace, then Allow.
  4. Copy the Bot User OAuth Token (xoxb-…).

You now have the two secrets ORQO needs: the bot token (xoxb-…) and the signing secret.

3. Install Slack in ORQO

  1. In ORQO, go to Settings → Integrations.
  2. Find the Slack tile and click Install.

ORQO creates the Slack integration for your org and adds two empty credentials — SLACK_BOT_TOKEN and SLACK_SIGNING_SECRET — already linked to it.

4. Fill in the credentials

  1. Go to Settings → Credentials.
  2. Edit SLACK_BOT_TOKEN and paste your xoxb-… bot token.
  3. Edit SLACK_SIGNING_SECRET and paste the signing secret from step 1.

These are already linked to the Slack app, so you don't need to attach them manually.

5. Copy your webhook URL

  1. Back in Settings → Integrations, click the Slack card to open it.
  2. Find the Webhook URL field and copy the whole thing. It looks like:
    https://orqo.ooopps.com/api/v1/webhooks/aB3xK7q...Zp9w2R
Copy the URL exactly

That long string at the end is a unique, per-organization token — not an app name or ID. Copy the entire URL straight from this field; don't retype or shorten it.

6. Point Slack at your webhook URL

Back in your Slack app at api.slack.com:

  1. Open Event Subscriptions in the left sidebar and toggle Enable Events on.
  2. Paste your ORQO webhook URL into the Request URL field.
Use Event Subscriptions — not Redirect URLs

The webhook URL goes in Event Subscriptions → Request URL. Do not paste it into OAuth & Permissions → Redirect URLs — that field is for something else, never verifies, and your messages will silently go nowhere.

  1. Slack immediately sends a verification challenge to the URL. ORQO answers it automatically, so the field should flip to Verified ✓ within a second. If it shows a red error instead, re-check that you copied the full URL into the right field.
  2. Scroll to Subscribe to bot events and add:
    • message.im — direct messages to the bot
    • app_mention — when someone @mentions the bot in a channel
  3. Click Save Changes. If Slack prompts you to reinstall the app (scopes changed), do it.

7. Register yourself as a contact

Chief of Staff only talks to known contacts — this keeps your organization's private AI from answering strangers. Add yourself (and anyone else who should use it):

  1. In ORQO, go to Settings → Contacts and create a contact.
  2. Add a channel: choose Slack as the app, and set the address to your Slack user ID.
  3. Set priority to Primary and save.
Finding your Slack user ID

In Slack, click your profile picture → Profile → the ⋮ (More) menu → Copy member ID. It starts with U (e.g. U01ABCDEF).

warning

Messages from anyone not registered as a contact are silently ignored. If the bot stays quiet, this is the first thing to check.

8. Test it

Send a direct message to your Slack bot from a registered contact. Chief of Staff should reply within a few seconds.

If nothing comes back, see Troubleshooting below.

Routing

Inbound Slack messages are routed to Chief of Staff by default — that's what you want for a conversational assistant. You'll see an Inbound Routing option on the Slack card; leave it on Chief of Staff unless you specifically want Slack events to fire workflow triggers or a public chatbot instead.

Available tools

Once connected, agents can use these Slack tools in workflows:

ToolDescription
send_slack_messageSend a message to a Slack channel or DM
list_slack_channelsList channels the bot can access

Platform notes

  • Threads & DMs — replies in a Slack thread stay threaded; DM conversations persist across messages.
  • Signature verification — every inbound event is verified via the X-Slack-Signature header (HMAC-SHA256) using your signing secret, so a wrong or missing secret will block messages.
  • Session reset — send reset, new session, clear session, or start over in the DM to clear the conversation and start fresh.

Troubleshooting

SymptomLikely cause
Request URL won't verify in SlackURL pasted into the wrong field (must be Event Subscriptions → Request URL), or not copied in full.
Verified, but the bot never replies to a DMYou're not registered as a contact (step 7), or the message.im event / im:history scope is missing.
"Signature verification failed"The SLACK_SIGNING_SECRET in ORQO doesn't match this Slack app's signing secret.
Bot replies in the WebUI but not SlackThe webhook URL points at a different organization's token — confirm you copied it from this org's Slack card.

Sending Files (Outbound)

Chief of Staff can send files through Slack — documents and artifacts from a project's library, or files shared earlier in the conversation. Slack accepts virtually any file type (PDF, Office documents, images, video, audio, text, code, and archives), with a size limit of roughly 1 GB per file.

What's next