Forkable
Arcade tools for Forkable — list this week's meals, browse menus, and pick what you want delivered
1.0.2Forkable Toolkit
Forkable is a workplace lunch delivery service; this toolkit lets an Arcade agent browse this week's meal schedule, explore menus, check dietary restrictions, and swap or skip picks on open deliveries.
Capabilities
- Delivery schedule: Retrieve upcoming delivery days with their current state (open, locked, delivered) and what meal is already assigned.
- Menu browsing: Fetch full menus—sections, items, prices, and modifier options—for any menu ID returned by the schedule.
- Dietary safety checks: Validate a prospective item against the signed-in user's dietary restrictions before committing to a pick.
- Meal management: Replace an existing pick with a different item, or skip a delivery day entirely while it is still open for changes.
Secrets
This toolkit requires two credentials that correspond to the user's Forkable account login.
-
FORKABLE_EMAIL— The email address associated with the Forkable account. This is the same address used to sign in to the Forkable web app or mobile app. No special permissions or account tier are required beyond an active account. -
FORKABLE_PASSWORD— The password for the same Forkable account. The toolkit uses this credential to authenticate on the user's behalf and perform actions (browsing, picking, skipping) that require a logged-in session. Because this is a raw account password, treat it with the same care as any high-sensitivity secret: store it only in Arcade's secret store, never in source code or environment variables.
Both secrets are obtained directly from the user's own Forkable login credentials—there is no separate API key or developer console involved. Store them in Arcade using the secrets guide at https://docs.arcade.dev/en/guides/create-tools/tool-basics/create-tool-secrets, or add them via the Arcade dashboard at https://api.arcade.dev/dashboard/auth/secrets.
Available tools(5)
| Tool name | Description | Secrets | |
|---|---|---|---|
Check whether picking this item (with the given modifier selections) would
conflict with the signed-in user's dietary restrictions.
Returns the list of conflict tags (e.g. `["dairy_free"]`) — empty if the
item is safe. Call this before picking the item as a meal to warn the user, or
to let the agent pick a different item. | 2 | ||
Fetch the full menu (sections, items, prices, modifiers) for one or more menu IDs.
Each item ships with the `item_id` and `menu_id` you'll need to pick it as your meal. | 2 | ||
List your upcoming Forkable delivery days and what's currently picked for each.
Each entry shows the delivery date, current state (open / locked / delivered),
the meal currently assigned to you (`my_pick`), and the menu IDs whose items you
can swap your pick to. Results are sorted by delivery date.
An entry whose `my_pick.piece_id` is empty has no meal allocated to you yet, so
there is no pick to swap on it; picking a meal only replaces an existing pick. | 2 | ||
Replace your assigned meal on one delivery with a different menu item.
Only works on deliveries that already have a meal allocated to you (a
non-empty `my_pick.piece_id`). Forkable's `replacePiece` mutation swaps an
existing pick; it can't create one from nothing — initial allocation
happens on the Forkable side.
The mutation returns the refreshed delivery; this tool surfaces the new pick
and the updated amount due. | 2 | ||
Skip a day — removes your assigned meal from a Forkable order.
Use only when the delivery is still open for changes (`locked: false`
and not `past_late_order_deadline`). | 2 |