PageSourceSearch

https://orygofrontend-production.up.railway.app/_next/static/chunks/pages/docs/slack-03a5eccb5a9c50c4.js

js orygofrontend-production.up.railway.app collected 2026-10-03 12:15:21 UTC 9,540 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5272],{19277:(e,n,t)=>{"use strict";t.d(n,{A:()=>r});var o=t(37876),a=t(72943),s=t(14e3);t(14232);var i=t(19619);let r=e=>n=>{let t=(0,a.J)(),r=(0,s.useRouter)();return t.loading?(0,o.jsx)("div",{children:"Loading..."}):null===t?void r.push("/auth"):(0,o.jsx)(i.SessionAuth,{onSessionExpired:()=>r.refresh(),userContext:t.user||void 0,children:(0,o.jsx)(e,{...n})})}},32485:(e,n,t)=>{"use strict";t.d(n,{h:()=>o});let o=(0,t(57175).B)("div",{base:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});o.displayName="Spacer"},53338:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>k});var o=t(37876),a=t(19277),s=t(43123),i=t(39822),r=t(20529),l=t(32485);t(14232);var c=t(14741),h=t(53224),p=t(12324),u=t(82703);function d(){let{resolvedTheme:e}=(0,u.j)();return(0,o.jsx)(i.a,{w:"100%",children:(0,o.jsx)(c.oz,{remarkPlugins:[h.A],components:(0,p.A)({},void 0,!1,e||"dark","sm",!0),children:"Connect your Slack workspace to OrygoAI so your agent can post messages to any channel you choose — team alerts, on-call pings, customer-escalation notifications, daily digests, and more.\n\n**You will need:** ~5 minutes, and admin permission to install apps in your Slack workspace. If you're not a Workspace Owner / Admin, ask yours to do Step 1; the rest you can finish alone.\n\nOrygoAI never asks for your password. Everything runs through Slack's official OAuth permissions, and we only request **write-only** scopes.\n\n---\n\n### Step 1: Create the Slack App\n\n1. Go to [https://api.slack.com/apps](https://api.slack.com/apps) and sign in with your Slack account.\n\n2. Click **Create New App** → **From scratch**.\n\n3. Give it a name (e.g. `OrygoAI`) and pick the workspace you want to connect.\n\n4. Click **Create App**.\n\n> **Tip:** If you manage multiple workspaces, you'll repeat this guide once per workspace — each has its own token.\n\n**(Optional) Create it faster with a manifest**\n\nInstead of clicking through, choose **From an app manifest** in step 2 and paste this YAML, then skip to Step 3:\n\n```yaml\ndisplay_information:\n  name: OrygoAI\n  description: Lets OrygoAI post messages into your Slack channels.\n  background_color: \"#0b0b0b\"\nfeatures:\n  bot_user:\n    display_name: OrygoAI\n    always_online: true\noauth_config:\n  scopes:\n    bot:\n      - chat:write\n      - chat:write.public\n      - chat:write.customize\nsettings:\n  org_deploy_enabled: false\n  socket_mode_enabled: false\n  token_rotation_enabled: false\n```\n\n---\n\n### Step 2: Add Permissions (Scopes)\n\n1. In your new app's left-hand menu, open **OAuth & Permissions**.\n\n2. Scroll down to **Scopes → Bot Token Scopes**.\n\n3. Click **Add an OAuth Scope** and add the following:\n\n| Scope | Why it's needed |\n|-------|------------------|\n| `chat:write` | **Required** — lets the bot post messages. |\n| `chat:write.public` | **Recommended** — lets the bot post to public channels without being invited first. |\n| `chat:write.customize` | **Optional** — lets the bot post with a custom name/icon. |\n\n> You do **not** need any user-token scopes. Leave the **User Token Scopes** section empty. Bot tokens are more secure and survive user off-boarding.\n\n---\n\n### Step 3: Install the App to Your Workspace\n\n1. Still on **OAuth & Permissions**, click **Install to Workspace** at the top.\n\n2. Slack will show a permission summary. Click **Allow**.\n\n3. You'll be bounced back to the app page. You will now see a **Bot User OAuth Token** that begins with `xoxb-`.\n\n4. Click **Copy**. Keep this tab open — you'll paste it into OrygoAI next.\n\n> **Important:** Treat this token like a password. Anyone with it can post messages as your OrygoAI bot. If it ever leaks, click **Revoke Tokens** on the same page and redo Step 3.\n\n---\n\n### Step 4: Paste the Token into OrygoAI\n\n1. In OrygoAI, open **Settings → Integrations → Slack** (or click the **Connect Slack** button on your agent).\n\n2. Paste the `xoxb-...` token into the **SLACK_BOT_TOKEN** field.\n\n3. *(Optional)* Paste a default channel into **SLACK_DEFAULT_CHANNEL**:\n   - Use the channel **ID** (recommended — never changes if the channel is renamed). To find it: right-click the channel in Slack → **View channel details** → at the bottom of the popup you'll see `Channel ID: C0123ABC456`.\n   - Or use the channel name with a `#` prefix, e.g. `#ai-alerts`.\n\n4. Click **Save**.\n\nOrygoAI will validate the token against Slack. If anything is wrong you'll see a specific error (e.g. *\"invalid token\"*, *\"missing scope\"*). Otherwise: connection confirmed.\n\n---\n\n### Step 5: Invite the Bot to the Channels It Should Post In\n\nFor **public** channels with `chat:write.public` granted in Step 2: nothing to do. The bot can post without being a member.\n\nFor **private** channels, or if you skipped `chat:write.public`:\n\n1. Open the target channel in Slack.\n\n2. Type `/invite @OrygoAI` (or whatever you named the app).\n\n3. Hit enter. Done.\n\nRepeat for every channel you want the AI to reach.\n\n---\n\n### Step 6: Enable the `send_slack_message` Action on Your Agent\n\n1. In OrygoAI, go to your agent → **Actions / Tools**.\n\n2. Find **Send Slack Message** under the Slack integration.\n\n3. Toggle it **ON**.\n\n4. *(Optional)* Edit the instruction describing *when* the AI should use it, e.g. \"Post to `#support-escalations` whenever a customer sentiment turns negative and the issue is unresolved after 2 turns.\"\n\nThat's it — the AI can now post to Slack.\n\n---\n\n### How Your Agent Uses It\n\nUnder the hood the AI gets a tool called `send_slack_message` with these parameters:\n\n| Parameter | Required | Description |\n|-----------|----------|-------------|\n| `text` | Yes | The message body. Supports Slack mrkdwn (`*bold*`, `_italic_`, `\\`code\\``, `<http://url\\|label>`, `<@U123>`, `<!here>
1`). |\n| `channel` | No | Channel ID (`C0123ABC456`) or name (`#ai-alerts`). Falls back to your default channel if omitted. |\n| `thread_ts` | No | Timestamp of a parent message to reply in-thread. |\n\n**Example instruction** you could put in the agent's configuration:\n\n> When a customer reports a broken checkout, post a summary to `#checkout-alerts` that includes the customer email, order ID, and a one-line reproduction. Tag `<!subteam^S12345>` (the on-call group) if it's the third report today.\n\n---\n\n### Troubleshooting\n\n| Error | What it means | Fix |\n|-------|----------------|-----|\n| `invalid_auth` | Token is wrong, revoked, or from the wrong workspace. | Regenerate in Step 3 and paste the new one. |\n| `missing_scope` | You forgot a scope in Step 2. | Add it, then click **Re-install to Workspace**. |\n| `channel_not_found` | Channel ID is wrong, or the bot can't see a private channel. | Double-check the ID, or `/invite @OrygoAI` into it. |\n| `not_in_channel` | Private channel without the bot in it. | `/invite @OrygoAI` into the channel. |\n| `is_archived` | The channel is archived. | Pick a live channel. |\n| `rate_limited` | You're posting more than ~1 msg/sec to one channel. | OrygoAI will back off automatically — no action needed unless it persists. |\n| `msg_blocks_too_long` | Message exceeds Slack's size limit. | Shorten the message body to under 4,000 characters. |\n\n---\n\n### Rotating or Revoking the Token\n\n- **Rotate:** On the Slack App's **OAuth & Permissions** page, click **Rotate Tokens → Rotate**. Copy the new `xoxb-...` into OrygoAI and save.\n\n- **Revoke entirely:** Click **Revoke Tokens**. OrygoAI will stop being able to post until you repeat Step 3 and Step 4.\n\n---\n\n### FAQ\n\n**Do I need a paid Slack plan?**  \nNo. Free workspaces support bot apps and `chat.postMessage`.\n\n**Can OrygoAI read our Slack messages?**  \nNo. We only request `chat:write*` scopes — write-only. We do not request any `read` scope.\n\n**Is this a public app on the Slack Marketplace?**  \nNo. It's a workspace-scoped app you create and own. The token never leaves your workspace unless you paste it into OrygoAI.\n\n**Can I connect multiple workspaces to the same agent?**  \nOne OrygoAI agent holds one Slack token. For multi-workspace routing, create one agent per workspace.\n\n**Can I post to DMs?**  \nYes — pass a user's ID (`U0123ABC456`) as the channel. The bot will open a 1:1 DM with them."})})}var g=t(54616);let k=(0,a.A)(function(){return(0,o.jsx)(g.G,{scope:"agent_config",excludeRoles:[3],children:(0,o.jsx)(s.s,{w:"100%",flexDirection:"column",alignItems:"center",children:(0,o.jsxs)(i.a,{w:"100%",position:"relative",children:[(0,o.jsx)(r.D,{size:"lg",mb:"6",children:"Slack Integration"}),(0,o.jsx)(d,{}),(0,o.jsx)(l.h,{my:"2rem"})]})})})})},54616:(e,n,t)=>{"use strict";t.d(n,{G:()=>c});var o=t(37876),a=t(14232),s=t(89099),i=t(39822),r=t(95563),l=t(7446);function c(e){let{scope:n,children:t,fallback:c,excludeRoles:h}=e,p=(0,s.useRouter)(),{isLoading:u,hasAll:d,roleId:g,isGameMaster:k}=(0,l.bV)(),m=Array.isArray(n)?n:[n],y=!k&&!!(null==h?void 0:h.includes(g)),w=!u&&d(...m)&&!y,f=!u&&!w;return((0,a.useEffect)(()=>{f&&!c&&p.replace("/forbidden")},[f,c,p]),u)?(0,o.jsx)(i.a,{w:"100%",minH:"60vh",display:"flex",alignItems:"center",justifyContent:"center",children:(0,o.jsx)(r.y,{size:"md"})}):w?(0,o.jsx)(o.Fragment,{children:t}):c?(0,o.jsx)(o.Fragment,{children:c}):null}},90228:(e,n,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/slack",function(){return t(53338)}])}},e=>{e.O(0,[3302,4e3,5276,4112,2324,636,6593,8792],()=>e(e.s=90228)),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.