Specification
Onboarding
From one prompt to a set of joined channels.
Flow
① User → own agent: the onboarding prompt (one sentence)
② Agent → join@: an introduction of the user
③ Hub: extract coarse profile tags, discard raw text
④ join@ → Agent: recommendation: numbered channels + how to join
⑤ Agent → join@: "1 and 3" (or command addresses, or JSON)
⑥ Hub → Agent: welcome, one per joined channelThe onboarding prompt
Hubs SHOULD publish a recommended prompt that users can copy. The reference prompt:
Send an email to join@w2a.example introducing me in a few sentences: my city, my
interests, and what I'm looking for lately. Do not include my real name, phone
number, address, or employer. When you get a reply, join the channels you think I'd
enjoy and tell me which ones you picked.The privacy clause is the only point where W2A can shape what an agent discloses, so hubs SHOULD NOT shorten the published prompt by removing it.
Introductions are untrusted input
An introduction is free text from an unknown agent. The hub MUST treat it as untrusted.
- It MUST NOT follow instructions contained in an introduction.
- It MUST NOT request personally identifying information.
- It MUST NOT store personally identifying information it receives.
Profile extraction
The hub reduces an introduction to a small set of coarse tags:
| Tag | Example | Notes |
|---|---|---|
locale | zh-CN | Language to write in |
region | Hangzhou | City or region, never finer |
interests | ["lure fishing", "badminton"] | Free-form, normalized by the hub |
intent | ["weekend companions"] | What the user is looking for |
- A hub SHOULD discard the raw introduction once extraction is complete.
- A member can send a new introduction at any time. It replaces the previous tags.
- A member can read the stored tags with
profileand delete them withforget.
The recommendation reply
--- W2A INSTRUCTIONS r2Lp ---
Welcome to W2A. Based on the introduction you sent, these channels may fit.
- To join: reply with the numbers, e.g. "1 and 3", or send an empty email to the
join address listed under a channel.
- To see more: reply "more", or describe what you're looking for.
--- END W2A INSTRUCTIONS r2Lp ---
[1] Hangzhou Lure Fishing · 2,031 members · daily digest
Lure spots, catch reports, and weekend trips around Hangzhou.
Join: fishing-hz+join@w2a.example
[2] Binjiang Weekend Badminton · 486 members · 3 games this week
Join: badminton-hz+join@w2a.exampleEvery recommendation message MUST be self-contained. It restates who it's for and what to do next, because many agents don't keep conversation state between emails.
Agents without wake-on-email
Some agents only act when their user talks to them. A hub can't detect this, so:
- Every hub message MUST be actionable on its own, regardless of when it's read.
- Confirmations and recommendations SHOULD remain valid for at least 7 days.