FlowRunner
PricingContact
Theme
Start Free

AirMenu

E-commerce

Connect AI agents to AirMenu, a digital menu and ordering platform for restaurants and hospitality venues. Agents publish menu changes, send and flag orders, run promotions and redeem codes, keep stock counts accurate, and configure which payment methods a venue offers.

25 actions Custom auth available
AirMenu website ↗ Platform Documentation ↗ Capability data verified 2026-08-04
A scheduled menu sync runs, or an approved price change lands in the source system
Get Enterprise and Get Division IDs resolve the venue and the division the menu belongs to
Get Menu returns the live tree for that division at the current weekly time
The proposed tree is compared node by node against the live one, matched on plu
Every item a till can charge for is confirmed to still carry its plu and a price
The venue manager receives the diff, the affected plus, and the resulting till prices
A person releases Save Menu before it replaces what the point of sale will accept

What This Integration Enables

AirMenu is a venue's menu and its ordering surface at the same time, which is what makes it worth automating and also what makes it worth being careful with. A menu here is not a marketing document. It is a tree of nodes carrying titles, prices, availability windows and plu codes, and the plu is the join key the point of sale matches on. Change the tree and you have changed what a terminal will accept and what a guest will be charged. The connector covers that whole surface. Enterprises, the venues themselves, are readable and writable through Get Enterprise and Save Enterprise. Menus are read through Get Menu for a division at a given weekly time and written through Save Menu, with Delete Menu Nodes for surgical removals. Orders are placed with Send Order, moved along with Activate Order Flag, and pushed to a terminal with Notify POS. Promotions, stock lots, user accounts, images and custom forms each have their own operations.

Two facts decide how a flow is built here. First, authentication has two parts: a 64 character API key sent as the KEY parameter on every request, plus an account email and password that the connector exchanges for a session automatically whenever an operation needs one. Enterprise, menu, order and user operations open that session; Send Order, Get Menu, Get Division IDs, Create Promotion, Redeem Code, Update Stock, Upload Image and Find Enterprises By Location do not, which is what lets a public ordering flow run without account level rights. Second, this connector has no triggers, and the reason is architectural rather than an omission: AirMenu delivers real time order notifications over a raw TCP socket rather than HTTP webhooks, so there is nothing for FlowRunner to subscribe to. New orders are found by polling, which means Get Order IDs across a time range on a schedule and Get Orders for the detail, with Export Mode selecting which pending export batch you want. Timestamps are Unix milliseconds throughout, and the weekly time used by Get Menu is milliseconds since Sunday at midnight. One clarification worth stating plainly, because the shape of the action list invites the wrong assumption: Configure Payment sets up or disables a payment method for a venue, covering EasyPay MB, MBWay, PayPal, PayPal Credit Card, Stripe and Stripe Sources. It configures payment. It does not move money, and no action in this connector does. Agents keep the menu, the stock and the order flags in step. The write that reaches a live till is where human-in-the-loop oversight belongs.

Without FlowRunner

Menus edited venue by venue The same seasonal price is retyped into each venue's menu tree, and one location is still selling last quarter's price on Saturday
plu drift nobody notices An item is renamed or re-nested in the menu, the code the till matches on changes with it, and the mismatch surfaces at the counter
Orders read out of a screen New orders are watched on a terminal and copied into the kitchen or the delivery system by whoever is nearest

With FlowRunner

One menu tree, reviewed once A proposed tree is diffed against the live menu before anything is written, and the same approved change reaches every venue in the group
The join key is checked, not assumed Every node the till depends on is matched on plu before a write, so a rename cannot quietly detach an item from its price
Orders pulled on a defined cycle Get Order IDs walks a time range and Get Orders returns the detail, so nothing depends on somebody watching a screen

Use Case Scenarios

A price change that reaches every venue without reaching the wrong item

A pricing decision is made once, in a spreadsheet or a back office system, and applies to eleven venues. The agent resolves each venue with Get Enterprise and its divisions with Get Division IDs, then calls Get Menu for the division at the relevant weekly time so it is comparing against what guests are actually being shown rather than against last month's export. It builds the new tree, matching every node to the live menu on plu rather than on title, because a title is a display string and a plu is what the till charges against. The diff it produces is in money and item names, not in JSON: eleven venues, thirty four items repriced, four items whose plu does not appear in the live tree at all. Those four are the interesting ones, because a plu that has no match is either a genuinely new item or a rename that would strand a node. A person sees that list before Save Menu runs, and the flow writes only the tree that was released.

Orders taken somewhere else, honoured here

A concierge app, a kiosk or a partner channel produces an order for a venue. The agent calls Send Order against the enterprise division with the item plus and counts, an optional booking time, and the customer's username, and receives back the order number, the order ID and a tracking URL it can hand straight to the guest. From there the order moves through the venue's own workflow: Activate Order Flag sets Accept, Deny, Ready or Picked with the operator's email recorded against each transition, Get Active Flags reads the current state back with its timestamps, and Notify POS pushes an alert to a specific terminal with an optional file URL for the terminal to fetch. Because there is no trigger to lean on, the flow keeps a scheduled poll running alongside this: Get Order IDs across the last interval, then Get Orders for anything new, so an order placed directly in the venue is picked up on the same cycle as one the agent created. Exceptions, a Deny or an order that sits unflagged past its booking time, go to the duty manager in Slack rather than into a report nobody opens.

A promotion the kitchen can actually honour

Marketing wants a voucher campaign live on Friday. Create Promotion takes locale keyed title and description objects, a validity window and an offer window as Unix millisecond timestamps, and an Offered Item Branch listing the menu node IDs the promotion grants. That last field is where campaigns quietly break, because it points at nodes in a menu tree that a separate flow may have rewritten since the campaign was drafted. So the agent reads Get Menu first and confirms every offered node ID still resolves, calls Update Stock to set the lots for the offered items with their consumable or reusable type and quantity so the kitchen has what the voucher promises, and only then creates the promotion. Redeem Code turns a guest's code into vouchers at redemption time and returns the voucher IDs, which the flow logs to Airtable alongside the campaign so redemption can be reconciled against stock afterwards. If an offered node has gone missing, the campaign stops and a person is asked which item replaces it.

Human-in-Loop Highlight

Save Menu with Delete All First enabled is the operation to gate, and it is worth being precise about why. Save Menu writes a hierarchical tree. With Delete All First set, it does not merge that tree into the existing menu, it replaces the menu with it. Any node not present in the payload is gone, and with it goes the plu binding that a point of sale terminal uses to price an item, the node ID that a live promotion's Offered Item Branch points at, and the availability window that kept an item off the breakfast menu. None of that fails loudly. The till simply stops recognising an item, or recognises it at a price the payload happened to carry. The failure mode that costs the most is not a missing item, it is a present one: a tree assembled from a partial export, where forty of sixty items carry the right price and twenty carry a default, replaces a correct menu with a plausible one, and the venue discovers it one ticket at a time during service. Delete Menu Nodes has the same edge with a smaller blast radius, since it identifies nodes by plu or title and a title match is exactly as fragile as it sounds. So the agent does the work and then stops. It reads Get Menu for the live tree, matches the proposal against it on plu, and posts the result to the venue manager in Slack as money and item names: "Menu publish for Harbour Kitchen, division Main Restaurant. 34 items repriced, largest change Seafood Platter 28.00 to 34.00. 4 items in the new tree have no matching plu in the live menu: Autumn Soup, Cider Braised Pork, Kids Pasta, Espresso Martini. 2 live items are absent from the new tree and would be removed: Summer Salad, Rose Spritz. Delete All First is on, so the live menu is replaced rather than merged. Publish as proposed, publish with the 2 absent items retained, or hold?" A person answers once and the agent writes only what was released. Configure Payment sits behind the same gate whenever Action is Disable, because switching off MBWay or Stripe for a venue removes a payment method guests are mid checkout with, and Lock User joins it too, since a locked user cannot place another order until somebody unlocks them. This is the digital andon cord placed on the one write in this connector that a guest experiences directly.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via Slack
Human decides
Agent resumes with decision

Agent Capabilities

25 actions

Enterprises

5
  • List Enterprises Returns the venues the configured account can manage with their IDs and display names. Opens a session from the account credentials automatically, so this is the natural first call in a flow that works across a group.
  • Get Enterprise Retrieves the full configuration of a single venue by ID, including name, address, contact, fiscal number, time zone, locale and coordinates. Read the time zone here before interpreting any order timestamp.
  • Save Enterprise Creates a venue or updates an existing one. Omit Enterprise ID to create and pass it to update. Enterprise Type accepts Restaurant, Hotel, Delivery, Golf or Other.
  • Get Enterprise POS IDs Returns the point of sale identifiers registered for a venue, which is how a flow targets one specific terminal in Notify POS rather than the venue as a whole.
  • Find Enterprises By Location Finds venues and divisions serving a location, resolved from an address or a postal code plus country, or from explicit coordinates, which override the address when both are supplied. Does not require account credentials.

Menu

4
  • Get Division IDs Returns the divisions of a venue, meaning the menu areas such as tables, rooms or delivery zones, as a name to ID map plus a hierarchical division tree. Does not require account credentials.
  • Get Menu Retrieves the active menu tree for a division at a given weekly time, including items, families, prices and availability windows. Weekly time is milliseconds since Sunday at midnight, so the same division returns a different menu at breakfast and at dinner.
  • Save Menu Replaces or updates a venue's menu with a hierarchical tree. Each node carries a title, a menuRelation of family, item, complement, complementItem, enterprise or complexItem, a price, a plu, availability and optional child nodes. Delete All First fully replaces the existing menu rather than merging into it, which is the setting to put behind a person.
  • Delete Menu Nodes Deletes specific nodes from a venue's menu. Each entry in Nodes To Delete identifies a node by its plu or its title, and a title match is the fragile one.

Orders

6
  • Send Order Places an order at a venue division on behalf of a customer, taking a list of items with plu, count and optional form fields, plus an optional booking time and customer username. Returns the assigned order number, the order ID and a tracking URL. Does not require account credentials.
  • Get Order IDs Returns the IDs of a venue's orders within a time range, filtered either by order date or by booking date, each as Unix millisecond timestamps. This is the first half of the polling pattern that stands in for a trigger.
  • Get Orders Retrieves order detail for a venue, either one order by ID or every matching order grouped by division. Export Mode selects which pending export batch is returned, covering Manual, Automatic or Disabled.
  • Get Active Flags Returns the status flags currently active on an order, such as accepted, ready or picked, with the operator and timestamp recorded against each one.
  • Activate Order Flag Sets a workflow status flag on an order. Flag accepts Accept, Deny, Ready or Picked, and the operator email is recorded with it, with an optional executor email alongside.
  • Notify POS Sends a notification to a specific point of sale terminal at a venue, optionally attaching a file URL for the terminal to fetch.

Users

4
  • Create User Creates an end user account identified by an email username. Leave Password empty to send an email invite, or pass the sentinel value to require a password on first login. Optionally attaches the user to a venue.
  • Lock User Locks a user at a venue, optionally storing form field values against the lock. A locked user cannot place further orders until somebody unlocks them, which is why this belongs behind a person rather than behind a rule.
  • Unlock User Unlocks a previously locked user at a venue and restores their ability to order.
  • Send Message Sends a message to a user through the AirMenu platform, optionally attributed to a specific employee.

Promotions and inventory

3
  • Create Promotion Creates a promotion or voucher campaign for a venue. Title and Description are locale keyed objects, validity and offer windows are Unix millisecond timestamps, and Offered Item Branch lists the menu node IDs the promotion grants. Confirm those node IDs against the live menu before creating, because a menu rewrite invalidates them silently.
  • Redeem Code Redeems a promotion code for a user at a venue and creates the resulting vouchers, returning their IDs. Does not require account credentials.
  • Update Stock Updates stock lots for a venue's menu items. Each lot references an item by plu with a type of consumable or reusable, an optional name, a quantity and optional start and expiration timestamps. Does not require account credentials.

Media, payments and forms

3
  • Upload Image Uploads an image to a venue, either as the venue image or, when a plu is supplied, as a menu item image. The image is fetched from a URL you provide and sent as base64 encoded PNG or JPG up to 500,000 characters. Does not require account credentials.
  • Configure Payment Configures or disables a payment method for a venue and optionally a specific division, covering EasyPay MB, MBWay, PayPal, PayPal Credit Card, Stripe and Stripe Sources, with method specific credentials supplied in the Parameters object. Action selects Configure or Disable. This sets up payment methods rather than taking payments.
  • Save Enterprise Form Configures or deletes a custom form on a venue and optionally a division. Forms attach input fields to a point in the ordering flow such as PlaceOrder, CancelOrder, Payment or OpenMenu, and Action selects Configure or Delete.

Frequently Asked Questions

What can FlowRunner do with AirMenu?

FlowRunner agents can run List Enterprises, Get Enterprise, and Save Enterprise in AirMenu, plus 22 more actions.

Does connecting AirMenu to FlowRunner require OAuth?

AirMenu uses a custom authentication method to connect to FlowRunner.

Can AirMenu trigger a FlowRunner workflow automatically?

AirMenu doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with AirMenu

$100 in credits. No card required. Connect in minutes.