Whautomate

Learn how to use Whautomate with Composio

Overview

SLUG: WHAUTOMATE

Description

Whautomate is a platform that offers seamless integrations for customer engagement, including AI chatbots, appointment scheduling, and broadcast messaging.

Authentication Details

full
stringRequired
generic_api_key
stringRequired

Connecting to Whautomate

Create an auth config

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

1

Select App

Navigate to Whautomate.

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

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Whautomate 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=["WHAUTOMATE"])
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: Add Contact

Description

Tool to add a new contact. use when you need to programmatically create contacts via the api.

Action Parameters

customFields
object
id
string
location
objectRequired
name
stringRequired
notes
string
phoneNumber
stringRequired
stage
string
tags
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Segment

Description

Tool to delete a specific segment. use when you need to remove a segment by its id. use after confirming you have the correct segmentid.

Action Parameters

segmentId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Service Category

Description

Tool to delete a service category. use when you need to remove a specific service category by its id. use after confirming you have the correct servicecategoryid.

Action Parameters

serviceCategoryId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get All Webhooks

Description

Tool to retrieve all registered webhooks. use after authenticating to audit or inspect existing webhook subscriptions.

Action Parameters

Action Response

data
arrayRequired
error
string
message
stringRequired
status
stringRequired
successful
booleanRequired

Tool Name: Get Broadcast By ID

Description

Tool to retrieve a specific broadcast's details. use when you have a broadcast id and need its metadata. use after confirming the broadcastid is valid, as this returns detailed broadcast data.

Action Parameters

broadcastId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Broadcasts

Description

Tool to retrieve a list of broadcasts. use when you need to fetch broadcasts with optional filters such as status or date ranges. example: "get all scheduled broadcasts after 2023-01-01t00:00:00z."

Action Parameters

from_date
string
limit
integer
offset
integer
status
string
to_date
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Contacts

Description

Tool to retrieve a list of contacts. use when you need to fetch contacts from whatsapp with optional pagination and filters.

Action Parameters

limit
integer
page
integer
search
string
status
string

Action Response

data
arrayRequired
error
string
limit
integerRequired
page
integerRequired
successful
booleanRequired
total
integerRequired

Tool Name: Get Messages of Contact

Description

Tool to retrieve chat messages for a specific contact. use after providing a valid contactid. supports pagination and optional date filtering.

Action Parameters

contactId
stringRequired
endDate
string
page
integer
startDate
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Segments

Description

Tool to retrieve a list of segments. use when you need to fetch segments with optional name filtering and pagination.

Action Parameters

limit
integer
name
string
offset
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Service By Id

Description

Tool to retrieve details of a specific service by its unique id. use when you need comprehensive service information.

Action Parameters

serviceId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Service Categories

Description

Tool to retrieve a list of service categories. use when you need to list categories with optional pagination.

Action Parameters

limit
integer
offset
integer

Action Response

data
arrayRequired
error
string
limit
integerRequired
offset
integerRequired
successful
booleanRequired
total
integerRequired

Tool Name: Get Services

Description

Tool to retrieve a list of services with optional filters. use when you need to fetch available services for display or scheduling.

Action Parameters

category_id
string
fields
string
limit
integer
offset
integer
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Staff Availability Blocks

Description

Tool to retrieve a staff member's blocked time schedule over a date range. use when you need to view unavailable slots after confirming staffid and desired date range.

Action Parameters

endDate
string
staffId
stringRequired
startDate
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Staff By ID

Description

Tool to retrieve detailed information about a specific staff member. use when you have a valid staff id and need full profile details. use after confirming staffid.

Action Parameters

staffId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Staffs

Description

Tool to retrieve a list of staff members. use when you need to list staff with optional pagination or search filters.

Action Parameters

limit
integer
page
integer
search
string

Action Response

data
arrayRequired
error
string
meta
objectRequired
successful
booleanRequired

Tool Name: Update Service

Description

Tool to update an existing whatsapp service. use when you need to modify service attributes like name, description, enabled state, or config.

Action Parameters

config
object
description
string
enabled
boolean
name
string
serviceId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired