Issue a member-bound Thread MCP automation key for platforms like n8n that can’t sign in through a browser, use it as a bearer token, and revoke it.
Thread MCP normally authenticates with OAuth 2.1: the person connects their AI client, signs in with their Thread account, and the client acts as them. That works for a technician at a laptop, but not for automation platforms like n8n, CI pipelines, or scripts that can’t complete a browser sign-in.MCP automation keys close that gap. A workspace admin or team admin issues a long-lived access key bound to a chosen member. The automation presents the key as a bearer token, and Thread MCP treats every call as that member: same tools, same permissions, nothing more. Every key records who issued it, so you always know which admin created which credential.Prerequisites:
You are a workspace admin or team admin. Non-admins can only create keys for themselves.
The member the key will act as has an active seat in your workspace.
The member is allowed to connect AI apps under Who can connect apps on the Thread MCP page. Issuing a key for a member who isn’t allowed fails. See Control who can connect AI apps to Thread MCP.
Decide which member the key should act as
The key inherits the bound member’s exact Thread permissions. Pick the member whose access matches what the automation needs, and nothing more:
A read-only reporting job should bind to a member without write access.
An automation that creates tickets needs a member who can create tickets in Inbox.
Notes an automation writes through a key appear in your PSA under the bound member. Bind keys to a dedicated automation member linked to a PSA user, so automated notes aren’t attributed to a real technician. Status and other ticket field changes appear as your PSA API user, the same as every other Thread update.
Team admins have two extra limits. They can only issue keys for members on one of their own teams, and they can never issue a key bound to a workspace admin. Workspace admins can issue keys for any active member.
Issue the key in Thread Admin
Workspace admins and team admins see a Thread MCP page under Magic AI in the Thread Admin navigation:
Open Admin → Thread MCP, then the MCP keys tab.
Select Generate token.
Pick the member the key acts as, give the key a name (for example n8n production), and set an expiry. The expiry defaults to 90 days and can be at most one year out.
Select Create. Thread shows the key in plaintext exactly once, along with copy-ready setup snippets for Claude Code, Claude Desktop, Cursor, and a cURL verification call. Copy the key immediately and store it in your secrets manager; Thread keeps only a hash.
The MCP keys tab shows the Thread MCP connector URL for interactive OAuth clients, and a table of the keys you can manage with each key’s bound member, who issued it, when it was last used, its status, and a Revoke action. Workspace admins see every key in the workspace. Team admins see keys bound to members on their teams, plus their own keys.
Issue the key with the API
You can also send a POST request to /api/v1/mcp/tokens on the Thread API, authenticated as your own admin account:
name, a label for the key (1–100 characters). Name it after the automation that will use it, not the person.
expires_at — when the key stops working. Required when issuing for another member, and it must be within one year. Requests without an expiry, or with one more than a year out, are rejected.
member_id, the Thread member the key acts as. The member must belong to your workspace and be active; ids from outside your workspace fail validation. Omit member_id to create a key for yourself.
The response returns the key in plaintext exactly once, alongside its metadata (name, bound member, issuer, expiry). Copy it immediately and store it in your secrets manager. Thread keeps only a hash; if you lose the plaintext, revoke the key and issue a new one.
Use the key in your automation
MCP automation keys start with mcp_ and work as a standard bearer token against the Thread MCP endpoint:
Replace mcp_YOUR_KEY_HERE with the plaintext key you copied when it was issued. The tools/list call is a safe way to confirm the key works: it returns the Thread tools the bound member can use without changing anything.In an automation platform, paste the key wherever the MCP or HTTP connection asks for a bearer token, with https://api.getthread.com/mcp as the server URL. Rate limits are shared with OAuth connections in the same workspace; see rate limits in the developer guide.
Review and revoke keys
Every key stores who issued it and when it was last used, so you can audit which admin created which credential and spot stale keys.
The MCP keys tab on the Thread MCP page lists the keys you can manage. Select Revoke next to a key and confirm to disable it.
Keys follow the same access setting as connected apps. When a workspace admin restricts Who can connect apps, keys bound to members who no longer pass are revoked right away, including keys an admin issued. Loosening the setting later doesn’t restore them; issue new keys instead.
With the API, add ?scope=company to a GET /api/v1/mcp/tokens request to list keys beyond your own. Workspace admins see every key in the workspace. Team admins see keys bound to members on their teams, plus their own. Non-admins who request ?scope=company get a 403 error. Without the parameter, you see only your own keys.
Revoke a key with DELETE /api/v1/mcp/tokens/{id}. Workspace admins can revoke any key in the workspace. Team admins can revoke keys bound to members on their teams, plus their own. Everyone else can revoke only their own keys. A key outside your scope returns a not-found error, so revoking it never confirms that it exists. Revocation is immediate, and revoking an already-revoked key returns an error rather than silently succeeding.
Keys stop working the moment they expire or are revoked.
When to use OAuth instead
Automation keys exist for clients that can’t complete a browser sign-in. If a person is connecting their own AI client, such as Claude Desktop, ChatGPT, or Cursor, use the OAuth flow in the Thread MCP server developer guide instead. OAuth needs no credential handling, and access ends when the member disconnects the app, an admin revokes it on the Connected apps tab, or the member loses their seat.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Thread Docs","colors":{"primary":"#00B398","light":"#19D3AB","dark":"#008E78"},"logo":{"light":"https://mintcdn.com/thread/50guKpC0vegpyObR/logo/thread.svg?fit=max\u0026auto=format\u0026n=50guKpC0vegpyObR\u0026q=85\u0026s=86145b5e0fe1e4b555128fc8d8fd9815","dark":"https://mintcdn.com/thread/2AdmqP0mlnyoZLRc/logo/dark.svg?fit=max\u0026auto=format\u0026n=2AdmqP0mlnyoZLRc\u0026q=85\u0026s=be32bb55d8f9cb7540f7c741c3568f92"},"favicon":"https://mintcdn.com/thread/hgBTJ4Ailw9NcSXS/favicon.svg?fit=max\u0026auto=format\u0026n=hgBTJ4Ailw9NcSXS\u0026q=85\u0026s=e5c9cc06837f1f692d72495e146c976a","appearance":{"default":"dark"},"background":{"color":{"light":"#FAF9F6","dark":"#0A0A0B"}},"navbar":{"links":[{"href":"https://www.getthread.com/aisu-community","label":"Community"}],"primary":{"type":"button","label":"Thread Inbox","href":"https://inbox.getthread.com"}},"footer":{"socials":{"website":"https://www.getthread.com","linkedin":"https://www.linkedin.com/company/thread-service","youtube":"https://www.youtube.com/channel/UCAZ535tVfwF94lOE818tVmQ"},"links":[{"header":"Our mission","items":[{"label":"Death to the Ticket","href":"https://www.getthread.com/death-to-ticket"},{"label":"Intelligent Service Delivery","href":"https://www.getthread.com/intelligent-service-delivery-manifesto-the-future-of-msp-operations"}]},{"header":"Popular features","items":[{"label":"AI Agents","href":"https://www.getthread.com/automated-ticket-triage"},{"label":"Automated Triage","href":"https://www.getthread.com/automated-ticket-triage"},{"label":"Service Desk Chatbots","href":"https://www.getthread.com/live-managed-chat-support"},{"label":"Teams Chat Integration","href":"https://www.getthread.com/teams-to-teams"},{"label":"AI for Phone","href":"https://www.getthread.com/voice-ai"}]},{"header":"Company","items":[{"label":"About","href":"https://www.getthread.com/about-thread"},{"label":"Careers","href":"https://www.getthread.com/careers"}]},{"header":"Resources","items":[{"label":"AISU Community","href":"https://www.getthread.com/aisu-community"},{"label":"Thread Crew","href":"https://thread-crew.circle.so/join?invitation_token=8c546a98539fb84b4eb913b8b647a078bb353623-ea2d128e-eaae-42fd-af14-5949e71bf51b"},{"label":"AISU weekly webinar","href":"https://www.getthread.com/aisu-weekly-registration"},{"label":"Events","href":"/events-and-resources"},{"label":"Blog","href":"https://www.getthread.com/service-magic-blog"},{"label":"System Status","href":"https://status.getthread.com/"},{"label":"Feedback","href":"https://feedback.getthread.com/"},{"label":"Contact support","href":"https://help.getthread.com"},{"label":"Trust Center","href":"https://trust.getthread.com"},{"label":"Terms of Service","href":"https://www.getthread.com/terms-of-service"},{"label":"Privacy Policy","href":"https://www.getthread.com/privacy-policy"}]}]},"fonts":{"heading":{"family":"Inter","weight":600},"body":{"family":"Inter"}},"banner":{"content":"Join hundreds of MSPs on the **AI Service Unleashed** weekly call — product releases, beta access, and Super Magic tips. [Register](https://www.getthread.com/aisu-weekly-registration)","dismissible":true},"contextual":{"options":["copy","view","assistant","claude","chatgpt","mcp"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"thread","hasAudioNarration":false,"actualSubdomain":"thread","customDomains":["docs.getthread.com"],"gitSource":{"type":"github","owner":"thread-magic","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"agentFeedback":true,"thumbs":true,"edits":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af93469541a7d21b874c04b","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"Guides","count":213},{"language":"default","tag":"Super Magic \u0026 Thread MCP","count":34},{"language":"default","tag":"By role","count":28},{"language":"default","tag":"Choose your role","count":28},{"language":"default","tag":"Integrations","count":24},{"language":"default","tag":"Messenger","count":22},{"language":"default","tag":"Super Magic Tools","count":20},{"language":"default","tag":"Voice AI","count":19},{"language":"default","tag":"Thread Inbox","count":19},{"language":"default","tag":"Magic Agents","count":16}],"searchSettings":{"isFiltersEnabled":false}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"type":"email","email":"help@getthread.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/_mintlify/custom/thread/7dad7b024a7096a6/style.css"}],"page":{"pagePath":"super-magic/issue-mcp-automation-keys-for-team-members","slug":"/super-magic/issue-mcp-automation-keys-for-team-members","pageMetadata":{"title":"Issue MCP automation keys for team members","description":"Issue a member-bound Thread MCP automation key for platforms like n8n that can't sign in through a browser, use it as a bearer token, and revoke it.","noindex":false,"boost":3,"href":"/super-magic/issue-mcp-automation-keys-for-team-members"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Issue a member-bound Thread MCP automation key for platforms like n8n that can’t sign in through a browser, use it as a bearer token, and revoke it.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Thread MCP normally authenticates with OAuth 2.1: the person connects their AI client, signs in with their Thread account, and the client acts as them. That works for a technician at a laptop, but not for automation platforms like n8n, CI pipelines, or scripts that can’t complete a browser sign-in.`}),`\n`,_jsx(_components.p,{children:`MCP automation keys close that gap. A workspace admin or team admin issues a long-lived access key bound to a chosen member. The automation presents the key as a bearer token, and Thread MCP treats every call as that member: same tools, same permissions, nothing more. Every key records who issued it, so you always know which admin created which credential.`}),`\n`,_jsx(_components.p,{children:`Prerequisites:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`You are a workspace admin or team admin. Non-admins can only create keys for themselves.`}),`\n`,_jsx(_components.li,{children:`The member the key will act as has an active seat in your workspace.`}),`\n`,_jsxs(_components.li,{children:[`The member is allowed to connect AI apps under `,_jsx(_components.strong,{children:`Who can connect apps`}),` on the `,_jsx(_components.strong,{children:`Thread MCP`}),` page. Issuing a key for a member who isn’t allowed fails. See `,_jsx(_components.a,{href:`/super-magic/control-who-can-connect-ai-apps-to-thread-mcp`,children:`Control who can connect AI apps to Thread MCP`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`decide-which-member-the-key-should-act-as`,children:`Decide which member the key should act as`}),`\n`,_jsx(_components.p,{children:`The key inherits the bound member’s exact Thread permissions. Pick the member whose access matches what the automation needs, and nothing more:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A read-only reporting job should bind to a member without write access.`}),`\n`,_jsx(_components.li,{children:`An automation that creates tickets needs a member who can create tickets in Inbox.`}),`\n`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Notes an automation writes through a key appear in your PSA under the bound member. Bind keys to a dedicated automation member linked to a PSA user, so automated notes aren’t attributed to a real technician. Status and other ticket field changes appear as your PSA API user, the same as every other Thread update.`})}),`\n`,_jsx(_components.p,{children:`Team admins have two extra limits. They can only issue keys for members on one of their own teams, and they can never issue a key bound to a workspace admin. Workspace admins can issue keys for any active member.`}),`\n`,_jsx(Heading,{level:`2`,id:`issue-the-key-in-thread-admin`,children:`Issue the key in Thread Admin`}),`\n`,_jsxs(_components.p,{children:[`Workspace admins and team admins see a `,_jsx(_components.strong,{children:`Thread MCP`}),` page under `,_jsx(_components.strong,{children:`Magic AI`}),` in the Thread Admin navigation:`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Admin → Thread MCP`}),`, then the `,_jsx(_components.strong,{children:`MCP keys`}),` tab.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Generate token`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Pick the member the key acts as, give the key a name (for example `,_jsx(_components.code,{children:`n8n production`}),`), and set an expiry. The expiry defaults to 90 days and can be at most one year out.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Create`}),`. Thread shows the key in plaintext exactly once, along with copy-ready setup snippets for Claude Code, Claude Desktop, Cursor, and a cURL verification call. Copy the key immediately and store it in your secrets manager; Thread keeps only a hash.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`MCP keys`}),` tab shows the Thread MCP connector URL for interactive OAuth clients, and a table of the keys you can manage with each key’s bound member, who issued it, when it was last used, its status, and a `,_jsx(_components.strong,{children:`Revoke`}),` action. Workspace admins see every key in the workspace. Team admins see keys bound to members on their teams, plus their own keys.`]}),`\n`,_jsx(Heading,{level:`2`,id:`issue-the-key-with-the-api`,children:`Issue the key with the API`}),`\n`,_jsxs(_components.p,{children:[`You can also send a `,_jsx(_components.code,{children:`POST`}),` request to `,_jsx(_components.code,{children:`/api/v1/mcp/tokens`}),` on the Thread API, authenticated as your own admin account:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"n8n ticket sync\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"expires_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2027-03-01T00:00:00Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"member_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`4821`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`name`}),`, a label for the key (1–100 characters). Name it after the automation that will use it, not the person.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`expires_at`}),` — when the key stops working. Required when issuing for another member, and it must be within one year. Requests without an expiry, or with one more than a year out, are rejected.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`member_id`}),`, the Thread member the key acts as. The member must belong to your workspace and be active; ids from outside your workspace fail validation. Omit `,_jsx(_components.code,{children:`member_id`}),` to create a key for yourself.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`The response returns the key in plaintext exactly once, alongside its metadata (name, bound member, issuer, expiry). Copy it immediately and store it in your secrets manager. Thread keeps only a hash; if you lose the plaintext, revoke the key and issue a new one.`}),`\n`,_jsx(Heading,{level:`2`,id:`use-the-key-in-your-automation`,children:`Use the key in your automation`}),`\n`,_jsxs(_components.p,{children:[`MCP automation keys start with `,_jsx(_components.code,{children:`mcp_`}),` and work as a standard bearer token against the Thread MCP endpoint:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.getthread.com/mcp`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer mcp_YOUR_KEY_HERE\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Accept: application/json, text/event-stream\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\",\"params\":{}}'`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Replace `,_jsx(_components.code,{children:`mcp_YOUR_KEY_HERE`}),` with the plaintext key you copied when it was issued. The `,_jsx(_components.code,{children:`tools/list`}),` call is a safe way to confirm the key works: it returns the Thread tools the bound member can use without changing anything.`]}),`\n`,_jsxs(_components.p,{children:[`In an automation platform, paste the key wherever the MCP or HTTP connection asks for a bearer token, with `,_jsx(_components.code,{children:`https://api.getthread.com/mcp`}),` as the server URL. Rate limits are shared with OAuth connections in the same workspace; see `,_jsx(_components.a,{href:`/super-magic/thread-mcp-server-developer-guide#rate-limits`,children:`rate limits in the developer guide`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`review-and-revoke-keys`,children:`Review and revoke keys`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Every key stores who issued it and when it was last used, so you can audit which admin created which credential and spot stale keys.`}),`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.strong,{children:`MCP keys`}),` tab on the `,_jsx(_components.strong,{children:`Thread MCP`}),` page lists the keys you can manage. Select `,_jsx(_components.strong,{children:`Revoke`}),` next to a key and confirm to disable it.`]}),`\n`,_jsxs(_components.li,{children:[`Keys follow the same access setting as connected apps. When a workspace admin restricts `,_jsx(_components.strong,{children:`Who can connect apps`}),`, keys bound to members who no longer pass are revoked right away, including keys an admin issued. Loosening the setting later doesn’t restore them; issue new keys instead.`]}),`\n`,_jsxs(_components.li,{children:[`With the API, add `,_jsx(_components.code,{children:`?scope=company`}),` to a `,_jsx(_components.code,{children:`GET /api/v1/mcp/tokens`}),` request to list keys beyond your own. Workspace admins see every key in the workspace. Team admins see keys bound to members on their teams, plus their own. Non-admins who request `,_jsx(_components.code,{children:`?scope=company`}),` get a 403 error. Without the parameter, you see only your own keys.`]}),`\n`,_jsxs(_components.li,{children:[`Revoke a key with `,_jsx(_components.code,{children:`DELETE /api/v1/mcp/tokens/{id}`}),`. Workspace admins can revoke any key in the workspace. Team admins can revoke keys bound to members on their teams, plus their own. Everyone else can revoke only their own keys. A key outside your scope returns a not-found error, so revoking it never confirms that it exists. Revocation is immediate, and revoking an already-revoked key returns an error rather than silently succeeding.`]}),`\n`,_jsx(_components.li,{children:`Keys stop working the moment they expire or are revoked.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`when-to-use-oauth-instead`,children:`When to use OAuth instead`}),`\n`,_jsxs(_components.p,{children:[`Automation keys exist for clients that can’t complete a browser sign-in. If a person is connecting their own AI client, such as Claude Desktop, ChatGPT, or Cursor, use the OAuth flow in the `,_jsx(_components.a,{href:`/super-magic/thread-mcp-server-developer-guide`,children:`Thread MCP server developer guide`}),` instead. OAuth needs no credential handling, and access ends when the member disconnects the app, an admin revokes it on the `,_jsx(_components.strong,{children:`Connected apps`}),` tab, or the member loses their seat.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Issue MCP automation keys for team members","description":"Issue a member-bound Thread MCP automation key for platforms like n8n that can't sign in through a browser, use it as a bearer token, and revoke it.","noindex":false,"boost":3,"href":"/super-magic/issue-mcp-automation-keys-for-team-members"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Decide which member the key should act as","slug":"decide-which-member-the-key-should-act-as","depth":2,"children":[]},{"title":"Issue the key in Thread Admin","slug":"issue-the-key-in-thread-admin","depth":2,"children":[]},{"title":"Issue the key with the API","slug":"issue-the-key-with-the-api","depth":2,"children":[]},{"title":"Use the key in your automation","slug":"use-the-key-in-your-automation","depth":2,"children":[]},{"title":"Review and revoke keys","slug":"review-and-revoke-keys","depth":2,"children":[]},{"title":"When to use OAuth instead","slug":"when-to-use-oauth-instead","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/thread/e9e74bb66602d208/skill-nav-scroll.js"],"subdomain":"thread","siteName":"Thread Docs","title":"Issue MCP automation keys for team members - Thread Docs","relatedPagesConfig":{"enabled":true,"limit":3,"mode":"automatic"},"contextualStarterQuestions":[{"_id":"6aeb9f0d516e111f2605ef26","deploymentId":"6920f01f9d8412afd5a0dff5","questionText":"How do I revoke a key?","status":"active","generatedBy":"contextual","path":"super-magic/issue-mcp-automation-keys-for-team-members","createdAt":"2026-11-04T21:09:33.896Z","updatedAt":"2026-11-04T21:09:33.896Z","__v":0},{"_id":"6aeb9f0d516e111f2605ef25","deploymentId":"6920f01f9d8412afd5a0dff5","questionText":"Who can issue automation keys?","status":"active","generatedBy":"contextual","path":"super-magic/issue-mcp-automation-keys-for-team-members","createdAt":"2026-11-04T21:09:33.896Z","updatedAt":"2026-11-04T21:09:33.896Z","__v":0},{"_id":"6aeb9f0d516e111f2605ef24","deploymentId":"6920f01f9d8412afd5a0dff5","questionText":"How do I create an MCP key?","status":"active","generatedBy":"contextual","path":"super-magic/issue-mcp-automation-keys-for-team-members","createdAt":"2026-11-04T21:09:33.896Z","updatedAt":"2026-11-04T21:09:33.896Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-04T21:09:27.943Z","originalFileLocation":"super-magic/issue-mcp-automation-keys-for-team-members.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Issue a member-bound Thread MCP automation key for platforms like n8n that can\u0026#x27;t sign in through a browser, use it as a bearer token, and revoke it.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Thread Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/thread/FC7ab3_wzYydgHyM/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/thread/FC7ab3_wzYydgHyM/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/thread/FC7ab3_wzYydgHyM/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/thread/FC7ab3_wzYydgHyM/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/thread/FC7ab3_wzYydgHyM/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/thread/FC7ab3_wzYydgHyM/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/thread/FC7ab3_wzYydgHyM/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/thread/FC7ab3_wzYydgHyM/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/thread/FC7ab3_wzYydgHyM/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Issue MCP automation keys for team members - Thread Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Issue a member-bound Thread MCP automation key for platforms like n8n that can\u0026#x27;t sign in through a browser, use it as a bearer token, and revoke it.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Thread Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.getthread.com/super-magic/issue-mcp-automation-keys-for-team-members\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://thread.mintlify.site/_mintlify/api/og/v2?division=MCP+automation+keys\u0026amp;title=Issue+MCP+automation+keys+for+team+members\u0026amp;description=Issue+a+member-bound+Thread+MCP+automation+key+for+platforms+like+n8n+that+can%27t+sign+in+through+a+browser%2C+use+it+as+a+bearer+token%2C+and+revoke+it.\u0026amp;theme=f724fa3ec041ff897ae11da2\u0026amp;signature=8f4570cec36e596700558bed2558afdb134e0687af15c949eb19ddffe0d0ccf1\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Issue MCP automation keys for team members - Thread Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Issue a member-bound Thread MCP automation key for platforms like n8n that can\u0026#x27;t sign in through a browser, use it as a bearer token, and revoke it.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://thread.mintlify.site/_mintlify/api/og/v2?division=MCP+automation+keys\u0026amp;title=Issue+MCP+automation+keys+for+team+members\u0026amp;description=Issue+a+member-bound+Thread+MCP+automation+key+for+platforms+like+n8n+that+can%27t+sign+in+through+a+browser%2C+use+it+as+a+bearer+token%2C+and+revoke+it.\u0026amp;theme=f724fa3ec041ff897ae11da2\u0026amp;signature=8f4570cec36e596700558bed2558afdb134e0687af15c949eb19ddffe0d0ccf1\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/thread/FC7ab3_wzYydgHyM/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Thread Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00B398\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.getthread.com/super-magic/issue-mcp-automation-keys-for-team-members\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/super-magic/issue-mcp-automation-keys-for-team-members.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.getthread.com/#organization\",\"name\":\"Thread Docs\",\"url\":\"https://docs.getthread.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/thread/50guKpC0vegpyObR/logo/thread.svg?fit=max\u0026auto=format\u0026n=50guKpC0vegpyObR\u0026q=85\u0026s=86145b5e0fe1e4b555128fc8d8fd9815\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.getthread.com#website\",\"name\":\"Thread Docs\",\"url\":\"https://docs.getthread.com\",\"publisher\":{\"@id\":\"https://docs.getthread.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.getthread.com/super-magic/issue-mcp-automation-keys-for-team-members#webpage\",\"url\":\"https://docs.getthread.com/super-magic/issue-mcp-automation-keys-for-team-members\",\"name\":\"Issue MCP automation keys for team members\",\"description\":\"Issue a member-bound Thread MCP automation key for platforms like n8n that can't sign in through a browser, use it as a bearer token, and revoke it.\",\"dateModified\":\"2026-11-04T21:09:27.943Z\",\"isPartOf\":{\"@id\":\"https://docs.getthread.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getthread.com/super-magic/issue-mcp-automation-keys-for-team-members#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getthread.com/super-magic/issue-mcp-automation-keys-for-team-members#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Super Magic \u0026 Thread MCP\",\"item\":\"https://docs.getthread.com/super-magic/meet-super-magic-your-ai-assistant-in-the-inbox\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Issue MCP automation keys for team members\",\"item\":\"https://docs.getthread.com/super-magic/issue-mcp-automation-keys-for-team-members\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.getthread.com/super-magic/issue-mcp-automation-keys-for-team-members#article\",\"headline\":\"Issue MCP automation keys for team members\",\"name\":\"Issue MCP automation keys for team members\",\"description\":\"Issue a member-bound Thread MCP automation key for platforms like n8n that can't sign in through a browser, use it as a bearer token, and revoke it.\",\"url\":\"https://docs.getthread.com/super-magic/issue-mcp-automation-keys-for-team-members\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getthread.com/super-magic/issue-mcp-automation-keys-for-team-members#webpage\"},\"dateModified\":\"2026-11-04T21:09:27.943Z\",\"publisher\":{\"@id\":\"https://docs.getthread.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.getthread.com#website\"}}]}\u003c/script>","agentPointerHref":"/super-magic/issue-mcp-automation-keys-for-team-members.md","siteName":"Thread Docs","nav":{"global":null,"tabs":[{"tab":"Start here","icon":"compass","pages":[{"title":"Start here","href":""}]},{"tab":"Onboarding","icon":"graduation-cap","hidden":true,"pages":[{"title":"Onboarding","href":"/onboarding/overview"}]},{"tab":"By role","icon":"users","pages":[{"title":"By role","href":"/start-here/roles/overview"}]},{"tab":"Guides","icon":"book-open","groups":[{"group":"Overview","icon":"book-open","root":{"title":"Product guides","sidebarTitle":"Overview","href":"/guides/overview"},"pages":[]},{"group":"Integrations","icon":"plug","pages":[{"group":"ConnectWise PSA","pages":[{"title":"Set Up the ConnectWise PSA Ticketing Integration","href":"/integrations/creating-a-connect-wise-manage-api-user"},{"title":"Add Thread Pods to ConnectWise Service Tickets","href":"/integrations/how-to-enable-a-pod"},{"title":"Quiet customer emails on a ConnectWise board","href":"/integrations/quiet-customer-emails-on-a-connectwise-board"}]},{"group":"Autotask PSA","pages":[{"title":"Set Up the Autotask PSA Ticketing Integration","href":"/integrations/creating-a-autotask-api-user"},{"title":"Enable Thread Chat \u0026 TimePad Insights in Autotask","href":"/integrations/how-to-enable-chat-and-timepad-insights-in-autotask"},{"title":"Install the Thread for Autotask Chrome extension","href":"/integrations/thread-for-autotask-chrome-extension"},{"title":"Configure Autotask Email Workflow for Thread","href":"/integrations/setting-up-an-email-communication-workflow-in-autotask"},{"title":"Turn off Autotask time entry summary note notifications","href":"/integrations/turn-off-autotask-time-entry-summary-note-notifications"}]},{"group":"Halo PSA","pages":[{"title":"Set Up the HaloPSA Ticketing Integration","href":"/integrations/how-to-setup-halo-psa-integration"},{"title":"Configure HaloPSA Action Mapping for Thread","href":"/integrations/action-mapping-configuration-with-thread"},{"title":"HaloPSA Chat Response Options for Thread","href":"/integrations/halo-response-options"},{"title":"HaloPSA Integration FAQ and Troubleshooting","href":"/integrations/halo-faq"},{"title":"Adding and Removing Contacts in Inbox (HaloPSA)","href":"/inbox/adding-removing-contacts-in-halo-psa"}]},{"group":"PSA Settings","pages":[{"title":"Sync Thread Members with Your PSA Automatically","href":"/integrations/keep-members-in-sync-with-psa-toggle"},{"title":"Log emoji reactions in PSA","href":"/integrations/log-emoji-reactions-in-psa"},{"title":"Manage PSA Board Visibility and Exclusions in Thread","href":"/integrations/managing-board-visibility-in-thread-board-exclusion"}]},{"group":"Other Integrations","pages":[{"title":"Connect Hudu Documentation to Super Magic","href":"/integrations/hudu-integration"},{"title":"Connect IT Glue Documentation to Super Magic","href":"/integrations/it-glue-super-magic"},{"title":"Automate PSA Scheduling with Microsoft Bookings","href":"/integrations/microsoft-bookings-integration-for-psa-scheduling"},{"title":"Connect Pia SmartForms to Thread Triage Agent","href":"/integrations/pia-integration"},{"title":"Connect Auvik Network Monitoring to Thread","href":"/integrations/auvik-integration"},{"title":"Connect CloudRadial to Thread for Client Chat","href":"/integrations/how-to-integrate-cloud-radial"},{"title":"Set Up the ConnectWise Automate Integration","href":"/integrations/how-do-i-set-up-connectwise-automate"},{"title":"Integrate TimeZest Scheduling with Thread Inbox","href":"/integrations/integrating-time-zest-with-thread"}]},{"group":"Push Knowledge Base Articles to IT Glue (beta)","hidden":true,"pages":[{"title":"Push Knowledge Base Articles to IT Glue","href":"/integrations/push-knowledge-base-articles-to-it-glue"}]}]},{"group":"Magic AI","icon":"wand-magic-sparkles","pages":[{"group":"Auto Prioritization","pages":[{"title":"Configure Magic Auto Prioritization","href":"/assistive-ai/how-to-set-up-auto-prioritization"}]},{"group":"Auto Categorization","pages":[{"title":"Configure Auto Categorization in Thread","href":"/assistive-ai/getting-started-with-auto-categorization"},{"title":"Configure Ticket Type Categorization in Autotask and Halo","href":"/assistive-ai/configuring-ticket-type-categorization"}]},{"group":"Auto Title","pages":[{"title":"Configure Magic Title in Thread","href":"/assistive-ai/setting-up-magic-title"},{"title":"Magic Title Rule Creation Guide","href":"/assistive-ai/magic-title-rule-creation-guide"}]},{"group":"Recap Templates","pages":[{"title":"Getting Started with Magic Recap","href":"/assistive-ai/magic-recap"},{"title":"Magic Recap Template Library","href":"/assistive-ai/magic-recap-template-library"}]},{"group":"Sentiment Analysis","pages":[{"title":"Configure Magic Sentiment","href":"/assistive-ai/configure-sentiment"},{"title":"Sentiment Flows, Escalations, and Recap Templates","href":"/assistive-ai/configure-automatic-escalations-and-recap-templates-for-sentiment-analysis"}]},{"group":"Magic AI reference","pages":[{"title":"Using Variables in Magic AI and Magic Agents","href":"/assistive-ai/variables"},{"title":"Best Practices for Writing Magic AI Prompts","href":"/assistive-ai/prompt-best-practices"},{"title":"Prompt engineering tips and tricks","href":"/assistive-ai/prompt-tips-and-tricks"},{"title":"Client Access and how AI runs on tickets","href":"/assistive-ai/client-access-and-run-paths"},{"title":"Magic AI FAQ","href":"/assistive-ai/faq"}]}]},{"group":"Magic Agents","icon":"robot","pages":[{"group":"About Magic Agents","pages":[{"title":"From Triage to Resolution: Agent-Driven Outcomes","href":"/ai-agents/agent-driven-resolutions"}]},{"group":"Triage Agent","pages":[{"title":"Getting Started with Triage Agent","href":"/ai-agents/getting-started-with-triage-agent"},{"title":"Triage Agent Setup User Guide","href":"/ai-agents/setting-up-your-triage-agent-user-guide"},{"title":"Create Your First Triage Agent Intents","href":"/ai-agents/create-your-first-intents"},{"title":"Build Your Magic Agents Service Catalog","href":"/ai-agents/building-your-magic-agents-service-catalog"},{"title":"Intent Creation Assistance Intent","href":"/ai-agents/intent-creation-assistance-intent"},{"title":"Triage Agent Custom Rules (Beta)","href":"/ai-agents/custom-rules-beta-partner-guide"},{"title":"Triage Agent Request Blocking for OOO and Noisy Requests","href":"/ai-agents/triage-agent-request-blocking-and-common-use-cases"},{"title":"Listening Mode for Triage Agents","href":"/ai-agents/listening-mode-for-triage-agents"},{"title":"Automate Approvals with Magic Agents","href":"/ai-agents/approvals"},{"title":"Set Up Email Support for Magic Agents and Inbox","href":"/ai-agents/setting-up-email-support-for-magic-agents"},{"title":"Triage Agent Settings","href":"/ai-agents/triage-agent-settings"},{"title":"Track Magic Agent Activity with a Workflow","href":"/ai-agents/creating-a-workflow-to-track-magic-agent-activity"},{"title":"Trigger Automations with the Triage Agent Automation URL","href":"/ai-agents/magic-agents-automation-url"}]},{"group":"Reminder Agent","pages":[{"title":"Configure Reminder Agent","href":"/ai-agents/reminder-agent"},{"title":"How Reminder Agent Works","href":"/ai-agents/reminder-agent-how-it-works"}]}]},{"group":"Voice AI","icon":"phone","pages":[{"group":"Set up Voice AI","pages":[{"title":"Create your first Voice AI agent","href":"/ai-agents/voice-ai-setup-phase-1-initial-configuration"},{"title":"Answer overflow \u0026 after-hours calls","href":"/ai-agents/voice-ai-setup-phase-2-overflow-after-hours"},{"title":"Replace your phone menu with the Auto-Attendant","href":"/ai-agents/voice-ai-setup-phase-3-the-auto-attendant-walk-run"}]},{"group":"Connect your phone system","pages":[{"title":"Forward your phone system to Voice AI","href":"/ai-agents/connect-your-phone-system-to-voice-ai"},{"title":"Phone system forwarding directory","href":"/ai-agents/phone-system-forwarding-directory"},{"title":"Connect your phone system to Voice AI with a SIP trunk","href":"/ai-agents/voice-ai-sip-trunks-and-caller-id"},{"title":"Connect 3CX to Voice AI with a SIP trunk","href":"/ai-agents/connect-3cx-to-voice-ai-with-a-sip-trunk"},{"title":"Add inbound to your existing Thread-3CX SIP trunk","href":"/ai-agents/add-inbound-to-your-3cx-sip-trunk"}]},{"group":"Tune agent behaviour","pages":[{"title":"Minimal vs Advanced AI mode","href":"/ai-agents/voice-ai-attendant-modes"},{"title":"Voice AI Contact Mapping","href":"/ai-agents/contact-mapping"},{"title":"Voice Shield: Safer Existing-Ticket Handling","href":"/ai-agents/voice-ai-voice-shield"},{"title":"Voice AI Pronunciation Guide","href":"/ai-agents/voice-ai-pronunciation-guide"}]},{"group":"Numbers \u0026 calling","pages":[{"title":"Voice AI Outbound Calling Setup","href":"/ai-agents/voice-ai-outbound-calling"},{"title":"Enable Teams Pay-As-You-Go Calling for Resource Accounts","href":"/ai-agents/microsoft-teams-pay-as-you-go-resource-account-calling"},{"title":"Call an on-call technician from a Flow","href":"/ai-agents/voice-ai-on-call-escalation"}]},{"group":"Troubleshoot","pages":[{"title":"Troubleshoot Voice AI","href":"/ai-agents/voice-ai-troubleshooting"},{"title":"Voice AI FAQ","href":"/ai-agents/voice-ai-faq"}]},{"group":"Changelog","pages":[{"title":"Voice AI updates 2026","sidebarTitle":"2026","href":"/ai-agents/voice-ai-changelog"},{"title":"Voice AI updates 2025","sidebarTitle":"2025","href":"/ai-agents/voice-ai-changelog-2025"}]}]},{"group":"Messenger","icon":"comments","pages":[{"group":"Messenger settings","pages":[{"title":"Messenger Settings: Configure Chat, Design, and Hours","href":"/inbox/messenger"},{"title":"Multi-language support in Messenger","href":"/messenger/multi-language-support"}]},{"group":"Teams Service App","pages":[{"title":"Deploy the Teams Service App to a customer","href":"/messenger/deploy-the-teams-service-app"},{"title":"Design a Custom Teams App for Your Customers","href":"/messenger/create-teams-app"},{"title":"How to Roll Out the Teams Service App to Specific Users","href":"/messenger/how-to-roll-out-the-teams-service-app-to-specific-users"},{"title":"Enterprise Teams Support: Shared M365 Tenants","href":"/messenger/enterprise-teamssupport"},{"title":"How to Uninstall the Microsoft Teams Service App","href":"/messenger/how-to-uninstall-the-microsoft-teams-thread-service-app"},{"title":"Microsoft Teams 2.0 FAQs","href":"/messenger/microsoft-teams-2-0-faqs"},{"group":"Legacy","pages":[{"title":"Cloning a Legacy Teams App","href":"/messenger/cloning-a-legacy-teams-app"},{"title":"How to Upgrade your Legacy Teams App","href":"/messenger/how-to-upgrade-your-legacy-teams-app"}]}]},{"group":"Desktop Service App","pages":[{"title":"Deploy Messenger on Windows via command line","href":"/messenger/deploying-messenger-on-windows"},{"title":"Deploying Messenger to Mac","href":"/messenger/deploying-messenger-to-mac"},{"title":"How to Deploy Desktop Messenger with SSO","href":"/messenger/how-to-deploy-desktop-messenger-with-sso"},{"title":"Kiosk Mode","href":"/messenger/kiosk-mode"}]},{"group":"Web Service App","pages":[{"title":"Embedding Messenger on a Landing Page","href":"/messenger/embedding-messenger-on-landing-page"},{"title":"Messenger Portal Auto Authentication","href":"/messenger/messenger-identity-verification"},{"title":"Emoji reactions in Messenger","href":"/messenger/emoji-reactions"}]},{"group":"Slack Service App","pages":[{"title":"Deploy the Slack Service App to a customer","href":"/messenger/deploy-the-slack-service-app"}]},{"group":"Messenger FAQ","pages":[{"title":"How Configurations and Assets Work in Messenger Chat","href":"/messenger/configurations-in-messenger"}]},{"group":"Chat routing \u0026 entry points","pages":[{"title":"Add a Chat Now Button to PSA Ticket Emails","href":"/messenger/add-chat-now-button-email"},{"title":"Route chats to the right board","href":"/messenger/route-chats-to-the-right-board"},{"title":"Show All Tickets in Chat and Excluded Boards","href":"/messenger/show-all-tickets-in-chat-and-excluded-board-source"}]},{"group":"Client Portal (Beta)","hidden":true,"pages":[{"title":"Give a client's site contacts a Client Portal","href":"/messenger/client-portal-for-site-contacts"}]}]},{"group":"Thread Inbox","icon":"inbox","pages":[{"group":"Tour Inbox","pages":[{"title":"Inbox Navigation: Rail, Side Panel, and Views","href":"/inbox/inbox-navigation"},{"title":"Inside a View: Inbox vs. List Display Modes","href":"/inbox/inside-a-view"},{"title":"Navigating a Thread in Inbox","href":"/inbox/navigating-a-thread"},{"title":"Thread Control Panel: Contact, TimePad, and AI Insights","href":"/inbox/thread-control-panel"}]},{"group":"Set up teams \u0026 dispatch","pages":[{"title":"Set Up Thread Inbox by Service Team Structure","href":"/inbox/service-team-structure"},{"title":"Inbox Teams: Group Members and Share Views at Scale","href":"/inbox/inbox-teams"},{"title":"Views and Insights in Thread Inbox","href":"/inbox/views-and-insights"},{"title":"Set up XLA Profiles in Thread","href":"/inbox/sla-timers-and-response-settings"}]},{"group":"Work tickets","pages":[{"title":"Create an Email Signature Using Thread Snippets","hidden":true,"href":"/inbox/how-to-create-an-email-signature-using-snippets"},{"title":"Set Up a SmileBack CSAT Survey with Snippets","href":"/inbox/how-to-setup-a-csat-survey"},{"title":"Approvals in Inbox: Request and Manage Decisions","href":"/inbox/approvals-in-inbox"},{"title":"Configure Autotask UDFs for Thread Approvals","href":"/inbox/autotask-approval-configuration"},{"title":"Default Work Role and Type Logic in Time Entries","href":"/inbox/default-work-role-type-logic"},{"title":"Track your time with TimePad","href":"/inbox/track-your-time-with-timepad"}]},{"group":"Plan work","pages":[{"title":"Planner and Outlook Calendar Integration","href":"/inbox/planner-outlook-calendar-integration"},{"title":"Schedule work in Planner","href":"/inbox/using-planner"}]},{"group":"Business hours","pages":[{"title":"Business Hours, Holidays, and Custom Closures","href":"/inbox/holidays-and-custom-closures"}]},{"group":"Email channel (Beta)","hidden":true,"pages":[{"title":"Turn a Microsoft 365 mailbox into a ticket channel","href":"/inbox/turn-a-microsoft-365-mailbox-into-a-ticket-channel"}]},{"group":"What's new (Beta)","hidden":true,"pages":[{"title":"See what's new in Thread from Inbox and Admin Panel","href":"/inbox/see-whats-new-in-thread"}]},{"group":"Global search","pages":[{"title":"Global search","sidebarTitle":"Global search","icon":"magnifying-glass","href":"/inbox/global-search"},{"title":"Find a ticket by its ticket number in Inbox","href":"/inbox/find-a-ticket-by-its-number"}]},{"group":"Status colors","pages":[{"title":"Customize PSA status colors in Thread","href":"/inbox/customize-status-colors"}]}]},{"group":"Flows","icon":"diagram-project","pages":[{"group":"Flows","pages":[{"title":"Flows: Automate Thread Routing and Actions in Inbox","href":"/inbox/flows"},{"title":"Flows Audit Log: Review Every Run","sidebarTitle":"Flows Audit Log","href":"/inbox/flows-audit-log"},{"title":"See what an agent did during a flow run","href":"/inbox/see-what-a-super-magic-agent-did-during-a-flow-run"},{"title":"Status Automations: Auto-Update Thread Statuses","href":"/inbox/status-automations"}]},{"group":"Workflows (Beta)","hidden":true,"pages":[{"title":"Build an automation with Workflows in Thread Admin","href":"/inbox/build-automations-with-workflows"}]},{"group":"CSAT survey action (Beta)","hidden":true,"pages":[{"title":"Send a CSAT survey from a Flow","sidebarTitle":"Send CSAT survey action","href":"/inbox/send-a-csat-survey-from-a-flow"},{"title":"Crewhu CSAT Survey Integration","href":"/crewhu-csat-survey-integration"}]},{"group":"Thread CSAT surveys (Beta)","hidden":true,"pages":[{"title":"Send Thread's built-in CSAT survey when a ticket closes","sidebarTitle":"Thread CSAT surveys","href":"/inbox/send-thread-csat-surveys"}]},{"group":"CSAT ratings report (Beta)","hidden":true,"pages":[{"title":"Review and export CSAT ratings in Thread Admin","sidebarTitle":"CSAT ratings report","href":"/inbox/review-csat-ratings-in-thread-admin"}]},{"group":"Status mapping","pages":[{"title":"Configure Status Mapping in Thread","href":"/get-started/status-mapping-in-thread"}]}]},{"group":"Agent Builder","icon":"robot","pages":[{"title":"Build an agent with Agent Builder","href":"/super-magic/build-a-super-magic-agent"},{"title":"Chaining skills","href":"/super-magic/chaining-skills"}]},{"group":"Auto Dispatch","icon":"route","pages":[{"group":"Auto-dispatch","hidden":false,"pages":[{"title":"Auto-dispatch profiles","hidden":false,"href":"/inbox/auto-dispatch-profiles"},{"title":"Set your availability for auto-dispatch","hidden":false,"href":"/inbox/available-for-dispatch"},{"title":"Team Home for Auto-dispatch","hidden":false,"href":"/inbox/team-home"},{"title":"Scheduling and work schedules for Auto-dispatch","sidebarTitle":"Scheduling and work schedules","hidden":false,"href":"/inbox/scheduling-and-work-schedules"}]},{"group":"Work schedules (Beta)","pages":[{"title":"Create and manage work schedules","href":"/inbox/create-and-manage-work-schedules"}]},{"group":"Dispatch scenarios","pages":[{"title":"Tiered dispatch","href":"/inbox/dispatch-scenarios/tiered-dispatch-on-a-shared-board"}]}]},{"group":"Super Magic \u0026 Thread MCP","icon":"sparkles","pages":[{"group":"Using Super Magic","pages":[{"title":"Meet Super Magic: Your AI Agent in Inbox","href":"/super-magic/meet-super-magic-your-ai-assistant-in-the-inbox"},{"title":"Super Magic Admin Guide: Setup, Access \u0026 Safety","href":"/super-magic/super-magic-admin-guide-setup-access-safety"},{"title":"Proactive Suggestions in Super Magic","href":"/super-magic/proactive-suggestions"},{"title":"Share Super Magic chats with teammates","href":"/super-magic/share-super-magic-chats-with-teammates"},{"title":"Tag teammates in ticket notes with Super Magic","href":"/super-magic/tag-teammates-in-ticket-notes-with-super-magic"},{"title":"Connect Knowledge Sources to Super Magic","href":"/super-magic/connect-it-glue-hudu-time-zest-knowledge-sources-to-super-magic"},{"title":"Super Magic prompting 101","href":"/super-magic/prompting-101"},{"title":"Super Magic FAQ","href":"/super-magic/faq"}]},{"group":"Super Magic Tools","pages":[{"title":"Add External Tools to Super Magic with Connectors","href":"/super-magic/add-external-tools-to-super-magic-with-connectors-super-mcp"},{"title":"Add a custom MCP connector to Super Magic","href":"/super-magic/add-a-custom-mcp-connector-to-super-magic"},{"title":"Connect Halo MCP to Super Magic","href":"/super-magic/connect-halo-mcp-to-super-magic"},{"title":"Connect NinjaOne to Super Magic","href":"/super-magic/connecting-ninja-one-to-super-magic"},{"title":"Use Hudu with Super Magic","href":"/super-magic/use-hudu-with-super-magic"},{"title":"Use ImmyBot with Super Magic","href":"/super-magic/use-immybot-with-super-magic"},{"title":"Use IT Glue with Super Magic","href":"/super-magic/use-it-glue-with-super-magic"},{"title":"Use Linear with Super Magic","href":"/super-magic/use-linear-with-super-magic"},{"title":"Use Liongard with Super Magic","href":"/super-magic/use-liongard-with-super-magic"},{"title":"Use Notion with Super Magic","href":"/super-magic/use-notion-with-super-magic"},{"title":"Use TimeZest with Super Magic","href":"/super-magic/use-time-zest-with-super-magic"},{"title":"Use Zapier with Super Magic","href":"/super-magic/use-zapier-with-super-magic"},{"title":"Use Atlassian (Jira and Confluence) with Super Magic","href":"/super-magic/use-atlassian-with-super-magic"},{"title":"Use CIPP with Super Magic","href":"/super-magic/use-cipp-with-super-magic"},{"title":"Use Lexful with Super Magic (beta)","href":"/super-magic/use-lexful-with-super-magic"},{"title":"Use ClickUp with Super Magic","href":"/super-magic/use-clickup-with-super-magic"},{"title":"Use Cloudflare with Super Magic","href":"/super-magic/use-cloudflare-with-super-magic"},{"title":"Use monday.com with Super Magic","href":"/super-magic/use-monday-with-super-magic"},{"title":"Use Vanta with Super Magic","href":"/super-magic/use-vanta-with-super-magic"},{"title":"Use ConnectWise RMM with Super Magic","href":"/super-magic/connect-connectwise-rmm"}]},{"group":"Thread MCP","pages":[{"title":"Thread MCP Server: Developer Guide","href":"/super-magic/thread-mcp-server-developer-guide"},{"title":"Control who can connect AI apps to Thread MCP","sidebarTitle":"Control who can connect AI apps","href":"/super-magic/control-who-can-connect-ai-apps-to-thread-mcp"},{"title":"Super Magic Tool Reference","description":"Canonical reference of every Super Magic tool across tickets, scheduling, knowledge, and integrations, with read/write type and gating per action.","href":"/super-magic/super-magic-tool-reference"}]},{"group":"MCP automation keys","hidden":false,"pages":[{"title":"Issue MCP automation keys for team members","href":"/super-magic/issue-mcp-automation-keys-for-team-members"}]},{"group":"Personal service agents (Beta)","hidden":true,"pages":[{"title":"Create a personal service agent in Super Magic","description":"Set up your own personal service agent in Super Magic that you chat with, give recurring routines, and teach with memories. Covers creating the agent, adding routines, approving its changes, and pausing or deleting it.","href":"/super-magic/create-a-personal-service-agent-in-super-magic"}]},{"group":"Auto mode (Beta)","hidden":true,"pages":[{"title":"Let Super Magic make changes without asking (Auto mode)","description":"Switch Super Magic to Auto mode so routine changes run without a Confirm action card, learn which risky actions still ask, and switch back to Manual.","href":"/super-magic/let-super-magic-make-changes-without-asking-auto-mode"}]},{"group":"Developer reference","pages":[{"title":"Webhooks \u0026 APIs: How Thread Talks to Your PSA","description":"How Thread uses APIs and webhooks to keep ConnectWise, Autotask, and HaloPSA tickets, contacts, and statuses in sync with Inbox in real time, two ways.","href":"/get-started/webhooks-apis-how-thread-talks-to-your-psa"},{"title":"Trigger Rewst Workflows from Thread Magic Intents","href":"/integrations/thread-rewst-integration"}]}]},{"group":"Companion Apps","icon":"puzzle-piece","pages":[{"group":"Teams Companion App","pages":[{"title":"Install the Teams Companion App","href":"/companion-apps/install-the-teams-companion-app"}]},{"group":"Slack Companion App","pages":[{"title":"Install the Slack Companion App","href":"/companion-apps/install-the-slack-companion-app"},{"title":"How to Use the Slack Companion App for Service Teams","href":"/companion-apps/how-to-use-the-slack-companion-app-for-service-teams"}]},{"group":"Channel settings","pages":[{"title":"Choose which ticket updates post to a channel","href":"/companion-apps/choose-which-ticket-updates-post-to-channel"}]},{"group":"Super Magic in Companion Apps (Beta)","hidden":true,"pages":[{"title":"Use Super Magic in Microsoft Teams and Slack","href":"/companion-apps/use-super-magic-in-teams-and-slack"}]}]},{"group":"Service Intelligence","icon":"brain","pages":[{"group":"Contact Intelligence","pages":[{"title":"Contact Intelligence Overview","href":"/ai-agents/contact-intelligence"},{"title":"Contact Intelligence FAQ","href":"/ai-agents/contact-intelligence-faq"}]},{"group":"Knowledge Intelligence","pages":[{"title":"Getting Started with Client Intelligence","href":"/ai-agents/getting-started-with-knowledge"},{"title":"Client Intelligence Service Tech Guide","href":"/ai-agents/knowledge-intelligence-service-tech-guide"}]}]},{"group":"Magic Analytics","icon":"chart-line","pages":[{"group":"Get started","pages":[{"title":"Getting Started with Magic Analytics","href":"/analytics/getting-started-with-magic-analytics"},{"title":"Magic Analytics Topics You Can Explore","href":"/analytics/topics-you-can-explore"}]},{"group":"Dashboards","pages":[{"title":"ROI Value Realization Dashboard","href":"/analytics/roi-value-realization-dashboard"},{"title":"Assistive AI Accuracy Dashboard","href":"/analytics/assistive-ai-accuracy-dashboard"},{"title":"Triage Agent Summary Dashboard","href":"/analytics/triage-agent-dashboard"},{"title":"Voice AI Analytics dashboard","href":"/analytics/voice-ai-dashboard"},{"title":"Messenger Analytics Dashboard","href":"/analytics/messenger-analytics-dashboard"},{"title":"Service Team Performance \u0026 AI Usage Dashboard","href":"/analytics/service-team-performance-dashboard"},{"title":"Super Magic Usage Dashboard","href":"/analytics/super-magic-usage-dashboard"}]},{"group":"Work with your data","pages":[{"title":"Dashboard Agent: query Magic Analytics in plain English","href":"/analytics/dashboard-agent"},{"title":"Downloads, Alerts, and Scheduled Delivery","href":"/analytics/downloading-alerts-scheduling"}]},{"group":"Reference","pages":[{"title":"Magic Analytics: Things to Know and Gotchas","href":"/analytics/things-to-know-and-gotchas"},{"title":"Magic Analytics FAQs","href":"/analytics/faqs"}]}]},{"group":"Workspace administration","icon":"sliders","pages":[{"group":"Workspace \u0026 branding","pages":[{"title":"Workspace Defaults: Time Zone and TimePad Settings","href":"/inbox/workspace"},{"title":"Member and Contact Avatars in Inbox and Messenger","href":"/inbox/avatars"},{"title":"Dark mode and themes","sidebarTitle":"Dark mode and themes","href":"/inbox/dark-mode-and-themes"}]},{"group":"Members \u0026 access","pages":[{"title":"Managing Members in Thread Admin","href":"/inbox/members-management"},{"title":"Team Admin Role: Scoped Admin Permissions","href":"/inbox/team-admin-role"},{"title":"Restrict a member's access to specific clients","href":"/inbox/restrict-member-access-to-specific-clients"},{"title":"Set Up Single Sign-On (SSO) with Microsoft 365","href":"/inbox/how-to-setup-single-sign-on-sso"}]},{"group":"Clients","pages":[{"title":"Clients Tab: Managing Companies and Messenger Deployment","href":"/inbox/clients-tab"}]},{"group":"End-user verification","pages":[{"title":"Thread Verify","sidebarTitle":"Thread Verify","href":"/inbox/verify"}]}]},{"group":"Notifications","icon":"bell","pages":[{"group":"For your Team","pages":[{"title":"How Notifications Work for your Team","href":"/notifications/how-will-notifications-work-internally"},{"title":"How to Manage Your Inbox Notifications","href":"/notifications/managing-your-inbox-notifications"}]},{"group":"For your Customers","pages":[{"title":"How Notifications Work for your Customers","href":"/notifications/how-notifications-work-externally"}]}]},{"group":"Security \u0026 compliance","icon":"shield-halved","pages":[{"group":"Security reviews","pages":[{"title":"Thread Trust Center","href":"/security-billing/soc-2-and-compliance-status"}]},{"group":"Data \u0026 AI handling","pages":[{"title":"Data \u0026 Encryption","href":"/security-billing/data-encryption"},{"title":"Magic AI Privacy \u0026 Security Overview","href":"/security-billing/magic-ai-privacy-security"},{"title":"Claude on AWS Bedrock","href":"/security-billing/claude-on-aws-bedrock"},{"title":"Thread Sub-Processors List","href":"/security-billing/list-of-sub-processors"}]},{"group":"Network \u0026 app permissions","pages":[{"title":"Thread IP Addresses and Domains to Allowlist","href":"/security-billing/what-if-my-organization-has-ip-restrictions"},{"title":"Microsoft Teams App Permissions Reference","href":"/security-billing/microsoft-teams-app-permissions"},{"title":"Slack App Permissions Guide","href":"/security-billing/slack-permissions-guide"}]}]},{"group":"Plans \u0026 billing","icon":"credit-card","pages":[{"group":"Plans \u0026 licensing","pages":[{"title":"Access Your Thread Billing Portal","href":"/security-billing/how-to-access-your-thread-billing-portal"},{"title":"Plans and Licenses: AI and Chat License Management","href":"/inbox/plans-licenses"}]}]},{"group":"Automagically","icon":"wand-magic-sparkles","pages":[{"group":"Get started","pages":[{"title":"Automagically: Getting Started","sidebarTitle":"Getting started","href":"/automagically/automagically-getting-started"},{"group":"Running Runbooks","pages":[{"title":"Automagically: Running Runbooks","sidebarTitle":"Running Runbooks","href":"/automagically/automagically-running-runbooks"},{"title":"Running from Automagically","href":"/automagically/running-runbooks/running-from-automagically"},{"title":"Running from the ticket","href":"/automagically/running-runbooks/running-from-the-ticket"},{"title":"Running from Super Magic","href":"/automagically/running-runbooks/running-from-super-magic"},{"title":"Runbook Execution Results","href":"/automagically/running-runbooks/runbook-execution-results"}]},{"title":"Automagically: Approving Runbooks","sidebarTitle":"Approving Runbooks","href":"/automagically/automagically-approving-runbooks"},{"title":"Modifying a Runbook","sidebarTitle":"Modifying a Runbook","href":"/automagically/modifying-a-runbook"},{"title":"Connect Microsoft 365 clients","sidebarTitle":"Connect Microsoft 365 clients","href":"/automagically/connect-microsoft-365-clients"},{"title":"Automagically: Building a Runbook","sidebarTitle":"Building a Runbook","href":"/automagically/building-a-runbook"}]},{"group":"Configure","hidden":true,"pages":[{"title":"Automagically: Client Access","href":"/automagically/automagically-client-access"},{"title":"Managing Microsoft 365 client connections","href":"/automagically/automagically-microsoft-365-integrations"},{"title":"Microsoft 365 permissions reference","href":"/automagically/automagically-microsoft-365-permissions"}]},{"group":"Security \u0026 compliance","pages":[{"title":"Automagically security and compliance controls","href":"/automagically/automagically-security-controls"}]}]}]},{"tab":"Magic Library","icon":"https://mintlify.s3.us-west-1.amazonaws.com/thread/logo/stars.svg","pages":[{"title":"Magic Library","href":"/skill-library/overview"}]},{"tab":"Resources","icon":"folder-open","pages":[{"title":"Resources","href":"/events-and-resources"}]}]},"basePath":"","title":"Issue MCP automation keys for team members - Thread Docs","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["10e4515597"],"chunks":["BannerMarkdown-Dlc3Qr3h.js","dist-D2J8knkn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-Dq9TQuNi.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}