← All screens

Share Extension — dispatch from anywhere.

iOS share sheet target. Selected text, URLs, images and clipboard land in Front Desk with a pre-computed route. Three states: confident routing, ambiguous (two-candidate variant inline), and the outbox sheet for queued shares.

01

Confident · Safari share

Shared a Stripe docs URL while debugging Salt & Shade payouts. Decision card pre-computed; one tap to dispatch.

stripe.com/docs/connect/payouts

Payout schedules and delays

stripe.com · docs · 4 min read

Payouts arrive on a rolling 2-business-day schedule by default. If the destination bank is in a country with delayed clearing, expect 5–7 business days for the first…

To change the payout schedule for a connected account, call accounts.update

9:41
Previewog:title + host + path, no scraped body. Privacy-respecting; the agent fetches the URL after dispatch.
DecisionSame visual contract as decision cards in chat — accent rail, confidence, one-line reason.
3 actionsDispatch sends now, Inbox defers, Later creates a reminder. No "save draft" — the note IS the draft.
02

Ambiguous · Mail share

Shared an email from "the bank." Two candidates within margin — the 3d two-candidate card lives inside the sheet.

Q3 documents · loan extension

AB
Anna Berg · Nordea
to Jonas, Lisa · 9:18 AM
9:18

Hi Jonas,

To process the extension we need the Q3 P&L and the updated covenant schedule signed off by Lisa. Anything before Friday 14:00 works.

— Anna

9:41
Amber railSame visual contract as the in-chat ambiguity card. User sees "needs you" before reading.
Primary CTAUpdates to "Dispatch to Yemaya" as soon as the user taps a candidate. Single decisive action.
Escape"Neither" sends to inbox with no route. Never silently routes to a guess.
03

Outbox · queued shares

Returned from offline. The outbox surface (deferred from 4a) lists queued dispatches — retry, edit route, or discard.

9:41

Outbox

3 queued · syncing now
Ye Yemaya · Board Prep SENDING
Reply to Lisa about the AGM agenda — short, confirm 14:00
queued 12:08 · 12 min ago
SS Salt & Shade · Payouts QUEUED
Shared URL · stripe.com/docs/connect/payouts
queued 12:14 · 6 min ago
RC Remote Claude · API FAILED
Shared image · screenshot-edge-runtime-error.png
queued 11:42 · 38 min ago · target archived
No silent lossFailed shares stay in the outbox until the user resolves them. Discard is a real button — never auto-deletes.
Re-routeOpens the routing sheet pre-loaded with the payload — fast path to fix a stale target.
SurfaceLives behind the outbox pill in chat chrome (offline state). Same shape on push notification tap.
Tier 1.0 Native iOS · ShareViewController + App Group container Inputs NSURL · NSString · UIImage · text/* · contact/event payloads Storage App Group `group.frst.frontdesk.outbox` (shared with main app)