# GoTable

```json
{
  "name": "GoTable",
  "slug": "go_table",
  "url": "https://composio.dev/toolkits/go_table",
  "markdown_url": "https://composio.dev/toolkits/go_table.md",
  "logo_url": "https://logos.composio.dev/api/gotable",
  "categories": [
    "scheduling & booking"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-28T05:32:46.467Z"
}
```

![GoTable logo](https://logos.composio.dev/api/gotable)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with GoTable MCP or direct API to check availability, create reservations, manage guest profiles, and publish offers through natural language.

## Summary

GoTable is a restaurant management REST API for reservations, tables, guests, offers, availability, and webhooks.
Use it to programmatically manage bookings, guest data, offers, and table availability.

## Categories

- scheduling & booking

## Toolkit Details

- Tools: 19

## Images

- Logo: https://logos.composio.dev/api/gotable

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for GoTable.
  - Setup:
    - Configure Api Key credentials for GoTable.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Reserve a table for two tonight
- List available tables for Saturday dinner
- Create special offer for weekday lunches

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `GO_TABLE_CANCEL_RESERVATION` | Cancel Reservation | Irreversibly cancel a finalized reservation or reject a pending reservation. The selected role controls GoTable's default communication. |
| `GO_TABLE_CREATE_RESERVATION` | Create Reservation | Create a reservation or walk-in. Guest-role calls enforce availability and may trigger guest-facing operational communication. |
| `GO_TABLE_CREATE_RESERVATION_NOTE` | Create Reservation Note | Attach an HTML note to a reservation under an account that has access to the restaurant. |
| `GO_TABLE_GET_AVAILABILITY` | Get Availability | Return restaurant-wide availability, or availability for one offer when offer_id is provided, over a date range of at most three months. |
| `GO_TABLE_GET_GUEST` | Get Guest | Return one guest profile by restaurant and guest ID. |
| `GO_TABLE_GET_OFFER` | Get Offer | Return one booking offer by restaurant and offer ID. |
| `GO_TABLE_GET_RESERVATION` | Get Reservation | Return one reservation by restaurant and reservation ID. |
| `GO_TABLE_GET_RESTAURANT` | Get Restaurant | Return details for one accessible restaurant by ID. |
| `GO_TABLE_GET_TABLE` | Get Table | Return one physical table by restaurant and table ID. |
| `GO_TABLE_GET_TABLE_COMBINATION` | Get Table Combination | Return one configured table combination by restaurant and combination ID. |
| `GO_TABLE_LIST_ACCOUNTS` | List Restaurant Accounts | Return one page of user accounts that can access a restaurant, including IDs usable as reservation-note authors. |
| `GO_TABLE_LIST_GUESTS` | List Guests | Return one page of restaurant guests, optionally filtered with GoTable's guest search syntax. |
| `GO_TABLE_LIST_OFFERS` | List Offers | Return one page of booking offers configured for a restaurant. |
| `GO_TABLE_LIST_RESERVATION_NOTES` | List Reservation Notes | Return all notes attached to one reservation. |
| `GO_TABLE_LIST_RESERVATIONS` | List Reservations | Return one page of reservations for a restaurant, optionally filtered with GoTable's reservation search syntax. |
| `GO_TABLE_LIST_RESTAURANTS` | List Restaurants | Return one page of restaurants accessible to the connected GoTable account. |
| `GO_TABLE_LIST_TABLE_COMBINATIONS` | List Table Combinations | Return one page of configured table combinations for a restaurant. |
| `GO_TABLE_LIST_TABLES` | List Tables | Return one page of physical tables configured for a restaurant. |
| `GO_TABLE_UPDATE_RESERVATION` | Update Reservation | Update selected details of an existing reservation, including its schedule, party, guest data, comments, duration, or table assignment. Omitted fields remain unchanged. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute GoTable Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute GoTable actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'Create a reservation for John Doe on 2026-09-01 at 7:00 PM for 2 guests.'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'Create a reservation for John Doe on 2026-09-01 at 7:00 PM for 2 guests.'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for GoTable
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to GoTable tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('YOUR_SPECIFIC_PROMPT_HERE')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native GoTable Integration

- Supports both GoTable MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for reading, writing, and querying your GoTable data

### 2. Managed Auth

- Built-in OAuth handling with automatic token refresh and rotation
- Central place to manage, scope, and revoke GoTable access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access GoTable
- Scoped, least privilege access to GoTable resources
- Full audit trail of agent actions to support review and compliance

## Use GoTable with any AI Agent Framework

Choose a framework you want to connect GoTable with:

- [ChatGPT Work](https://composio.dev/toolkits/go_table/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/go_table/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/go_table/framework/hermes-agent)

## Related Toolkits

- [Google Calendar](https://composio.dev/toolkits/googlecalendar) - Google Calendar is a time management service for scheduling meetings, events, and reminders. It streamlines personal and team organization with integrated notifications and sharing options.
- [Apaleo](https://composio.dev/toolkits/apaleo) - Apaleo is a cloud-based property management platform for hospitality businesses. It centralizes reservations, billing, and daily operations for smoother hotel management.
- [Appointo](https://composio.dev/toolkits/appointo) - Appointo is an appointment booking platform for Shopify stores. It lets businesses add online scheduling to their websites with zero coding.
- [Bart](https://composio.dev/toolkits/bart) - Bart is the Bay Area Rapid Transit system, providing fast public transportation across the San Francisco Bay Area. It helps commuters and travelers get real-time schedule info, plan routes, and stay updated on service changes.
- [Blue Pillow Hotels & Stays](https://composio.dev/toolkits/bluepillow) - Blue Pillow Hotels & Stays is a hotel and stay discovery platform offering live offers, recommendations, and booking handoff. It helps surface and compare real-time deals and validate bookings for smoother reservations.
- [Bookingmood](https://composio.dev/toolkits/bookingmood) - Bookingmood is commission-free booking software for rental businesses. It lets you manage reservations and sync bookings directly on your website.
- [Booqable](https://composio.dev/toolkits/booqable) - Booqable is a rental software platform for managing inventory, bookings, and reservations. It helps businesses streamline rentals and keep track of every item with ease.
- [Cal](https://composio.dev/toolkits/cal) - Cal is a meeting scheduling platform that offers shareable booking links and real-time calendar syncing. It streamlines the process of finding mutual availability to make scheduling effortless.
- [Calendarhero](https://composio.dev/toolkits/calendarhero) - Calendarhero is a powerful scheduling platform that streamlines your calendar management across multiple services. It helps you efficiently schedule, reschedule, and organize meetings without the back-and-forth.
- [Calendly](https://composio.dev/toolkits/calendly) - Calendly is an appointment scheduling tool that automates meeting invitations, availability checks, and reminders. It helps individuals and teams avoid endless email back-and-forth when booking meetings.
- [Calendly MCP](https://composio.dev/toolkits/calendly_mcp) - Calendly is an appointment scheduling platform that manages event types, availability, and invites. Use it to automate booking, reduce back-and-forth, and surface open times quickly.
- [Check Cherry](https://composio.dev/toolkits/check_cherry) - Check Cherry is a business management platform for photography and event service companies. It helps teams manage leads, bookings, appointments, offerings, payments, and workflows in one place.
- [Cronfree Time Scheduler](https://composio.dev/toolkits/cronfree_time_scheduler) - Cronfree Time Scheduler is an API-based scheduler for recurring webhook calls. Use it to create and remove timezone-aware schedules without running cron.
- [Etermin](https://composio.dev/toolkits/etermin) - eTermin is an online appointment scheduling platform for businesses to manage bookings. It streamlines client appointments, saving time and reducing scheduling conflicts.
- [Evenium](https://composio.dev/toolkits/evenium) - Evenium is an all-in-one platform for managing professional events, from planning to analysis. It helps teams simplify event logistics, boost engagement, and track every detail in one place.
- [Eventee](https://composio.dev/toolkits/eventee) - Eventee is a user-friendly event management platform for mobile and web. It boosts attendee engagement for in-person, virtual, and hybrid events.
- [Eventzilla](https://composio.dev/toolkits/eventzilla) - Eventzilla is an event management platform for creating, promoting, and running events. It streamlines ticketing, registration, and attendee coordination for organizers.
- [Humanitix](https://composio.dev/toolkits/humanitix) - Humanitix is a not-for-profit ticketing platform that donates 100% of profits to charity. It empowers event organizers to make social impact with every ticket sold.
- [Ignav Flights](https://composio.dev/toolkits/ignav_flights) - Ignav Flights is a flight search API for airports, fares, itineraries, and booking links. It helps apps compare routes and prices fast, so travelers can find practical options sooner.
- [Lodgify](https://composio.dev/toolkits/lodgify) - Lodgify is an all-in-one vacation rental software for property managers and owners. It centralizes bookings, guest messaging, and channel synchronization in one dashboard.

## Frequently Asked Questions

### Do I need my own developer credentials to use GoTable with Composio?

Yes, GoTable requires you to configure your own API key credentials. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
