Sendbird ai chabot

Learn how to use Sendbird ai chabot with Composio

Overview

SLUG: SENDBIRD_AI_CHABOT

Description

Sendbird’s AI Chatbot enables businesses to integrate intelligent, automated conversational agents into their applications, enhancing customer engagement and support.

Authentication Details

subdomain
stringRequired
generic_api_key
stringRequired

Connecting to Sendbird ai chabot

Create an auth config

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

1

Select App

Navigate to [Sendbird ai chabot](https://platform.composio.dev?next_page=/marketplace/Sendbird ai chabot).

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 Sendbird ai chabot 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
4sendbird_ai_chabot_auth_config_id = "ac_YOUR_SENDBIRD_AI_CHABOT_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 Sendbird ai chabot 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, sendbird_ai_chabot_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 [Sendbird ai chabot toolkit’s playground](https://app.composio.dev/app/Sendbird ai chabot)

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=["SENDBIRD_AI_CHABOT"])
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 Bot

Description

Tool to create a new bot. use when you need to add an ai or default bot to your sendbird app.

Action Parameters

bot_callback_url
string
bot_nickname
stringRequired
bot_profile_url
string
bot_type
stringDefaults to AI
bot_userid
stringRequired
channel_invitation_preference
integer
enable_mark_as_read
boolean
is_privacy_mode
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Bot

Description

Tool to retrieve information on a specific bot by its user id. use when you need to fetch bot details before performing subsequent operations.

Action Parameters

bot_user_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Bots

Description

Tool to list all bots in the sendbird application. use when you need to fetch bot details with optional filters and pagination.

Action Parameters

bot_id
string
limit
integer
token
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Group Channels

Description

Tool to list group channels. use when you need to fetch available group channels with filters and pagination.

Action Parameters

channel_urls
array
created_after
integer
created_before
integer
custom_type
string
custom_types
array
distinct_mode
string
limit
integer
member_user_ids
array
members_exactly_in
array
members_include_in
array
members_nickname
string
members_nickname_prefix
string
name
string
name_contains
string
public_mode
string
query_type
string
show_empty
boolean
super_mode
string
token
string
url
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Unregister Bot Webhook

Description

Tool to unregister the webhook url for a bot. use when you need to remove webhook configuration for a specific bot.

Action Parameters

bot_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Bot

Description

Tool to update information on an existing bot. use when you need to change a bot's user id, nickname, profile image url, or toggle read-receipt or privacy settings after creation. run after confirming the bot id.

Action Parameters

bot_id
stringRequired
bot_nickname
string
bot_profile_url
string
bot_userid
string
enable_mark_as_read
boolean
is_privacy_mode
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Bot Webhook

Description

Tool to update the webhook url of an existing bot. use when you need to change or enable/disable a bot's webhook after creation.

Action Parameters

bot_id
stringRequired
enable_webhook
boolean
webhook_url
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired