# Uplisting

```json
{
  "name": "Uplisting",
  "slug": "uplisting",
  "url": "https://composio.dev/toolkits/uplisting",
  "markdown_url": "https://composio.dev/toolkits/uplisting.md",
  "logo_url": "https://logos.composio.dev/api/uplisting",
  "categories": [
    "scheduling & booking"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-20T15:34:30.675Z"
}
```

![Uplisting logo](https://logos.composio.dev/api/uplisting)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Uplisting MCP or direct API to list properties, check calendar availability, manage bookings, and configure webhooks through natural language.

## Summary

Uplisting is a vacation rental property management platform for properties, bookings, calendars, and guest stays.
Use it to keep availability, reservations, and channel operations in sync from one place.

## Categories

- scheduling & booking

## Toolkit Details

- Tools: 10

## Images

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

## Authentication

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

## Suggested Prompts

- List upcoming bookings for each property
- Check property availability for next weekend
- Create webhook for booking updates

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `UPLISTING_CREATE_WEBHOOK` | Create Webhook | Register a public callback URL for one booking or property event and return the new webhook ID. |
| `UPLISTING_DELETE_WEBHOOK` | Delete Webhook | Permanently remove one Uplisting webhook subscription by its ID. This is destructive and stops future event deliveries to that subscription. |
| `UPLISTING_GET_CALENDAR` | Get Calendar | Return up to 12 months of daily availability, rates, and stay restrictions for one property. |
| `UPLISTING_GET_CURRENT_ACCOUNT` | Get Current Account | Return the name and stable UID of the Uplisting account connected by the current API key. |
| `UPLISTING_GET_PROPERTY` | Get Property | Return one Uplisting property by ID with the related resources supplied by the API. |
| `UPLISTING_LIST_BOOKINGS` | List Bookings | Return one explicitly selected 0-based page of bookings for a property and optional date range, with total and total-page metadata. |
| `UPLISTING_LIST_PROPERTIES` | List Properties | Return all properties in the connected Uplisting account, including the related resources supplied by the API. |
| `UPLISTING_LIST_WEBHOOKS` | List Webhooks | Return the webhook subscriptions registered for the connected Uplisting account. |
| `UPLISTING_SEARCH_AVAILABILITY` | Search Availability | Find Uplisting properties available for optional stay dates, guest count, city, and nightly price bounds. |
| `UPLISTING_UPDATE_CALENDAR` | Update Calendar | Asynchronously change availability, rates, or stay restrictions for dated days or date ranges on one property. HTTP 202 only means the update was accepted; it may take several minutes to propagate. Use Get Calendar later to verify the resulting state. |

## 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 Uplisting Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Uplisting actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'List upcoming bookings for all Uplisting properties'
  }]
)
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: 'List upcoming bookings for all Uplisting properties'
  }],
});
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 Uplisting
```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 Uplisting tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Check availability for my Uplisting properties next weekend')
        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: 'Check availability for my Uplisting properties next weekend'
  }],
  maxSteps: 5,
});

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

## Why Use Composio?

### 1. AI Native Uplisting Integration

- Supports both Uplisting MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable property, booking, calendar, and webhook actions
- Rich coverage for reading, writing, and querying vacation rental operations data

### 2. Managed Auth

- Securely store and manage Uplisting API keys without hard-coding secrets in your agent code
- Central place to manage, scope, and revoke Uplisting access
- Per user and per environment credentials, so staging and production stay cleanly separated

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Clear schemas help agents understand Uplisting tasks like checking availability or listing bookings
- 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 Uplisting
- Scoped, least privilege access to Uplisting properties, calendars, bookings, and webhooks
- Full audit trail of agent actions to support review and compliance

## Use Uplisting with any AI Agent Framework

Choose a framework you want to connect Uplisting with:

None listed.

## 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.
- [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.
- [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.
- [Mindbody](https://composio.dev/toolkits/mindbody) - Mindbody is business management software for fitness, wellness, and beauty teams. It helps studios manage scheduling, clients, payments, memberships, and daily operations.
- [Motion](https://composio.dev/toolkits/motion) - Motion is an intelligent calendar and project management tool for planning work, meetings, tasks, and team projects. It helps you automatically prioritize your day and keep schedules realistic as plans change.
- [OneTapCheckIn](https://composio.dev/toolkits/onetapcheckin) - OneTapCheckIn is an event attendance platform for managing attendees, profiles, check-ins, passports, integrations, and alerts. It helps teams run smoother events with faster check-ins and clearer attendance tracking.

## Frequently Asked Questions

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

Yes, Uplisting requires you to configure your own API key. 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)
