Wire Convo into your product

Convo works without any integration at all: create a product, send people the link, and feedback starts arriving. This section is about the next step — putting capture where your users already are, and wiring what happens after into the tools you already use.

The shape of every integration

Every Convo integration splits the same way.

Capture happens in your product. Someone hits friction, says something, and it lands on your board. That half is deliberately tiny: no account, no SDK, no auth, and a single HTTP endpoint underneath every option below.

Triage, shipping, and notifying happen in Convo. Reading, replying, grouping, moving things onto the roadmap, writing the changelog, telling the people who asked — that is the maker app, and none of it needs anything from your side.

So the only real question is how you want the capture half to look.

The four ways

Setup Identity available Theming Where it renders What you get
Link to your board None — copy the URL The full ladder: anonymous, email, Google Your logo and accent, on the page itself A Convo page, in a new tab Capture, the live feed, replies, the roadmap, the changelog
The embed widget One script tag Anonymous, claimed when the author visits the board Accent color and button label A fixed corner box, in your app Capture only
Your own capture UI ~40 lines against one endpoint Anonymous, claimed when the author visits the board Entirely yours Wherever you put it Capture only
REST API and MCP A maker credential Not applicable — this is you, not your users Not applicable Your backend, or your agent The whole maker surface

Link to your board. Your product lives at /{workspace}/{KEY} and that address is the whole integration. Put it in your help menu, your release notes, your support replies, your footer. It is the only option where a person can climb the identity ladder, read what everyone else said, plus-one an existing request, reply in a thread, and check the roadmap and changelog. It is also the only place the capture box offers similar existing feedback as you type, so people join a conversation instead of starting a duplicate one. Start here.

The embed widget. One <script> tag drops a "Tell us anything" box into your own app, posting to the same board. Setup is a copy and paste, and the price is that it is capture only, sign-in-free, and renders as a fixed light-themed box in the corner. A widget post is anonymous until its author opens the board, at which point Convo re-attributes it to them. See Embed the capture box.

Your own capture UI. The widget is a convenience wrapper around a public HTTP endpoint, and that endpoint is documented. Post to it from your own component and you keep your theme, your placement, and your trigger — a sidebar button, an error dialog, a shake gesture, the third failed search. Convo's own maker app and Can's sidebar Feedback button both take this path. See Build your own capture UI.

REST API and MCP. The full maker surface — list and search items, reply, retag, move statuses, draft a changelog entry, notify requesters. It authenticates as a maker with a real credential, so it belongs in your backend, in a script, or behind your agent. Never ship a maker credential to your users' browsers; that is what the capture endpoint above is for. The REST API and Connect your AI assistant pages cover it, and Your users' AI assistants covers the two-tool scope an end user's own assistant can hold.

The first three are not exclusive. Most products end up with the link in the help menu and one in-app capture surface.

Closing the loop back

Capture is half of it. The other half is what happens when a piece of feedback becomes work in your tracker, and then becomes something you shipped.

The status is the loop. Moving an item to shipped is the whole mechanism: the changelog entry writes itself, the public roadmap moves, and Convo offers to tell the people who asked. Nothing outside Convo has to happen first, and Convo binds to no particular tracker — Ship, notify, changelog is the page for it.

Outbound webhooks carry that outward, to anything. Convo POSTs a signed JSON payload to a URL you own on item.created, item.status_changed, and item.replied, so you can file a GitHub issue, open a Linear ticket, ping a Slack channel, or run whatever automation you like. Workspace admins configure endpoints in workspace settings; each endpoint gets a signing secret and can be paused. The Outbound webhooks page covers the payloads and signature verification.

None of these change what your users see. The loop closes on the public side when you move an item to shipped and write the changelog entry.

How Can does it

Can — the kanban tool in the same family — is a good worked example, because Can is also a Convo customer.

Capture: Can's sidebar has a Feedback button that opens a small popover, themed with Can's own tokens and working in dark mode, which posts straight to the capture endpoint at randomfact/CAN. It is roughly the React component in Build your own capture UI, because that is where the sample came from. Can deliberately did not use the widget: the widget can only render a fixed light corner box, and Can wanted its own popover in its own sidebar.

That is the whole integration, and it is deliberately one-directional. Can's feedback is read, replied to and shipped inside Convo, on the item's own status — nothing in Can has to know Convo exists beyond that one button.

Where to start

Start with the link. It costs nothing, it is the only surface with the full identity ladder and the full conversation, and it will tell you within a week whether you need anything else.

Add the widget when you want capture at the moment of friction and the corner box is fine. Build your own when the corner box is not fine — when it has to match your theme, sit inside a dialog, or be triggered by something only your app knows about.

Add webhooks once you have enough feedback that you want it landing in something else automatically. Not before.

If you have not created a product yet, Getting started takes about five minutes.