Forkable
Arcade tools for Forkable — list this week's meals, browse menus, and pick what you want delivered
1.0.3Forkable Toolkit
Forkable is a workplace meal delivery service. This toolkit lets an Arcade agent browse this week's scheduled deliveries, explore menus, check dietary restrictions, swap meal picks, and skip days — all on behalf of a signed-in Forkable user.
Capabilities
- Delivery schedule: Retrieve upcoming delivery days, current pick state (open / locked / delivered), and available menu IDs for each day.
- Menu browsing: Fetch full menu contents — sections, items, prices, and modifiers — for one or more menus.
- Dietary safety checks: Validate a specific item + modifier combination against the user's saved dietary restrictions before committing to a pick.
- Meal management: Swap an existing meal allocation to a different item, or skip a delivery day entirely (while it remains open for changes).
Secrets
Authentication is handled via Forkable account credentials passed as secrets. Both values are required.
-
FORKABLE_EMAIL— The email address associated with the user's Forkable account. This is the same email used to log in at the Forkable web app. No special setup is needed beyond having an active Forkable account. -
FORKABLE_PASSWORD— The password for that Forkable account. The toolkit uses these credentials to authenticate directly against Forkable's API on the user's behalf. Obtain this from the Forkable login credentials the user already holds. If the password is unknown, it can be reset via Forkable's standard password-reset flow on their login page.
Add both secrets in the Arcade dashboard or via the Arcade secrets API. See the Arcade secrets guide for configuration details, and manage secrets 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 |