How It Works
- storekit sends order lifecycle events to your app:
order.createdandorder.acceptedcarry the full order;order.preparing,order.ready_for_pickupandorder.completedcarry just the id, code and new status. - Your app keeps one card per order and updates its column from each event.
- A browser page refreshes itself every few seconds and shows the cards in columns.
What You Need
- Webhooks enabled on your storekit plan (Settings → Developers).
- A Lovable or v0 account. Both need a backend for the webhook endpoint and a small database — the prompt asks the builder to deploy one and give you its URL. Replit also works.
- A screen with a browser (a TV with a cheap stick, an old iPad or laptop).
Step 1: Build the App
Paste the whole block into the builder in a single message. Adjust MY BOARD first if you want a customer-facing or drinks-only variant.Either button opens the builder with the whole prompt below already filled in. Nothing starts until you press send, so read it through and edit the parts marked as yours first.
Full prompt (click to expand)
Full prompt (click to expand)
Step 2: Connect storekit
1
Open the webhooks portal
In the dashboard sidebar, go to Settings → Developers and click Manage Webhooks (it reads Enable Webhooks the first time). Webhooks are a subscription feature — if you see Upgrade to enable webhooks, contact support first.
2
Add your app as an endpoint
In the embedded portal, add a new endpoint, paste the webhook URL your app builder gave you, and tick only the event types the recipe needs.
3
Copy the signing secret into your app
Open the endpoint you just created and copy its signing secret. In your app builder, save it as the environment variable
STOREKIT_WEBHOOK_SECRET (builders call this “secrets” or “environment variables”). Redeploy if the builder asks you to.4
Send a test event
Use the portal’s test option on the endpoint to send a sample event. The delivery log shows the response code from your app. A
2xx means your app accepted it; anything else, read the response body in the log — it is usually a missing secret.order.created, order.accepted, order.preparing, order.ready_for_pickup, order.out_for_delivery, order.completed, order.rejected and order.canceled for this endpoint.
Step 3: Test With a Real Order
Open the board URL (with its token) on the screen, then place an order on your own storefront. The card appears in New; move the order through its statuses in the dashboard (see Managing Live Orders) and watch the card follow. Cancel a test order to see it disappear. If your store auto-accepts orders, the card will skip straight to Accepted, which is correct.Ideas
- Sounds: a chime when a card enters New, a different one when it enters Ready.
- Station boards: tag items by category (the builder can match on item name or
plu) and show one board per station, like the custom kitchen ticket does on paper. - Late-order alert: when a card turns red, post to Slack using the pattern from Order Alerts.
What This Does Not Do
- It cannot change an order. The board is read-only; accepting, marking ready and completing still happen in the dashboard or your till, which is what the built-in Kitchen Display is for.
- It only knows what the events say.
order.rejected,order.canceledandorder.out_for_deliveryare listed in the reference without a sample payload, which is why the prompt asks the builder to accept either shape. If a card does not move on one of them, check the webhook delivery log in the portal to see what was sent. - The URL is the key. Anyone with the full board URL can see live order codes, first names and items, so treat it like a password: do not share it outside the team, and change BOARD_TOKEN if a screen is lost.
- It starts empty. Orders placed before the endpoint was connected will not appear.
- It is your service. storekit support can confirm the events reached your URL and the response code; the board is yours.
Related
Order Events
Every order lifecycle event and payload.
Kitchen Display
storekit’s built-in bumpable kitchen screen.
Order Statuses
What each status means and how orders move between them.
Writing a Prompt That Works
The structure behind this prompt, and what to say when the builder gets it wrong.