--- title: shops.visitSteps | Doing Work API description: The shop's guided visit steps, in order: the eight defaults until the shop edits them. url: https://doingwork.work/docs/reference/shops-visitsteps/ --- # shops.visitSteps The shop's guided visit steps, in order: the eight defaults until the shop edits them. | | | |---|---| | Who | Agents can call this | | REST | `GET /v1/shops/visit-steps` | | MCP tool | `shops_visitSteps` | | Writes | no | | Area | [Shop](https://doingwork.work/docs/reference/#shop) | ## When to use it Use these when a worker is heading to, standing at, or just leaving a visit. Everything happens in conversation with the worker: there are no buttons for them to tap and no app to open. ## What to tell the owner Tell them what you found in plain words. Don't read back raw fields. ## Input | Field | Type | Required | |---|---|---| | `shop_id` | string (uuid) | yes | ## Example ```http GET https://doingwork.work/v1/shops/visit-steps?shop_id=00000000-0000-4000-8000-000000000000 ``` ## Output | Field | Type | Always there | |---|---|---| | `shop_id` | string (uuid) | yes | | `custom` | boolean | yes | | `steps` | array | yes | | `steps[].key` | string | yes | | `steps[].label` | string | yes | | `steps[].op` | ['string', 'null'] | yes | ```json { "shop_id": "00000000-0000-4000-8000-000000000000", "custom": true, "steps": [ { "key": "...", "label": "...", "op": "..." } ] } ``` ## Errors | Code | Status | What to do | |---|---|---| | `invalid_input`, `invalid_token`, `rate_limited` | | Can happen on any call. See [errors](https://doingwork.work/docs/errors/). |