Documentation
Integration setup
Step-by-step OAuth setup for every integration Supoid ships with. Each one takes 5–10 minutes; redirect URLs + scopes are pre-listed below so you can copy-paste.
Linear
Push roadmap items as Linear issues. Status changes sync both ways. AI agent can create issues + add comments + flip state from feedback.
Free Plan: 250 issues + 2 teams
HubSpot
When feedback ships, push as a HubSpot ticket. AI agent can update ticket stage + add notes. Auto-link contact by email.
CRM Free: 1M contacts, basic tickets
Slack (OAuth bot)
Bot posts new feedback + shipped changelog to your channel. Customer-side: one-click install, no webhook URL juggling.
Free Plan: 90-day message history
Salesforce
Push shipped feedback as Salesforce Cases. AI agent can update case status + add public comments. Refresh-token rotation handled.
Developer Edition: forever free, 2 users, full API
Intercom
Reply on the originating Intercom conversation when feedback ships. Autopilot discovery: AI scans closed conversations to extract feedback.
Paid only — 14-day trial
LinearFree tier OK
Push your roadmap items into Linear as issues. The webhook syncs status changes back automatically (Linear "Done" → Supoid roadmap "Completed"). The AI agent can create issues, add comments, and flip state on your behalf — opt in per tool in Settings → AI Agent.
Create the Linear OAuth app
- Open linear.app/settings/api/applications → New OAuth Application
- Fill in:
- Application Name: Supoid
- Description: AI customer feedback + roadmap sync
- Callback URLs:
https://supoid.com/api/integrations/linear/callback - Webhook URL:
https://supoid.com/api/integrations/linear/webhook - Webhook events: Issues + Comments + OAuth Authorization
- Save → copy Client ID + Client Secret + Webhook signing secret.
Connect from Supoid
- Open
/settings/integrations/linearin your workspace - Click Connect with Linear
- Pick the team you want feedback to push into
- Test: open a roadmap item → "Push to Linear" → Linear issue created
HubSpotFree tier OK
Push shipped feedback as HubSpot tickets. The AI agent can update stages + add notes. Contacts are auto-associated by email when the feedback came from an identified user.
Create the HubSpot Public App
- Open developers.hubspot.com/apps → Create app → Public app (NOT MCP app)
- App info → Name: Supoid
- Auth tab:
- Redirect URL:
https://supoid.com/api/integrations/hubspot/callback - Scopes:
tickets,crm.objects.contacts.read,crm.objects.contacts.write,oauth
- Redirect URL:
- Save → Auth tab now shows Client ID + Client Secret. Copy both.
Connect from Supoid
- Open
/settings/integrations/hubspot - Click Connect HubSpot
- Pick the HubSpot account → grant permissions
- Done — open any feedback in your inbox, change status to Completed, ticket appears in HubSpot.
If you see "MCP app" instead of OAuth fields
You picked the wrong app type. MCP apps don't expose OAuth — delete the app, create a fresh Public app from the dropdown.
SlackFree tier OK
The Slack OAuth bot posts new feedback + shipped changelog to a channel of your choice. One workspace install covers every channel — no per-channel webhook URL setup.
Create the Slack app
- Open api.slack.com/apps → Create New App → From scratch
- Name:
Supoid, pick a workspace for testing - OAuth & Permissions sidebar:
- Redirect URL:
https://supoid.com/api/integrations/slack/oauth/callback - Bot Token Scopes:
chat:write,chat:write.public,channels:read,team:read
- Redirect URL:
- Basic Information sidebar — copy Client ID + Client Secret
- Manage Distribution sidebar → Activate Public Distribution (so your customers can install it too)
Connect from Supoid
- Open
/settings/integrations/slack - Click the new Install Slack App button in the upper blue panel
- Pick a default channel for new feedback
- Test: hit the "Test" button → check your channel
Bot mode coexists with the legacy webhook integration. If you set both, bot mode wins.
SalesforceDeveloper Edition free
When feedback ships, push as a Salesforce Case. The AI agent can update case status + add public comments. Refresh-token rotation is handled automatically.
For testing, sign up for Developer Edition — forever free, 2 users, full API.
Create the Connected App
- In Salesforce, click ⚙️ → Setup
- Quick Find: App Manager → New Connected App → Create a Connected App
- Basic info:
- Connected App Name: Supoid
- Contact Email: your email
- ☑ Enable OAuth Settings:
- Callback URL:
https://supoid.com/api/integrations/salesforce/callback - Scopes: Manage user data via APIs (
api) + Perform requests at any time (refresh_token, offline_access)
- Callback URL:
- Save → wait 10 minutes (Salesforce is async)
- App Manager → click app → View → Manage Consumer Details → email/SMS verification → copy Consumer Key (= Client ID) + Consumer Secret (= Client Secret)
Connect from Supoid
- Open
/settings/integrations/salesforce - Click Connect Salesforce
- Login flow uses
login.salesforce.comregardless of instance — DE works exactly like prod.
IntercomPaid (14-day trial)
When a feedback shipped from an Intercom conversation, Supoid posts a "We shipped this" reply on the originating conversation. Bonus: Autopilot discovery — every 6 hours, AI scans recently-closed Intercom conversations and extracts product feedback into your review queue.
Create the Intercom OAuth app
- Open developers.intercom.com → Your apps → New app
- OAuth, Authentication & Authorization page:
- Redirect URL:
https://supoid.com/api/integrations/intercom/callback
- Redirect URL:
- Basic Information page → copy Client ID + Client Secret
Connect from Supoid
- Open
/settings/integrations/intercom - Click Connect Intercom
- Once connected, toggle Autopilot discovery on the same page if you want AI to surface feedback from your support conversations.
Troubleshooting
"redirect_uri_mismatch"
The redirect URL in your OAuth app doesn't exactly match the one Supoid sends. Most common: trailing slash. The callback URL must end at /callback with no trailing slash.
"Setup needed" amber banner won't go away
Workspace owner adds CLIENT_ID + CLIENT_SECRET to .env.local + Vercel project env vars + redeploy. Self-hosted? Same env vars in your container.
OAuth flow returns "exchange_failed"
Check the callback URL is reachable from the public internet (not localhost). Provider's auth server has to POST your token endpoint.
Need help?
Email hello@supoid.com with your provider name + the error message you see — usual response time under a day.
Want a new integration?
We add provider integrations based on customer demand. Email hello@supoid.com with what you'd like to see — most ship in under a sprint.
Looking for the REST API instead? See the API reference.