← All clips · Administration
Approve an application from Telegram
PASSING GATE Venue ManagerAdministrator 13 steps · 98.3s · recorded Aug 30, 2:38 PM · 3499cea
This run has no video.
Speed
The whole inbound loop, for real: an application arrives, the staff card goes out through the adapter with three tokenized buttons, and the button press comes back the way Telegram sends it — a signed `callback_query` POSTed to /webhooks/telegram with the secret header — and approves the application without anyone opening the admin site.
← Get through the door Leave feedback on the app itself →
Source: e2e/scenarios/test_wf_approve_from_telegram.py:1
·
run 20260830T213703Z-3499cea · steps carry
start_ms/end_ms offsets into the video
Steps
-
Submitting also emailed the host and pushed a staff card to Telegram — neither of which anyone had to ask for.
-
Adapter mode MOCK: offline, deterministic, and every call recorded in `outbound_calls`. The live adapter records exactly the same rows — the console cannot tell you a comfortable lie about what was sent.
-
One `send_message`, three buttons, and the chat it was addressed to. The recorded request is what actually went on the wire, so in live mode this row shows the RESOLVED chat id and any rewritten button URL.
-
`intake:a:<token>` — 72-hour TTL, hashed at rest (only the recorded Telegram payload ever holds the plaintext), and burned by the first press. Approving and declining are different tokens.
-
Status `new_submission`. Nothing on this page is about to be clicked.
-
Secret header checked with hmac.compare_digest, `update_id` claimed in its own committed transaction, then the SAME handler registry the simulator uses. Fails closed: no secret configured means no row, no dispatch, no answer.
-
Telegram retries until it gets a 2xx, so the same press arrives more than once. The `update_id` is already claimed, so this answers 200 with the ORIGINAL result and runs nothing — the token is not double-spent and the state machine is never asked for approved → approved.
-
Approving edited the original card to `— ✅ ACCEPTED via Telegram` and swapped its dead accept/decline buttons for whatever is actionable next, so the chat never shows a button that no longer does anything.
-
`telegram_inbound_updates` is what says a press came off the WIRE: `inbound_webhooks.source` is `simulated` for both a real delivery and a replay, so provenance lives here and in the payload's `delivery: telegram_webhook`. The retry is absent — it was refused before it could become a second row.
Notes
Sign in to leave a timestamped review note. Notes land in the same review backlog as in-page annotations.
- No notes on this clip yet.
Run history (6)
- 20260830T214644Z-3499cea — passed · 3499cea
- 20260830T213703Z-3499cea — passed · 3499cea
- 20260830T183444Z-77584d6 — passed · 77584d6
- 20260830T182930Z-77584d6 — passed · 77584d6
- 20260830T180633Z-bd2e5e8 — passed · bd2e5e8
- 20260826T041025Z-eadc380 — passed · eadc380