Your app.
Connected with context.

Start with a website check. Add sales, customer reports or a coding assistant when you need them. Each connection belongs to one project.

Open guided setup

Start with one useful check

  1. Create your workspace and verify your email.
  2. Create a project for your app. Use a separate Test project for synthetic events; a Live project records real activity.
  3. Choose website monitoring in guided setup and paste a public URL. A health endpoint is ideal; your homepage is a useful first step.
  4. Open the monitor after its first check. Add separate checks for important APIs, or a heartbeat for a scheduled job.

Project → Connect project shows the exact setup links and actual progress for that project. A passing homepage does not prove that your whole app or checkout works.

Send events from your server

Create an Events API key inside the project. Save it in your backend’s secret environment as INDIE_PROJECT_KEY. Your project’s connection guide gives you a copyable server example with the correct endpoint.

Send a sale only after your payment provider confirms it. Use an integer amount in minor units, the original currency, a stable transaction ID and an Idempotency-Key that stays the same on retries. For USD, 1200 means $12.00. A retry repeats the same payload; a different payload under the same identity is a conflict.

Queue failed deliveries and retry temporary errors with backoff. Resolve authentication or validation errors before retrying. Confirm a Test event appears in Activity before enabling the Live integration. Do not report test purchases as Live sales.

For Stripe, the manual webhook option uses a signing secret to verify events. Customers never need to give Indie a full Stripe account API key. Stripe OAuth and the optional history import remain in testing.

Where do customer messages come from?

Your backend can forward a contact-form submission as a message event. Indie does not automatically read your email or contact forms. Send only the customer information you intend to retain. For a structured bug report, use the hosted widget below.

Let customers report a bug

Open Project → Widgets & bug reports. Enable bug reporting, add the exact website origin and copy the embed code. The public widget ID belongs in your website; an Events API key does not.

The button or your own link opens an Indie-hosted form in a modal. Submissions arrive privately in your workspace for triage. Preview on your Test project, then configure the Live project for your production website.

Recent-sales popups are optional and configured separately. They show qualifying recorded sales, with the privacy choices you select. Indie does not invent purchases or customer demand.

Give your coding assistant a clear brief

Open Project → Connect project → Coding agents and copy the developer brief into the chat where you build your app. It identifies the project, environment, endpoint and integration rules without including a secret.

Connect an MCP client

  1. A workspace owner or admin creates a named, seven-day agent connection in that same screen.
  2. Read-only access is the default. Optionally allow the assistant to prepare paused website checks.
  3. Copy the generated configuration into your client’s private MCP settings. The endpoint is https://app.heyindie.io/api/mcp, using Streamable HTTP with an Authorization Bearer header.
  4. Ask: “Check this Indie project’s setup and help connect my app.” Review any prepared monitor in Indie and enable it when ready.

get_project_setup reads connection instructions and status for one project. With your permission, prepare_website_monitor prepares a paused HTTP check. It does not start probing, change existing monitors, expose project keys, read customer records or change billing.

The MCP token is separate from an Events API key. Keep it out of source control, browser code and shared chat. You can revoke it immediately; it expires automatically after seven days. Clients must support remote Streamable HTTP and custom headers. Clients that require OAuth can use the developer brief until OAuth support is available.

Check the connection, not just the code

Look for the first completed monitor check and first accepted Test event in Indie. Retry the same event and confirm it is not counted twice. Keep Test and Live credentials separate. Once those checks pass, connect your real production signals.

Open your setup checklist