See what customers need, ranked live.

Feedback from every chat, email and call lands on the request it's about, and your queue re-ranks by severity, customers and revenue as it does.

Live feedbackAll channels
  • GlobexChatExport spins, then gives me a 504.→ ISSUE-00057
  • InitechEmailTax on the invoice PDF is a cent off.→ ISSUE-00054
  • HooliFormDark mode for the portal, please.→ ISSUE-00062
Engineering›Requests and bugsWeighted
  1. 1Exports over 10k rows time outISSUE-00057 · BugP16$410K59
  2. 2Bulk edit for tagsISSUE-00051 · RequestP38$240K32
  3. 3Dark mode for the customer portalISSUE-00062 · RequestP311$150K26
  4. 4Invoice PDF rounds tax wrongISSUE-00054 · BugP23$185K25
  5. 5iOS app logs out on resumeISSUE-00049 · BugP22$60K10
FormulaPriority = severity weight × customers + ARR ÷ $10K

Sample workspace

Weighted your way.

  • Count customers, not tickets.Ten emails from one account add one customer, so a loud thread can't jump the queue.
  • Put revenue on every ask.ARR adds up from the accounts linked to each request, and moves when they change.
  • One order for the whole team.Save the sort on a view, and support, product and engineering work the same list.

Every report lands on the request.

Whoever is in the conversation adds it to the request, so every chat, email and call behind a bug sits on one record.

  • CallRavi Nair, UmbrellaExports still die on our big views.Added by the account rep
  • ChatTom Alvarez, GlobexExport spins, then gives me a 504.Added by support
  • EmailSarah Lee, NorthwindCSV export failed twice today.Added by success
  • FormDana Wu, HooliExport over 10,000 rows returns a 504Created the request

AI that follows your rules.

Write down how your team files and grades feedback once. Stella, your AI teammate, and your agents work from it.

Agents that act when a conversation ends.An agent reads each conversation as it closes, on the channels you pick, and files or updates the request by your rules.
Fields graded your way.Each auto-filled property carries its own rule, and leaves a value a person set alone.
One voice for the workspace.Instructions every Stella chat and agent starts from.

Reach it from your stack.

Every request, conversation and customer is a tool call, an API call or a webhook away.

Link the pull request.Name ISSUE-00057 in a branch, a title or a description, and the pull request shows on that request with its status.
Ask from your editor.Connect Claude Code, Cursor or Claude Desktop. Writes need a key with the write scope.
Close it from the deploy.A typed SDK over the REST API, with a key scoped to what the script needs.
Hear it in your own services.Every change arrives signed with HMAC-SHA256, and a failed delivery is retried for about a day.
Script it from the terminal.Sign in through the browser, switch workspaces, and connect MCP in one command.
API access from GrowthDeveloper docs →

A day on the Engineering team.

An example day. Dev and the times are illustrative.

On call opens the Weighted view. The export bug is on top.

Views and formulas

An Umbrella call ends. The rep adds it to the export bug, which climbs to 72.

Linked conversations

In Cursor, Dev reads every conversation behind the export bug.

MCP server

A Northwind chat moves bulk tag edits above the tax bug.

Rollups

The pull request naming ISSUE-00057 merges, and shows up on the request.

GitHub

The deploy script sets it to Fixed, and a workflow posts in #support.

SDK and workflows

Engineering questions, plainly.

How is priority weighted?

However your team decides. Priority is a formula over each request's own fields and rollups, like severity, customers affected and the ARR of the accounts asking. Sort a view by it and the order moves as feedback is linked.

Can an agent act on feedback without anyone approving it?

Yes. A post-conversation agent runs when a conversation ends, on the channels you choose, and writes without waiting. In a chat, Stella asks before it changes anything.

How are request IDs assigned?

Add an ID property with a prefix. Each new record takes the next number, like ISSUE-00042, records that already existed are numbered too, and nobody can type over one.

Does it connect to GitHub?

Yes. Connect a repository, and a pull request that names a request's ID, like ISSUE-00057, in its branch, title or description shows on that request with its status. GitHub issues and pull requests can also sync into tables of their own.

What can the MCP server change?

It reads with an MCP key. It creates and updates records only when the key also holds records:write, and the same goes for documents and conversation status.

How do we keep our own tracker in step?

Subscribe a webhook to record.created and record.updated. Each update carries the previous and current value, arrives signed, and the SDK checks the signature before your handler runs.

Build what weighs most, first.

Live feedback, a queue your team weighted, and the code that closes it, in one workspace.

Plans from $39 a seat a month, billed annually. See pricing

One subscription instead ofThe glue between customers and engineering
  • Feedback boardLive feedback on requests
  • Prioritization spreadsheetFormulas and rollups
  • Support-to-eng threadsLinked conversations
  • Glue automationsSigned webhooks
  • Admin scriptsSDK and CLI
  • AI add-onAgents with your rules