Booqable

Learn how to use Booqable with Composio

Overview

SLUG: BOOQABLE

Description

Booqable is a rental software platform that helps businesses manage inventory, bookings, and online reservations.

Authentication Details

subdomain
stringRequired
generic_api_key
stringRequired

Connecting to Booqable

Create an auth config

Use the dashboard to create an auth config for the Booqable toolkit. This allows you to connect multiple Booqable accounts to Composio for agents to use.

1

Select App

Navigate to the Booqable toolkit page and click “Setup Integration”.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Integration”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2from composio.types import auth_scheme
3
4# Replace these with your actual values
5booqable_auth_config_id = "ac_YOUR_BOOQABLE_CONFIG_ID" # Auth config ID created above
6user_id = "0000-0000-0000" # UUID from database/app
7
8composio = Composio()
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 # Replace this with a method to retrieve an API key from the user.
12 # Or supply your own.
13 user_api_key = input("[!] Enter API key")
14
15 connection_request = composio.connected_accounts.initiate(
16 user_id=user_id,
17 auth_config_id=auth_config_id,
18 config={"auth_scheme": "API_KEY", "val": user_api_key}
19 )
20
21 # API Key authentication is immediate - no redirect needed
22 print(f"Successfully connected Booqable for user {user_id}")
23 print(f"Connection status: {connection_request.status}")
24
25 return connection_request.id
26
27
28connection_id = authenticate_toolkit(user_id, booqable_auth_config_id)
29
30# You can verify the connection using:
31connected_account = composio.connected_accounts.get(connection_id)
32print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Booqable toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["BOOQABLE"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Create Customer

Description

Tool to create a new customer. use when onboarding a new client and you have verified their details. example: create 'jane doe' with email jane@doe.com.

Action Parameters

email
string
name
stringRequired
phone
string
properties_attributes
array
tax_region_id
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Order

Description

Tool to create a new order. use after collecting valid customer id and timing details. example: create an order for customer '297f2584-...' starting at '2018-01-01t09:00:00z'.

Action Parameters

customer_id
stringRequired
starts_at
string
stops_at
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Customer

Description

Tool to fetch a specific customer by id. use after obtaining a customer identifier to retrieve full customer details.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Customers

Description

Tool to retrieve a list of customers. use when you need to paginate through customers.

Action Parameters

page
integerDefaults to 1
per
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Order

Description

Tool to retrieve a specific order by id. use when you need complete details of a known order, including optional relationships like customer or coupon. call after confirming the order id.

Action Parameters

fields[orders]
array
id
stringRequired
include
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Orders

Description

Tool to list all orders. use when you need to retrieve orders, optionally filtered by search term or paginated.

Action Parameters

page
integerDefaults to 1
per
integer
q
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Product

Description

Tool to fetch a specific product by id. use after obtaining a product identifier to retrieve detailed inventory item data.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Products

Description

Tool to retrieve a list of products. use when you need to list inventory items with pagination and filtering.

Action Parameters

active
boolean
barcode
string
category_id
string
page
integerDefaults to 1
per
integer
q
string
sku
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Product Groups

Description

Tool to retrieve a list of product groups. use when you need to browse product catalog by pages.

Action Parameters

page
integerDefaults to 1
per
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Product Group

Description

Tool to create a new product group in booqable. use when you have defined the group's name and pricing details and want to organize items under a shared group.

Action Parameters

base_price_in_cents
integer
name
stringRequired
price_period
string
price_type
string
sku
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Customer

Description

Tool to delete (archive) a customer by id. use after confirming the customer should be hidden from searches.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Order

Description

Tool to delete (archive) an order by id. use when you need to hide completed or canceled orders from active listings.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Product Group

Description

Tool to delete a product group by id. use when you need to permanently remove a product group from your catalog after confirming its identifier.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Product Group

Description

Tool to fetch a specific product group by id. use after obtaining the product group identifier to retrieve its full details.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired