Integrations
Choose a source, connect it, and verify that a report reaches your inbox.
Connect the channels your users already use. Each source sends reports to a registered application; you review them together in Complaints.
Only currently implemented intake channels are documented here. Availability can also depend on your deployment's enabled services. Channels marked Coming soon in the app are not ready to connect.
Before you connect
Register an application and copy its name. Choose the destination before testing, especially when you manage several applications.
AI agents
Use for: reports from an MCP-compatible AI client.
Complaintr exposes a remote MCP server over Streamable HTTP. In your client's MCP settings, add a server named complaintr with this URL:
https://app.complaintr.com/api/mcpSelect Streamable HTTP if the client asks for a transport. Configuration formats differ by client; use its remote MCP connection settings rather than copying another client's configuration.
OpenCode configuration
Add the entry under mcp in your OpenCode configuration:
{
"mcp": {
"complaintr": {
"type": "remote",
"url": "https://app.complaintr.com/api/mcp",
"enabled": true
}
}
}Local stdio connection
For a client that launches local MCP processes, configure the command as npx and arguments as -y and @complaintr/mcp-server. Set the server environment variable COMPLAINTR_API_URL to your app origin:
Command: npx
Arguments: -y @complaintr/mcp-server
Environment: COMPLAINTR_API_URL=https://app.complaintr.comThe local server requires a runtime that can execute npx. It sends reports to the configured Complaintr HTTP API.
Verify: reload the client, ask it to list MCP tools, and confirm report_complaint appears. Submit a test report with your registered application name and find it in Complaints. See API and tools for input fields and sharing.
Web widget
Use for: feedback from visitors without leaving your website.
The application in your embed snippet determines where these reports arrive.
- Register the website or product in Applications.
- In the sidebar, open Integrations, choose In-app complaint widget, then click Setup.
- Select the application that should receive complaints.
- Customize the widget, then click Save customization.
- Copy the generated embed snippet and add it once before the closing body tag of your website.
Install the generated snippet once in your page shell, before the closing </body> tag. A minimal installation looks like this:
<script
src="https://app.complaintr.com/widget.js"
data-app="Acme Store"
defer
></script>For a single-page application, keep the script in the shared shell so route changes do not create extra instances. In a framework that manages script loading, load it once after the page becomes interactive and keep the data-app attribute.
Customize the widget
In Integrations > In-app complaint widget > Setup, select the application, adjust the appearance, and click Save customization. Saved settings are loaded when the widget initializes and when it opens; changing appearance does not require replacing the embed code.
| Setting | Choices or purpose |
|---|---|
| Position | Bottom right, bottom left, top right, or top left. |
| Color | The widget's accent color. |
| Title and welcome message | Introduce the feedback conversation. |
| Launcher icon | Complaintr, chat, bug, megaphone, or chevron. |
| Launcher style | Gradient, white, or dark. |
| Announcement banner | A title, short message, and optional link. An empty title hides it. |
Use Widget news for announcements and Widget help for support articles. Both belong to the selected application and appear in the widget without another deployment of your website.
What visitors can do
Visitors can report an issue, request a feature, or start a message conversation. Feature requests are stored as complaints with feature-request metadata. Separate message conversations persist for the browser's device identity. The widget accepts text, not voice or file attachments.
The report form submits directly. The conversational assistant can file once it has enough information, without a separate tool-approval step. The widget does not expose your private workspace tools.
Verify: open the installed widget on a real page, submit a test issue, and look for the Web widget source in Complaints. The setup preview does not send real submissions.
Telegram
Use for: mobile reporting, workspace conversations, and new complaint alerts.
- In the sidebar, open Integrations, choose Telegram, then click Connect Telegram.
- In the Telegram conversation opened by that link, click Start. The link includes the token that connects your account; no verification code needs to be copied.
- Return to Integrations > Telegram and wait for Connection to show Connected.
- Under Settings, use the New complaint alerts switch to enable or disable notifications.
- In a private bot chat, just describe a problem to file a complaint, or ask about your applications and complaints. The assistant asks for confirmation before filing.
Account linking uses the link opened from Complaintr. Opening the bot independently does not link your workspace. Do not share your account-linking URL with another person.
People without a linked Complaintr account can describe a problem to the bot as public intake. Linked users can also ask about their own workspace in a private chat. Review and approve the assistant's summary before filing.
Verify: check that Connection shows Connected. Enable New complaint alerts, then submit a new test complaint for one of your applications and confirm the alert arrives. Disable alerts with the same switch without unlinking the account.
Slack
Use for: filing complaints from Slack and managing your own workspace from a bot DM.
- Open Integrations, then Slack.
- Click Add to Slack and authorize the Complaintr app in your Slack workspace.
- Click Link my account and send the displayed connect code to Complaintr in a Slack DM.
- Mention @Complaintr in a channel to file a complaint, or send a DM to manage your workspace.
- Complaint creation and status changes require approval with Slack buttons.
To report from a channel, invite Complaintr and mention @Complaintr in your message. Give the registered application name and describe the problem. If you only provide a URL, the bot asks for the registered name. Follow-up messages in that thread must mention the bot again. The bot asks for missing details and shows Approve and Reject buttons before filing.
For private management, connect your personal Complaintr account. In a Complaintr DM, ask to list complaints, inspect details, or change a complaint's status. Only the linked account's applications and complaints are available. Status changes and new complaints require approval. Unlinked users can still file complaints through the DM intake flow.
If you did not install the app yourself, ask the installer for the Slack workspace ID and enter it on Integrations > Slack to generate a personal link code. Disconnecting the installation removes access for every linked user in that Slack workspace.
Verify: file a test complaint through a channel mention and confirm its Slack source in Complaints. Then link your account, request a list of your complaints in DM, and approve a status change.
GitHub
Use for: reporting from issue and pull request comments.
- Create at least one application in Applications.
- In the sidebar, open Integrations, choose GitHub Issues, then click Connect a repository.
- Install the Complaintr GitHub App on the repositories you want to monitor and return to Complaintr.
- Choose a Complaintr application from Select application.
- Click Link beside each repository that should report to that application.
- Mention @complaintrbot in an issue or pull request comment and describe the problem. The assistant asks any follow-up questions and files the complaint after you confirm in a reply that also mentions the bot.
The GitHub App installation and repository link are both required. Several repositories can point to the same Complaintr application.
@complaintrbot Checkout fails when the cart contains two items.
The page stays on the cart instead of opening payment.Mention the bot in follow-up comments too, including the reply approving or declining the report. A mention inside a code block does not start a conversation.
Reports include repository, issue, and comment context. To stop routing a repository, open Integrations > GitHub Issues and unlink it.
Verify: mention the bot in a comment on a linked repository, approve its summary, and find the report with the GitHub source in Complaints.
Use for: complaint intake through direct messages to the Complaintr Instagram account.
Send @trycomplaintr a direct message with the registered application name and the problem. This flow does not connect your own business inbox.
The assistant asks for missing details and shows a summary before submission. Reply with a clear yes to approve or no to cancel. Send text in a DM, rather than a comment or mention.
Verify: approve a test complaint and find it with the Instagram source in the application's inbox. Instagram intake does not provide access to private workspace data.
HTTP API
Use for: your own scripts, services, and custom feedback interfaces.
Send a JSON request to POST /api/v1/complaints on your Complaintr app domain. Include appName, title, and description.
Follow API and tools for a copyable request, field limits, response shape, and retry behavior. A public submission endpoint is available today; it does not imply that outgoing event webhooks are available.
Verify: expect 201 and a complaint ID, then check that report in your inbox.
After connecting
Resolve your test complaint and invite users to report through the connected source. Use Troubleshooting if a confirmation or report is missing.