Inspiration
A task being assigned does not prove that someone accepted the customer promise behind it. RelayDesk makes that acceptance boundary visible and durable.
What it does
RelayDesk turns an incomplete request into an acceptance-gated customer commitment. It asks for one blocking fact at a time, compiles the exact outcome, definition of done, approval owner, and due point, then offers that commitment only to an eligible configured owner. The owner must accept with a promised checkpoint or decline with a bounded reason. A reoffer gets a new assignment ID, so an old response or delayed task cannot close the replacement offer.
How we built it
The Node service runs on Cloud Run. Gemini 3.5 Flash through Vertex AI creates a structured work packet from operator-confirmed synthetic facts only. Firestore preserves the versioned event ledger. Cloud Tasks schedules an OIDC-authenticated wake whose payload is bound to the current assignment ID.
Challenges we ran into
The important engineering constraint was keeping model output useful without letting it invent owners, availability, customer facts, or routeable capabilities. We constrain Gemini to one approved capability bundle, then select a configured synthetic owner deterministically. Invalid output stops for review.
Accomplishments that we're proud of
In the live synthetic trace, the first owner declined for a bounded production-freeze reason; the system preserved that receipt, reoffered the same commitment to the next configured owner, ignored the delivered stale OIDC task, and recorded the replacement owner's acceptance checkpoint.
What we learned
An autonomous workflow is safer when its model proposes within a small, verifiable policy surface and every external-looking handoff has an explicit receipt.
What's next for RelayDesk
Replace the synthetic directory only with an approved real policy source, then add carefully permissioned integrations for actual team workflows. The demo intentionally uses no real client data and sends no external messages.
Log in or sign up for Devpost to join the conversation.