Currently in private beta.
Settings & Admin

Integrations

Intermediate9 min read

Connect QONE to the tools your team already uses -- Slack for notifications and AI assistants over MCP -- all managed from one admin page.

Key concepts

  • Integrations page: A grid at Settings > Integrations that lists each available integration with its live connection status. It is admin-only -- you need the View Settings permission to open it.
  • Slack: A workspace-level connection (one Slack workspace per QONE workspace) that delivers QONE notifications as Slack DMs and posts project/department activity to Slack channels. Live.
  • MCP: Per-user connections that let AI clients (Claude, Cursor, ChatGPT, etc.) read and act on your QONE data. Managed from the same panel users see at My Profile > Connections. Live.
  • Webhooks: Outgoing event webhooks. Coming Soon -- the card is shown but not yet clickable.
  • User mapping (UserSlackIdentity): The link between a QONE user and their Slack user, matched by email during sync. Required for that person to receive Slack DMs.
  • Channel link (SlackChannelLink): A mapping of one Slack channel to one QONE project, with per-event toggles for what gets posted.
  • Department (group) channels: Tenant-wide channel routing for non-project notifications -- HR, Leaves, Expenses, Invoices, Announcements.
  • Email provider: An optional per-tenant Resend configuration so outbound email is sent under your own brand instead of QONE's shared account. Reached directly at Settings > Integrations > Email (not shown as a card on the grid).

The Integrations Grid

  1. Open Settings from the sidebar.
  2. Click Integrations.
  3. You will see a grid of three cards, each with a status badge:
    • Slack -- a green Connected badge appears once a workspace is linked.
    • MCP -- shows Connected when you have at least one active AI client.
    • Webhooks -- shows a grey Coming Soon badge and is not clickable.
  4. Click any live card to open its configuration page. The page header also links to Manage notification preferences, where per-user channel routing lives.

[Screenshot: Integrations grid showing Slack, MCP, and the disabled Webhooks card]

Note: Only Slack and MCP are live. Webhooks is the only card marked Coming Soon. Email integration exists as a page but is reached by URL (/app/settings/integrations/email), not from the grid.


Connect Slack

Connecting Slack is a workspace-level action -- it installs the QONE Slack app once for the whole workspace, so only admins (View Settings permission) can do it.

  1. From the Integrations grid, click the Slack card.
  2. Click Add to Slack to start the OAuth 2.0 flow.
  3. You are redirected to Slack to authorize the QONE app. Review the requested bot permissions:
    • chat:write -- send DMs and post messages.
    • im:write -- open direct-message conversations.
    • users:read -- list workspace members for mapping.
    • users:read.email -- match Slack users to QONE users by email.
    • Additional scopes (channels:read, commands, links:read, and more) are requested to enable channel posting and slash commands.
  4. Approve the install. Slack redirects you back, QONE saves the connection, and an initial user sync runs automatically.
  5. Back on the Slack page you will see the workspace name, who installed it and when, a green Connected badge, and the list of granted scopes.

[Screenshot: Connected Slack card showing workspace name, installer, and scope chips]

Note: If the page shows "Slack is not configured" instead of the connect button, the QONE deployment is missing SLACK_APP_CLIENT_ID / SLACK_APP_CLIENT_SECRET. That is a deployment-level setting -- contact your platform administrator.

Enable, Disable, or Disconnect

  • Use the Active toggle on the connection card to turn Slack delivery on or off without removing the install.
  • Click Disconnect to remove the integration entirely. This deletes the stored Slack config and all user mappings for your workspace. You will need to re-authorize to reconnect.

Re-authorize banner: If QONE later adds features that need new Slack scopes (for example channel posting or slash commands), a yellow banner appears prompting you to Re-authorize Slack. Click it to grant the extra permissions.


Sync and Map Slack Users

For a person to receive QONE notifications as a Slack DM, their QONE account must be mapped to their Slack user. QONE matches the two by email address.

  1. On the Slack settings page, find the Linked Users section. The count (e.g. 12/20) shows how many workspace members are mapped out of the total.
  2. Click Re-sync users to pull the latest Slack member list. QONE pages through your whole Slack workspace, skips bots and deactivated accounts, and matches each remaining Slack user to a QONE user by email.
  3. After the sync you will see a toast like "Matched 12 of 20 users," and the table lists each linked person with their Slack @username and Slack user ID.

[Screenshot: Linked Users table with QONE users mapped to Slack handles]

Tip: If someone is missing, confirm their QONE email exactly matches their Slack profile email, then re-sync. A user with no mapping simply will not get Slack DMs -- other channels (In-App, Email) are unaffected.


Route Department (Org-Wide) Channels

Some notifications are not tied to a project -- leave requests, payroll, expenses, invoices, and announcements. Route these to dedicated channels under Department channels, grouped into HR, Finance, and General sections.

  1. On the Slack settings page, scroll to Department channels.
  2. For each group (Leaves, HR, Expenses, Invoices, Announcements), pick a Slack channel from the dropdown. Selecting one creates the link with all of that group's events enabled by default.
  3. Use the per-event toggles that appear below a group to narrow what posts.
  4. To stop routing a group, set its channel dropdown back to No channel -- this removes the link.

[Screenshot: Department channels with HR, Finance, and General sections and per-group channel pickers]


Configure MCP (AI Assistants)

The MCP card opens the same panel users see at My Profile > Connections. It exists in Settings so admins can reach it without leaving the admin area.

  1. From the Integrations grid, click the MCP card.
  2. You will see the MCP endpoint and one-click install options for popular AI clients (Claude, Claude Code, Cursor, VS Code, Antigravity, ChatGPT), plus your list of active clients.
  3. Connect or revoke clients exactly as you would from your profile.

There is no workspace-wide MCP credential. Every AI client authorizes under a specific user's identity, scoped to that user's permissions, with a per-user audit trail. That is why the panel is identical in both places.

For the full client-by-client setup, scopes, security model, and troubleshooting, see the dedicated end-user guide: AI Connections (MCP).

[Screenshot: MCP panel showing the endpoint, install buttons, and active clients]


Configure a Custom Email Provider (Optional)

By default QONE sends outbound email (invites, notifications, billing) through its own shared Resend account. You can instead send under your own brand by supplying a Resend API key. This page lives at Settings > Integrations > Email.

  1. Open Settings > Integrations > Email (link directly, or use the breadcrumb back to Integrations).
  2. Enter your From email (required) and an optional From name and Reply-to address.
  3. Paste a Resend API key (create one at resend.com/api-keys). It is stored encrypted and never displayed back.
  4. Click Connect. Once saved, you can Send a test email to yourself to confirm delivery.
  5. Use the Active toggle to enable or disable the custom provider, or Disconnect to revert to QONE's shared account.

[Screenshot: Email integration form with from-address and Resend API key fields]

Note: Only the Resend provider is wired today. The configuration is forward-compatible with other providers (SMTP, SES, Postmark) for the future.


Tips & best practices

  • Connect Slack before mapping users -- the initial install runs a sync automatically, but re-sync after onboarding new people so everyone is mapped.
  • Match emails carefully -- Slack DM delivery depends on a QONE user and a Slack user sharing the same email. Mismatched emails are the most common reason a teammate "isn't getting Slack notifications."
  • Start channel links on Essential or Standard -- Everything can be noisy for busy projects. You can always add more events later.
  • Invite the bot to private channels first -- the QONE app can only post to private channels it has been added to.
  • Remember the two layers of routing -- the integration toggle and channel links control what the workspace sends; each user still controls which channels they personally receive under their notification preferences.
  • Use your own Resend key for branding -- if recipients should see email from your domain rather than QONE's, configure the Email integration before sending invites at scale.
  • MCP is per-user -- there is no admin "kill switch" for the whole workspace; revocation happens per client, per user.

Was this article helpful?

Your feedback helps us improve these guides.