MCP App Store
Productivity
20Tabs icon

20Tabs

by 20Tabs B.V.

Overview

Running a hospitality business means your answers are spread across reports, dashboards, and closing sheets. With the 20Tabs connector, you can just ask ChatGPT instead. Ask "What were my top sellers last week?", "How did April compare to March?", or "Show me all voided receipts from yesterday." You get a direct answer from your live 20Tabs data. No clicking through menus, no exporting spreadsheets. The connector covers the full breadth of your 20Tabs account: sales and revenue reports, taxbreakdowns, daily and monthly closings, customer purchase history, receipt and payment details, and product performance. You can also manage your catalog, floor plan, and POS configuration through the same conversation. Access is authorized through your 20Tabs account using OAuth. You control exactly which permissions ChatGPT receives.

Tools

areas_create

ChatGPT
Create a new area. Position is auto-assigned to the end of the list.

areas_create

ChatGPT
Create a new area. Position is auto-assigned to the end of the list.

areas_list

ChatGPT
List the venue's areas (sections of the floor plan, e.g. Patio, Bar). Includes the number of unarchived tables per area.

areas_list

ChatGPT
List the venue's areas (sections of the floor plan, e.g. Patio, Bar). Includes the number of unarchived tables per area.

areas_show

ChatGPT
Show a single area. Use tables_list with area_id to retrieve its tables.

areas_show

ChatGPT
Show a single area. Use tables_list with area_id to retrieve its tables.

areas_update

ChatGPT
Update an area's name or position.

areas_update

ChatGPT
Update an area's name or position.

categories_of_revenue_list

ChatGPT
List categories of revenue. Use the returned id as category_of_revenue_id in products_create / products_update.

categories_of_revenue_list

ChatGPT
List categories of revenue. Use the returned id as category_of_revenue_id in products_create / products_update.

closings_daily

ChatGPT
Returns the daily closing for a specific date, including revenue per category and cashflow.

closings_daily

ChatGPT
Returns the daily closing for a specific date, including revenue per category and cashflow.

closings_monthly

ChatGPT
Returns the monthly closing for a given year and month.

closings_monthly

ChatGPT
Returns the monthly closing for a given year and month.

customers_list

ChatGPT
Paginated list of active customers with last receipt timestamp and group memberships. By default returns id, name, locale, pinned, last_receipt_at, groups only; pass include_sensitive_data: true to include email/phone/address.

customers_list

ChatGPT
Paginated list of active customers with last receipt timestamp and group memberships. By default returns id, name, locale, pinned, last_receipt_at, groups only; pass include_sensitive_data: true to include email/phone/address.

customers_purchase_history

ChatGPT
Returns the receipt history for a customer within an optional date range.

customers_purchase_history

ChatGPT
Returns the receipt history for a customer within an optional date range.

devices_create

ChatGPT
Create a device. The 'kind' determines required fields and the shape of 'settings': register (subtype: register|handheld) — settings: timeout_seconds, default_view, enable_direct_sales, enable_future_orders. Requires quickselect_page_id. customer_facing_display — no settings. preparation_display (subtype: preparation|runner) — settings: preparation_chime, undock_state. Requires preparation_location_ids. kiosk — settings: timeout_seconds, success_timeout_seconds, fail_timeout_seconds, touchscreen, split_direction, start_message, pin, qr_after_checkout. backoffice_display — no settings. network_printer — settings: host, port, characters_per_line (>=40). bluetooth_printer — settings: characters_per_line (>=40).

devices_create

ChatGPT
Create a device. The 'kind' determines required fields and the shape of 'settings': register (subtype: register|handheld) — settings: timeout_seconds, default_view, enable_direct_sales, enable_future_orders. Requires quickselect_page_id. customer_facing_display — no settings. preparation_display (subtype: preparation|runner) — settings: preparation_chime, undock_state. Requires preparation_location_ids. kiosk — settings: timeout_seconds, success_timeout_seconds, fail_timeout_seconds, touchscreen, split_direction, start_message, pin, qr_after_checkout. backoffice_display — no settings. network_printer — settings: host, port, characters_per_line (>=40). bluetooth_printer — settings: characters_per_line (>=40).

devices_list

ChatGPT
List the organization's devices (POS registers, kitchen displays, printers, customer-facing screens). Filter by kind to narrow down. The returned settings hash is type-specific.

devices_list

ChatGPT
List the organization's devices (POS registers, kitchen displays, printers, customer-facing screens). Filter by kind to narrow down. The returned settings hash is type-specific.

devices_show

ChatGPT
Show a single device with its type-specific settings and the list of devices it has linked as children (e.g. printers and customer-facing displays attached to a register).

devices_show

ChatGPT
Show a single device with its type-specific settings and the list of devices it has linked as children (e.g. printers and customer-facing displays attached to a register).

devices_update

ChatGPT
Update a device. The kind (STI type) cannot be changed after creation. The settings hash is merged into the existing settings, not replaced — pass an explicit null to clear a key.

devices_update

ChatGPT
Update a device. The kind (STI type) cannot be changed after creation. The settings hash is merged into the existing settings, not replaced — pass an explicit null to clear a key.

me

ChatGPT
Return the current authentication context: organization, app, granted scopes. Useful for debugging or branching tool usage on available permissions.

me

ChatGPT
Return the current authentication context: organization, app, granted scopes. Useful for debugging or branching tool usage on available permissions.

orders_revenue

ChatGPT
Returns revenue totals for a date range, grouped by category, employee, device, or tax rate.

orders_revenue

ChatGPT
Returns revenue totals for a date range, grouped by category, employee, device, or tax rate.

orders_revenue_timeseries

ChatGPT
Returns daily revenue per category of revenue for a date range, useful for trend charts.

orders_revenue_timeseries

ChatGPT
Returns daily revenue per category of revenue for a date range, useful for trend charts.

payment_methods_list

ChatGPT
List payment methods. Use the returned id as payment_method_id in reports_payments / payments_search.

payment_methods_list

ChatGPT
List payment methods. Use the returned id as payment_method_id in reports_payments / payments_search.

preparation_locations_create

ChatGPT
Create a preparation location. preparation_states must include the required states 'unrequested', 'requested', and 'delivered'. Defaults to the standard kitchen flow if omitted.

preparation_locations_create

ChatGPT
Create a preparation location. preparation_states must include the required states 'unrequested', 'requested', and 'delivered'. Defaults to the standard kitchen flow if omitted.

preparation_locations_destroy

ChatGPT
Permanently delete a preparation location. Fails if it is still routing products or linked to a device.

preparation_locations_destroy

ChatGPT
Permanently delete a preparation location. Fails if it is still routing products or linked to a device.

preparation_locations_list

ChatGPT
List preparation locations (kitchens, bars, prep stations). Each location has a set of preparation states it tracks and an optional set of states that trigger printing. Use the returned id as preparation_location_id elsewhere.

preparation_locations_list

ChatGPT
List preparation locations (kitchens, bars, prep stations). Each location has a set of preparation states it tracks and an optional set of states that trigger printing. Use the returned id as preparation_location_id elsewhere.

preparation_locations_show

ChatGPT
Show a single preparation location along with counts of products routed to it and devices linked to it.

preparation_locations_show

ChatGPT
Show a single preparation location along with counts of products routed to it and devices linked to it.

preparation_locations_update

ChatGPT
Update a preparation location. When changing preparation_states the new list must still include 'unrequested', 'requested', and 'delivered'.

preparation_locations_update

ChatGPT
Update a preparation location. When changing preparation_states the new list must still include 'unrequested', 'requested', and 'delivered'.

preparation_states_list

ChatGPT
List the organization's preparation states (one row per canonical state: unrequested, requested, ready_to_prepare, preparing, prepared, ready_to_deliver, delivered). Each row carries the display label, button label, color, and visibility flag for kitchen displays.

preparation_states_list

ChatGPT
List the organization's preparation states (one row per canonical state: unrequested, requested, ready_to_prepare, preparing, prepared, ready_to_deliver, delivered). Each row carries the display label, button label, color, and visibility flag for kitchen displays.

preparation_states_update

ChatGPT
Update a preparation state's display attributes (color, label, button label, visibility). Preparation states are seeded one-per-organization and cannot be created or deleted via this API.

preparation_states_update

ChatGPT
Update a preparation state's display attributes (color, label, button label, visibility). Preparation states are seeded one-per-organization and cannot be created or deleted via this API.

product_categories_create

ChatGPT
Create a product category. Assign it to products with products_create / products_update.

product_categories_list

ChatGPT
List product categories. Use the returned id as product_category_ids in products_create / products_update, or as product_category_ids in reports_sales.

product_categories_show

ChatGPT
Show a single product category.

product_categories_update

ChatGPT
Update a product category's name.

product_option_groups_archive

ChatGPT
Archive a product option group so it no longer appears in unarchived lists. Fails if the group is still attached to any product.

product_option_groups_archive

ChatGPT
Archive a product option group so it no longer appears in unarchived lists. Fails if the group is still attached to any product.

product_option_groups_create

ChatGPT
Create a product option group. The 'kind' determines how its options behave: add_on/product_add_on append additional items to a receipt; option/product_option substitute or modify the parent product.

product_option_groups_create

ChatGPT
Create a product option group. The 'kind' determines how its options behave: add_on/product_add_on append additional items to a receipt; option/product_option substitute or modify the parent product.

product_option_groups_list

ChatGPT
List product option groups. Each group bundles a set of options (modifiers, side dishes, sizes) that can be attached to one or more products.

product_option_groups_list

ChatGPT
List product option groups. Each group bundles a set of options (modifiers, side dishes, sizes) that can be attached to one or more products.

product_option_groups_show

ChatGPT
Show a single product option group and the options it contains.

product_option_groups_show

ChatGPT
Show a single product option group and the options it contains.

product_option_groups_update

ChatGPT
Update a product option group. The kind (STI type) cannot be changed after creation.

product_option_groups_update

ChatGPT
Update a product option group. The kind (STI type) cannot be changed after creation.

product_options_create

ChatGPT
Add an option to a product option group. 'custom' options are free-form (name + price). 'product' options reference an existing product (price, tax, category, preparation location are inherited from that product unless overridden).

product_options_create

ChatGPT
Add an option to a product option group. 'custom' options are free-form (name + price). 'product' options reference an existing product (price, tax, category, preparation location are inherited from that product unless overridden).

product_options_destroy

ChatGPT
Permanently delete a product option. Receipt items keep their snapshot price/name, so historical receipts are unaffected, but the option will disappear from any group it was part of.

product_options_destroy

ChatGPT
Permanently delete a product option. Receipt items keep their snapshot price/name, so historical receipts are unaffected, but the option will disappear from any group it was part of.

product_options_update

ChatGPT
Update an option within a product option group. The kind (STI type) cannot be changed after creation.

product_options_update

ChatGPT
Update an option within a product option group. The kind (STI type) cannot be changed after creation.

products_create

ChatGPT
Create a new product.

products_create

ChatGPT
Create a new product.

products_option_groups_create

ChatGPT
Attach a product option group to a product. Idempotent: returns the existing join row if the group is already attached.

products_option_groups_create

ChatGPT
Attach a product option group to a product. Idempotent: returns the existing join row if the group is already attached.

products_option_groups_destroy

ChatGPT
Detach a product option group from a product. The option group itself is not deleted.

products_option_groups_destroy

ChatGPT
Detach a product option group from a product. The option group itself is not deleted.

products_top_selling

ChatGPT
Returns the best-selling products for a date range, ordered by number of times sold.

products_top_selling

ChatGPT
Returns the best-selling products for a date range, ordered by number of times sold.

products_update

ChatGPT
Update an existing product's attributes.

products_update

ChatGPT
Update an existing product's attributes.

quickselect_categories_create

ChatGPT
Create a category (tab) inside a quickselect page. Position is auto-assigned to the end.

quickselect_categories_create

ChatGPT
Create a category (tab) inside a quickselect page. Position is auto-assigned to the end.

quickselect_categories_destroy

ChatGPT
Delete a quickselect category. Cascades to its buttons.

quickselect_categories_destroy

ChatGPT
Delete a quickselect category. Cascades to its buttons.

quickselect_categories_update

ChatGPT
Update a quickselect category's name or position.

quickselect_categories_update

ChatGPT
Update a quickselect category's name or position.

quickselect_pages_create

ChatGPT
Create a new quickselect page. Position is auto-assigned to the end.

quickselect_pages_create

ChatGPT
Create a new quickselect page. Position is auto-assigned to the end.

quickselect_pages_destroy

ChatGPT
Delete a quickselect page. Cascades to its categories and buttons. Any register devices that pointed to it have their quickselect_page_id set to null.

quickselect_pages_destroy

ChatGPT
Delete a quickselect page. Cascades to its categories and buttons. Any register devices that pointed to it have their quickselect_page_id set to null.

quickselect_pages_list

ChatGPT
List quickselect pages. A quickselect page is a screen of fast-pick buttons that a register device displays. Use the returned id as quickselect_page_id when creating or updating a register device.

quickselect_pages_list

ChatGPT
List quickselect pages. A quickselect page is a screen of fast-pick buttons that a register device displays. Use the returned id as quickselect_page_id when creating or updating a register device.

quickselect_pages_show

ChatGPT
Show a single quickselect page with its categories and the buttons inside each category.

quickselect_pages_show

ChatGPT
Show a single quickselect page with its categories and the buttons inside each category.

quickselect_pages_update

ChatGPT
Update a quickselect page's display attributes or position.

quickselect_pages_update

ChatGPT
Update a quickselect page's display attributes or position.

quickselects_create

ChatGPT
Add a button to a quickselect category. The 'kind' picks the button type: product (requires product_id), voucher (requires voucher_id), manual (free-form item entry; settings may include default_name and default_price in cents), scan, search, buzzer (requires organization.use_buzzers), takeout (requires organization.takeout_setting.enabled).

quickselects_create

ChatGPT
Add a button to a quickselect category. The 'kind' picks the button type: product (requires product_id), voucher (requires voucher_id), manual (free-form item entry; settings may include default_name and default_price in cents), scan, search, buzzer (requires organization.use_buzzers), takeout (requires organization.takeout_setting.enabled).

quickselects_destroy

ChatGPT
Delete a quickselect button. The underlying product or voucher is not affected.

quickselects_destroy

ChatGPT
Delete a quickselect button. The underlying product or voucher is not affected.

quickselects_update

ChatGPT
Update a quickselect button's display attributes. The kind (STI type) and the underlying quickselectable cannot be changed; delete and recreate instead. settings is merged into existing settings.

quickselects_update

ChatGPT
Update a quickselect button's display attributes. The kind (STI type) and the underlying quickselectable cannot be changed; delete and recreate instead. settings is merged into existing settings.

receipts_show

ChatGPT
Full overview of a single receipt: items, payments, totals, customer, voiding and representation flags. By default customer details are redacted to id/name; pass include_sensitive_data: true for email.

receipts_show

ChatGPT
Full overview of a single receipt: items, payments, totals, customer, voiding and representation flags. By default customer details are redacted to id/name; pass include_sensitive_data: true for email.

reports_balance_sheet

ChatGPT
Ledger-based balance sheet for a date range: revenue accounts, payment accounts, and voucher credit/debit movements.

reports_balance_sheet

ChatGPT
Ledger-based balance sheet for a date range: revenue accounts, payment accounts, and voucher credit/debit movements.

reports_exceptions

ChatGPT
Receipt-level exceptions for a date range: representation (comped) items, removed items, or voided receipts.

reports_exceptions

ChatGPT
Receipt-level exceptions for a date range: representation (comped) items, removed items, or voided receipts.

reports_overview

ChatGPT
High-level revenue and cashflow totals for a date range, with a comparison against the previous equivalent period.

reports_overview

ChatGPT
High-level revenue and cashflow totals for a date range, with a comparison against the previous equivalent period.

reports_payments

ChatGPT
Individual payments for a date range, filtered to a single payment method.

reports_payments

ChatGPT
Individual payments for a date range, filtered to a single payment method.

reports_sales

ChatGPT
Aggregated sales per product for a date range. Returns product label, count, options summary, and total price. Optionally filter by preparation location, product category, or device.

reports_sales

ChatGPT
Aggregated sales per product for a date range. Returns product label, count, options summary, and total price. Optionally filter by preparation location, product category, or device.

reports_tax

ChatGPT
Tax breakdown for a date range. Returns revenue, net revenue, and tax amount per tax rate, plus totals.

reports_tax

ChatGPT
Tax breakdown for a date range. Returns revenue, net revenue, and tax amount per tax rate, plus totals.

tables_archive

ChatGPT
Archive a table. Fails if the table has open receipts, is in a guest group, or has saved floor-plan positions.

tables_archive

ChatGPT
Archive a table. Fails if the table has open receipts, is in a guest group, or has saved floor-plan positions.

tables_create

ChatGPT
Create a new table inside an area.

tables_create

ChatGPT
Create a new table inside an area.

tables_list

ChatGPT
List tables, optionally filtered by area or table number. Excludes archived tables by default.

tables_list

ChatGPT
List tables, optionally filtered by area or table number. Excludes archived tables by default.

tables_unarchive

ChatGPT
Restore an archived table so it appears in the active table list again.

tables_unarchive

ChatGPT
Restore an archived table so it appears in the active table list again.

tables_update

ChatGPT
Update a table's attributes. Moving a table to a different area is not supported here.

tables_update

ChatGPT
Update a table's attributes. Moving a table to a different area is not supported here.

tax_rates_list

ChatGPT
List all tax rates. Use the returned id as tax_rate_id in products_create / products_update.

tax_rates_list

ChatGPT
List all tax rates. Use the returned id as tax_rate_id in products_create / products_update.

Capabilities

Writes

App Stats

140

Tools

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily