Recued
Menu
← Back to recipes

Turn new form submissions into queue numbers

by recued-core v2 56 views

Use “Turn new form submissions into queue numbers” in Recued. Reads the submissions your Reception form has taken but not yet placed, routes each to the service type its answer names, and issues one ticket per person. Re-running is safe — a person already in line converges on the number they already hold.

Complete workflow

Queue Desk 18 pinned recipes

Use Queue Desk in Recued to run a take-a-number line. A visitor picks a service type on your public Reception form, gets a number and a link that shows how many are still ahead, and staff call the next person from any paired device. It includes 17 built-in actions and 17 ready-to-run workflows. Actions that change data use Recued's approval controls.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

Use “Turn new form submissions into queue numbers” in Recued. Reads the submissions your Reception form has taken but not yet placed, routes each to the service type its answer names, and issues one ticket per person. Re-running is safe — a person already in line converges on the number they already hold.

pack:queue-deskqueueintakesweep
by recued-core pinned v2

Use “Add a service type to the desk” in Recued. Creates one queue a visitor can pick on your Reception form — its ticket prefix, the answer value that routes to it, and the serving session numbering starts from.

pack:queue-deskqueuesetup
by recued-core pinned v1

Use “Service types on the desk” in Recued. Lists every queue with its prefix, session, and status, and gives each row the actions that operate on it — the list is how you reach a queue, since no screen here is addressable by a record id.

pack:queue-deskqueueboard
by recued-core pinned v1

Use “Start a new serving session” in Recued. Rolls one service type onto a fresh session key and opens it, so numbering restarts at 1 without deleting a single ticket — yesterday's line stays readable, it just stops counting.

pack:queue-deskqueuesession
by recued-core pinned v4

Use “Reset the whole desk for a new shift” in Recued. Rolls every open service type onto a fresh session in one act, so numbering restarts at 1 across the floor. Optionally closes out anyone still in line from the shift that just ended.

pack:queue-deskqueuesessionshift
by recued-core pinned v4
Show all 18 recipes

Use “Stop issuing numbers for a service type” in Recued. Closes one queue so the sweep stops turning submissions into tickets. People already in line keep their numbers and can still be called.

pack:queue-deskqueuesession
by recued-core pinned v4

Use “Register a serving counter” in Recued. Adds one position that can take people off the line. Its name is the exact text written onto a ticket when it calls the next number.

pack:queue-deskcountersetup
by recued-core pinned v1

Use “Serving positions on the floor” in Recued. Lists every position with what it serves and whether it is open, and gives each row the actions that operate on it — the only way to reach a position without already knowing its id.

pack:queue-deskcounterboard
by recued-core pinned v1

Use “One number, in full” in Recued. Opens a single ticket — its number, its place in the line, everything the visitor told you, and every timestamp — with the actions that move it. This is the screen that settles “I was here before them”.

pack:queue-deskqueueticketdetail
by recued-core pinned v1

Use “Open or close a serving counter” in Recued. Both directions live here, so a counter you close at lunch is one you can open again.

pack:queue-deskcounter
by recued-core pinned v4

Use “Give someone a number” in Recued. Puts one person in a line without them filling in the form — the walk-in at the counter, the caller on the phone, the name your assistant was just given. Answers with the number and how many are ahead of them.

pack:queue-deskqueuedeskwalk-in
by recued-core pinned v1

Use “Your place in the line” in Recued. It is the viewback page behind the link on a visitor's receipt, and it reads only — the number that was issued, how many are still ahead, and which counter has been called. It can be refreshed as often as they like.

pack:queue-deskqueueviewbackreception
by recued-core pinned v1

Use “The line for one service type” in Recued. Shows who is waiting in a queue's current session, who is at which counter right now, and gives every row the actions that move it.

pack:queue-deskqueueboardcounter
by recued-core pinned v1

Use “Call the next number” in Recued. Takes the person who has waited longest in one service type and puts them at your counter. Two positions pressing it at the same instant cannot both take the same person — the second gets a conflict and calls again.

pack:queue-deskqueuecounter
by recued-core pinned v4

Use “Finish serving a number” in Recued. Closes one ticket as served and stamps when. It stays in the session so the day's line can be read back.

pack:queue-deskqueuecounter
by recued-core pinned v4

Use “Pass a number that did not turn up” in Recued. Marks one ticket skipped rather than deleting it, so a no-show stays visible and can be recalled if they reappear.

pack:queue-deskqueuecounterno-show
by recued-core pinned v4

Use “Put a passed number back in line” in Recued. Returns a skipped ticket to waiting and clears the counter it was called to. Its original join time is untouched, so it goes back to the place it had earned, not to the end.

pack:queue-deskqueuecounterno-show
by recued-core pinned v4
View pack details, dependencies, and permissions →

This is the only thing that writes a ticket, and it runs SERVER-SIDE with your authority — which is the whole reason it exists as a separate recipe. A public form's own door is pinned to a read ceiling (an anonymous stranger must never be able to write to your store unapproved), so the submission is durable the instant the visitor presses submit and this sweep turns it into a number a moment later.

Enable its data.reception.intake_form.request.created trigger so it fires on arrival, and also schedule it every minute or two: the trigger is the accelerant, the schedule is the truth. A submission whose service_type matches no open queue is left alone in received for you to look at, never silently dropped.

It marks each placed submission accepted so the next run does not re-list it. Your form must offer a service_type field whose option values equal each queue's pick_value.

How it works 34 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Process (34 steps)
■ endpoint_id trim
Trim whitespace from setting endpoint id
⚠ endpoint_guard guard
Stop if endpoint id is empty
◆ queues recued-core.queue-desk.queue.search
Search queue on queue desk
■ queues_open filter
Filter by condition
■ has_queues compare
Check if queues open has data
⚠ queues_guard guard
Stop if has queues equals
◆ pending core.data.form-response.list
List data form response
■ pending_rows sort
Sort by submitted_at
■ has_pending compare
Check if pending rows has data
⚠ pending_guard guard
Stop if has pending equals
◆ details core.data.form-response.get
Get data form response
■ answered filter
Filter by condition
■ flat map
Extract from each item
■ answers enrich_by
Apply enrich_by
■ routed enrich_by
Apply enrich_by
■ split partition
Apply partition
■ default_id trim
Trim whitespace from setting default queue id
■ default_match filter
Filter by condition
■ default_rows map
Extract from each item
■ unrouted map
Extract from each item
■ defaulted enrich_by
Apply enrich_by
■ all_routed flatten
Flatten nested lists in
■ placeable filter
Filter by condition
■ unroutable filter
Filter by condition
◆ issued recued-core.queue-desk.ticket.create
Create ticket on queue desk
■ placed filter
Filter by condition
■ rejected filter
Filter by condition
■ has_placed compare
Check if placed has data
◆ accepted core.data.form-response.set-state
Set state data form response
skip: step.has_placed equal false
■ placed_ids pluck
Extract item.submission_id from each item
■ rejected_ids pluck
Extract item.submission_id from each item
■ unroutable_answers pluck
Extract service_type from each item
■ pending_ids pluck
Extract submission_id from each item
■ card to_summary
Format results as a summary card
▼
Output
summary card
Settings 3 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

batch limit setting = 50
endpoint id setting = [object Object]
default queue id setting =

Uses (5 operations)

Pack operation Search queue on queue desk recued-core.queue-desk.queue.search
Form responses List data form response core.data.form-response.list
Form responses Get data form response core.data.form-response.get
Pack operation Create ticket on queue desk recued-core.queue-desk.ticket.create
Form responses Set state data form response core.data.form-response.set-state

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

What it's allowed to do

Write Pack Queue Desk external change
Read: queue.search · No approvalWrite: ticket.create · No approval
Read Form responses core.data.form-response.list read-only
Read Form responses core.data.form-response.get read-only
Write Form responses core.data.form-response.set-state external change

Data it touches

SurfacesForm responses
Warehousedata.formdata.reception

About

Tags

pack:queue-deskqueueintakesweepreception

Details

34 steps 3 configurable settings recipe_id: issue-queue-numbers