howtodistribute
← Back to the index

How Grain got its users

COPYABLEViral productstartupb2bno ads
Visit grain.com

The bot joins the call and shows itself to every participant. Each recorded meeting is a demo in front of several prospects.

Read from signals. Consistent with what is publicly observable, but nobody confirmed it. Check before you quote it.

Can you run this?
COPYABLE

You could start this on Monday. No budget, no audience, no permission needed.

Your time
12 months
Your money
Very little
First signal
4 months
Upside
  • An acquisition cost that trends toward zero
  • Growth that survives you cutting the budget
Price of entry
  • A moment where the user has a selfish reason to share
  • Zero friction for the recipient
  • A product that is multiplayer by nature

Viral product in 2026

The best channel when it exists. But it is decided in product design, not in marketing.

Everything on this channel →

The play

5 steps, in the order they ran them.

  1. 1

    Put a named body in the shared room, not just a row in your customer's dashboard. Grain's bot joins Zoom, Google Meet, Microsoft Teams and Webex as a participant everyone can see in the list, and its display settings let you set the bot's name, a message it posts into the meeting chat when it connects, and a video tile carrying a logo and a line of text. Find the space your product already touches where your customer sits with people who are not customers: a call, a shared doc, a board, a ticket queue, a repo. Give your software a visible presence there with a name and one line of text. The whole point is that non-payers watch it do work in real time, for free, for an hour.

    done whenJoin a session of your own product as an outside guest and count how many times your name is visible before anyone clicks anything. If the count is zero, you have no body in the room and nothing to copy here yet.

  2. 2

    Aim the automatic behaviour at sessions that contain outsiders. Grain compares participant email domains against the workspace domain and labels each meeting internal (everyone on your domain) or external (at least one outside domain), then lets capture, sharing and recap emails be set separately per type. External meetings are the ones holding prospects, clients and partners, and those are the ones worth turning on by default. Build the same split into your product: check attendee or collaborator domains against the account's own, and make the outsider case the one where your product shows up on its own, not the one a user has to remember to switch on.

    done whenYou can pull, today, the share of sessions in your product that include at least one email domain that is not the account's own. If nobody has ever run that query, your automatic behaviour is pointed at nobody in particular.

  3. 3

    Mail the output to the people who are not paying you. After a bot-captured meeting Grain auto-sends a recap email, and the setting is explicit about who gets it: all participants, internal participants only, workspace members only, or nobody. The 'all participants' option drops a summary carrying your name into the inbox of every outsider who was on the call, and the recording page carries a separate follow-up email action marked for external meetings only. Copy the default, not just the feature: when your product finishes producing something, send it from your domain to the non-users who were involved, rather than hiding it behind a checkbox nobody finds.

    done whenSearch your outbound email logs for one message that landed with an address holding no account. If every recipient is already a customer, nothing is leaving the building.

  4. 4

    Ship the unit of value as a URL that renders for a logged-out stranger, and hand over an iframe with it. Grain's own help page says it flatly: anyone with a clip link can watch it, no Grain account required, and link access has an 'anyone with link' mode. The clip menu also offers 'copy embed iframe', so the clip can be pasted into a page you do not own. Cut your product's output into a small piece someone would actually forward, a clip, one chart, a single answer, host it on a page that works with no session, and give both the link and the embed code in the same menu.

    done whenOpen your own share link in a fresh private window with no session. A login wall, an endless spinner or a broken player means the artifact cannot travel.

  5. 5

    Keep your mark on free output, and never charge anyone to watch. Grain's pricing comparison lists 'Remove watermarks', 'Custom branding' and 'Customize your personal AI recorder' as paid rows, so a free workspace hands out recordings and a recorder wearing Grain's own look, and it carries a row for unlimited free viewer seats so watchers never need a paid seat. Then there is the hook: a workspace setting called 'Recording duplication' lets non-members save a recording shared with them into their own workspace so they can clip it. Do all three: charge to remove your name, keep viewing free forever, and put one action on the viewer page that only works once the viewer has an account of their own.

    done whenAsk what a free account hands to a stranger. If your name appears nowhere on free output, or if watching costs money, your free tier is an expense with no way back to you.

The product itself

read from grain.com, live

The AI notetaker for agents and teams

free tier315 public pages

Run this against your own product

In your chat

Carries the play above, and is written to tell you no when this channel is out of reach for you.

In your editor

The same twelve channels as an agent skill. It reads your repository and eliminates what you cannot run. Open source, MIT.

curl -o ~/.claude/skills/howtodistribute/SKILL.md https://howtodistribute.com/skill.md

Venture funded

What else they ran

They ran the same play

Want this verdict on your product?

Describe it. You get back the channel I would run in your place, the 30-day plan, and the number at which you stop.