the honest state of the build, per surface. muted cards are the ones not built yet; notes ride only the shipped ones.
the honest
state.
meeting platforms
zoom
zoom web sdk as a real participant, with the browserbase join as the fallback path. chat, reactions and raise hand all work; waiting room: she joins and waits.
google meet
browserbase join engine, anonymous by default.
microsoft teams
browserbase join engine, anonymous guest path.
discord
the room watch is live: one gateway connection per server reads voice states and scheduled events. joining the call itself is planned.
slack
live_links scans slack channels for links posted in real time. joining a huddle is planned.
ringcentral
bluejeans
webex / gather.town / others
calendar sync
google calendar
automatic meeting discovery, connector-triggered sync workflow, sync tokens.
apple calendar
caldav, pulled per cycle from its own creds; unset creds are skipped, never faked.
microsoft calendar
outlook via the graph api, per cycle; the same skip rule.
notion
calendar source wired into the scheduler alongside the others.
cal.com
v2 bookings api as a calendar source.
zcal
via the host calendar: the booking lands on the host's calendar and she reads it there.
registration through
lu.ma
she registers first, then reads: events that expose the link to registered guests are joined immediately; events that hold it until confirmation hand it to the inbox path.
calendly
the integration service syncs events and extracts meeting links.
cal.com
v2 bookings api: the booking and its join link arrive as a calendar source.
zcal
via the host calendar, the same way calendar sync reads it.
eventbrite
zoom webinars / teams live events
consent
necessary-only cookies
she picks reject-all / only-necessary from the banner's buttons; an accept-only banner is left standing and reported. the walk rides every navigation.
no newsletters
opt-in boxes are never checked; opt-out boxes are always hers and she ticks them, recorded on the receipt.
source links through
forward the invite to her dedicated agentmail address; the webhook parses it and the meeting url is found.
imessage (photon.codes)
hmac-signed webhook, anne-only whitelist, relay back on the same conversation. needs the photon project creds and webhook registration to go live.
slack channels
scanned for links posted in real time.
discord channels
scanned the same way; the room watch covers the calls themselves.
forums
subreddits, discourse forums, mlh events.
calendar itself
a calendar event that carries its own join url is sourced directly.
chat posts in-meeting
once she is in a meeting, links posted in chat are captured.
relay information back
email (agentmail outbound)
the take-home goes to the owner's address using the creds she already has from the inbound side.
imessage
signal
telegram
line
slack dm
discord dm
sms
streaming coverage
twitch
the obs bridge speaks the obs protocol; she goes live as a stream session with the camera toggle honest.
kick
same obs bridge: adding a platform was adding a file.
youtube live
social media presence
calls (meeting / livekit)
youtube — long form
4k supported; burned captions live in the bottom tenth.
youtube — shorts
up to 3 mins, with top and bottom ui safe bands.
youtube — thumbnail
the duration badge covers the bottom-right corner: nothing critical there.
twitch — vod / republish
the to-youtube republish is a corner-cam composite, not a crop.
tiktok — vertical
top and bottom ui safe bands.
instagram / facebook — reels / stories
same shape as shorts.
instagram / facebook — feed
instagram / facebook — carousel
pinterest — standard pin
recaps
youtube unlisted link
the video is fetched, assembly.ai transcribes it, retelldb ingests it, capture requests are answered against it.
youtube live recap
the same pipeline on the live vod once it exists as a recording.
twitch rewatch
the transport is real and covers twitch vods, but the end-to-end pass has not been exercised on one yet.
sequel.io link rewatch
pre-meeting
capture requests
pre-assigned per meeting: what to fetch, what to ask, what to mark attendance.
expiry urgency from the words said
she extracts the window the speaker actually gave and it lands on the capture row and in the notify subject.
prepared questions
assigned pre-meeting; asking them out loud is the voice transport.
colloquial timezone conversion
"3pm ist", "tomorrow 9am pt" style prose converts through the source zone exactly once.
the docket
not a schedule: each meeting is a watch with approximate details, regenerated from the live list every cycle.
doc access
pre-meeting doc fetching for context she should walk in with.
join delay scheduling
the default trigger: she joins n minutes after start, set per meeting.
participant-triggered join
hold until n humans are already inside, read from the pre-join page.
profile / persona selection
during joining
waiting room handling
"asked" is not "in": success is the in-call ui being seen. nobody answering means she asks again on a bounded cadence.
join triggers
delay (the default), participants, or room_open from the discord watcher.
auth modes
anonymous by default; a zoom signature when the meeting wants one; registration-gated events follow register-then-source.
zoom registration links
she fills the form in a side session, reads the real join link off the confirmation page, and joins that.
camera off
she joins silently: camera off by default, always.
mic off
mic off by default; it turns on only for the voice feature's speaking turns.
late join
she joins ongoing meetings gracefully.
join url safety
the redirect chain is walked in house, marketing params stripped, every hop re-gated; it fails closed on loops.
one bot per meeting
the deploy claims the row before the join runs, as a lease with a heartbeat.
post joining
attendance via chat
"present!" style messages in the meeting chat, per the meeting's attendance method.
attendance via form link
pre-set attendance forms are filled; the fill is recorded as the attendance receipt.
attendance forms found in chat
a form link posted in-meeting that the host language marks as attendance is filled.
chat monitor
installs the moment the page says she is in the room; idempotent, so no double-reporting.
transcript retrieval
assembly.ai transcription through the meeting transcript pipeline.
capture request answering
keywords watched in chat and transcript; screenshots on request; answers recorded per request.
term detection
codes, access info, and other take-home terms picked from the live text.
host identification
the host name is read from the room and carried into the take-home.
relay back to owner
the notifyOwner seam. the imessage relay is built and whitelist-gated, awaiting a live run.
interactive participation
q&a flow
she waits for the "any questions?" moment, watches raised hands, asks permission in chat, and posts her question in the window.
raise hand
zoom web sdk participant path.
chat messages
she posts in meeting chat: questions, attendance marks.
chat dm to one person
a dm that cannot be made is never broadcast as a fallback — the host's chat setting is the honest gate.
screenshare control
from a cloud browser she shares the page's own view, no standing vm.
reactions
zoom web sdk participant reactions.
asking out loud (voice)
the q&a flow coordinates when to speak; the livekit audio transport does the speaking.
breakout rooms
screenshare awareness
take home
full transcript
the complete transcript, searchable; assembly.ai is the engine.
capture answers
every capture request answered with what was found.
answers with timestamps
h:mm:ss citations back into the transcript.
the questions you asked her to ask
the answer to each prepared question, quoted from the room.
attendance receipts
message text, sent time and status, and trigger for every attendance mark.
codes and access info
take-home terms relayed verbatim, never paraphrased.
screenshots
captured on request, stored, linked in the take-home.
summaries
a summary is never sent unless the owner specifically asked for one.
form platforms she can fill
google forms
the only one live-proven: the attendance flow runs on it end to end.
tally.so
real dom radio inputs and a real submit button inspected. never live-filled.
surveymonkey
the per-screen advance loop is built; recaptcha on free plans can stop her cold. never live-filled.
typeform
the same advance loop, one question per screen. never live-filled.
jotform
fillout
airtable forms
microsoft forms
unsuccessful attempts
the waiting room never answers
she asks again on a bounded cadence, every ask counted; still ignored is waiting_room, not failed.
the join attempt fails
the failure is recorded honestly, the reason kept; a retry ladder is planned.
a shared file she cannot open
she tries the request-access flow and asks the host in the chat by name; one attempt per link per meeting.
a promo code with no place to apply it
improved understanding
technical term detection
codes, access info, and jargon pulled from the live text verbatim.
multilingual: hinglish transliteration
hinglish renders latin script, phonetically written; devanagari never in the take-home.
multi-speaker transcript parsing
diarization with speaker labels end to end: capture hits carry the speaker, host reads carry the name.
screenshare, voice, and chat hand in hand
chat and spoken prompts count equally in the q&a flow; the chat monitor runs beside the transcript.
persona context
on the horizon
voice: her own phone number
context across calls
payments: the two rails
the kernel rail (persistent wallet card plus one ephemeral capped card per checkout) and the agentcard rail (one-time capped card, dead in 7 days) share one walk. handoff fires only on the card gate plus a promo code, and completes only on a parsed $0 total.