Apaleo

Learn how to use Apaleo with Composio

Overview

SLUG: APALEO

Description

Apaleo is a cloud-based property management platform handling reservations, billing, and daily operations for hospitality businesses

Authentication Details

client_id
stringRequired
client_secret
stringRequired
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
stringDefaults to offline_access,account.manage,account.suspend,accounting.read,authorizations.manage,authorizations.read,availability.manage,availability.read,charges.delete,companies.manage,companies.read,depositItems.manage,deposits.manage,deposits.read,folios.manage,folios.payment-with-charges,folios.read,invoices.manage,invoices.read,logs.read,maintenances.manage,maintenances.read,offer-index.read,offers.read,operations.change-room-state,operations.trigger-night-audit,payment-accounts.manage,payment-accounts.read,payments.manage,payments.read,prepayment-notices.read,rateplans.read-corporate,rateplans.read-negotiated,rates.manage,rates.read,reports.read,reservations.force-manage,reservations.manage,reservations.read,routings.create,routings.manage,routings.read,servicegroups.create,servicegroups.manage,servicegroups.read,setup.manage,setup.read
bearer_token
string

Connecting to Apaleo

Create an auth config

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

1

Select App

Navigate to the Apaleo 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 OAuth2

1from composio import Composio
2
3# Replace these with your actual values
4apaleo_auth_config_id = "ac_YOUR_APALEO_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/application
6
7composio = Composio()
8
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 connection_request = composio.connected_accounts.initiate(
12 user_id=user_id,
13 auth_config_id=auth_config_id,
14 )
15
16 print(
17 f"Visit this URL to authenticate Apaleo: {connection_request.redirect_url}"
18 )
19
20 # This will wait for the auth flow to be completed
21 connection_request.wait_for_connection(timeout=15)
22 return connection_request.id
23
24
25connection_id = authenticate_toolkit(user_id, apaleo_auth_config_id)
26
27# You can also verify the connection status using:
28connected_account = composio.connected_accounts.get(connection_id)
29print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Apaleo 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=["APALEO"])
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: Creates a property

Description

Use this call to create a new property.<br />you must have at least one of these scopes: 'properties.create, setup.manage'.

Action Parameters

bankAccount__bank
string
bankAccount__bic
string
bankAccount__iban
string
code
stringRequired
commercialRegisterEntry
stringRequired
companyName
stringRequired
currencyCode
stringRequired
defaultCheckInTime
stringRequired
defaultCheckOutTime
stringRequired
description
object
location__addressLine1
string
location__addressLine2
string
location__city
string
location__countryCode
string
location__postalCode
string
location__regionCode
string
managingDirectors
string
name
objectRequired
paymentTerms
objectRequired
taxId
stringRequired
timeZone
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a unit

Description

Use this call to create a new unit.<br />you must have at least one of these scopes: 'units.create, setup.manage'.

Action Parameters

attributes
array
condition
string
connectedUnits
array
description
objectRequired
maxPersons
integerRequired
name
stringRequired
propertyId
stringRequired
unitGroupId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get a properties list

Description

Get the list of properties.<br />you need to be authorized (no particular scope required)

Action Parameters

countryCode
array
expand
array
includeArchived
boolean
pageNumber
integerDefaults to 1
pageSize
integer
status
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get a unit

Description

Get a unit by id.<br />you must have at least one of these scopes: 'units.read, setup.read, setup.manage'.

Action Parameters

expand
array
id
stringRequired
languages
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive a property

Description

Use this endpoint to archive an existing live property this operation set the isarchived flag to true<br />you must have at least one of these scopes: 'properties.manage, setup.manage'.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Check if a property exists

Description

Check if a property exists by id.<br />you need to be authorized (no particular scope required)

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Check if a unit attribute exists

Description

Check if a unit attribute exists<br />you must have at least one of these scopes: 'unitattributes.read, setup.read, setup.manage'.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Check if a unit exists

Description

Check if a unit exists by id.<br />you must have at least one of these scopes: 'units.read, setup.read, setup.manage'.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Check if a unit group exists

Description

Check if a unit group exists by id.<br />you must have at least one of these scopes: 'unitgroups.read, setup.read, setup.manage'.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Clones a property

Description

Use this call to clone a specific property. this operation creates a new property with inventory and rate plans from the specified property.<br />you must have at least one of these scopes: 'properties.create, setup.manage'.

Action Parameters

bankAccount__bank
string
bankAccount__bic
string
bankAccount__iban
string
code
stringRequired
commercialRegisterEntry
stringRequired
companyName
stringRequired
currencyCode
stringRequired
defaultCheckInTime
stringRequired
defaultCheckOutTime
stringRequired
description
object
id
stringRequired
location__addressLine1
string
location__addressLine2
string
location__city
string
location__countryCode
string
location__postalCode
string
location__regionCode
string
managingDirectors
string
name
objectRequired
paymentTerms
objectRequired
taxId
stringRequired
timeZone
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a unit attribute

Description

Use this call to create a new unit attribute.<br />you must have at least one of these scopes: 'unitattributes.create, setup.manage'.

Action Parameters

description
string
name
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a unit group

Description

Use this call to create a new unit group.<br />you must have at least one of these scopes: 'unitgroups.create, setup.manage'.

Action Parameters

code
stringRequired
connectedUnitGroups
array
description
objectRequired
maxPersons
integerRequired
name
objectRequired
propertyId
stringRequired
rank
integer
type
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create multiple units

Description

Use this call to create multiple units, following a naming rule.<br />you must have at least one of these scopes: 'units.create, setup.manage'.

Action Parameters

units
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Deletes unit attribute

Description

Deletes unit attribute<br />you must have at least one of these scopes: 'unitattributes.delete, setup.manage'.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete a unit

Description

Use this call to delete a unit.<br />you must have at least one of these scopes: 'units.delete, setup.manage'.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete a unit group

Description

Use this call to delete a unit group.<br />you must have at least one of these scopes: 'unitgroups.delete, setup.manage'.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get a property

Description

Get a property by id.<br />you need to be authorized (no particular scope required)

Action Parameters

expand
array
id
stringRequired
languages
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get a units list

Description

Get the list of units.<br />you must have at least one of these scopes: 'units.read, setup.read, setup.manage'.

Action Parameters

condition
string
expand
array
isOccupied
boolean
maintenanceType
string
pageNumber
integerDefaults to 1
pageSize
integer
propertyId
string
textSearch
string
unitAttributeIds
array
unitGroupId
string
unitGroupIds
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get a unit group

Description

Get a unit group by id.<br />you must have at least one of these scopes: 'unitgroups.read, setup.read, setup.manage'.

Action Parameters

expand
array
id
stringRequired
languages
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get unit attribute by id

Description

Get unit attribute by id<br />you must have at least one of these scopes: 'unitattributes.read, setup.read, setup.manage'.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get unit attribute list

Description

Get unit attribute list<br />you must have at least one of these scopes: 'unitattributes.read, setup.read, setup.manage'.

Action Parameters

pageNumber
integerDefaults to 1
pageSize
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Unit Groups

Description

Get the list of unit groups.<br />you must have at least one of these scopes: 'unitgroups.read, setup.read, setup.manage'.

Action Parameters

expand
array
pageNumber
integerDefaults to 1
pageSize
integer
propertyId
string
unitGroupTypes
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Move property to live

Description

Use this endpoint to move an existing test property to live this operation changes the property status to 'live'<br />you must have at least one of these scopes: 'properties.manage, setup.manage'.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Replace a unit group

Description

Use this call to modify a unit group.<br />you must have at least one of these scopes: 'unitgroups.manage, setup.manage'.

Action Parameters

connectedUnitGroups
array
description
objectRequired
id
stringRequired
maxPersons
integer
name
objectRequired
rank
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Reset Property Data

Description

This endpoint deletes transactional data for a property in 'test' status. requires 'properties.manage' or 'setup.manage' scopes.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Returns a list of supported countries

Description

Returns a list of iso country codes that could be used to create properties.<br />you need to be authorized (no particular scope required)

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Returns number of units

Description

Returns number of units matching the filter criteria<br />you must have at least one of these scopes: 'units.read, setup.read, setup.manage'.

Action Parameters

condition
string
isOccupied
boolean
maintenanceType
string
propertyId
string
textSearch
string
unitAttributeIds
array
unitGroupId
string
unitGroupIds
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Returns number of unit groups

Description

Returns number of unit groups matching the filter criteria<br />you must have at least one of these scopes: 'unitgroups.read, setup.read, setup.manage'.

Action Parameters

propertyId
string
unitGroupTypes
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Return total count of properties

Description

Return total count of properties<br />you need to be authorized (no particular scope required)

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired