Chatwork

Learn how to use Chatwork with Composio

Overview

SLUG: CHATWORK

Description

Chatwork is a team communication platform featuring group chats, file sharing, and task management, aiming to enhance collaboration and productivity for businesses

Authentication Details

generic_api_key
stringRequired

Connecting to Chatwork

Create an auth config

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

1

Select App

Navigate to Chatwork.

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 Chatwork 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
4chatwork_auth_config_id = "ac_YOUR_CHATWORK_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": user_api_key}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Chatwork 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, chatwork_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 Chatwork 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=["CHATWORK"])
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: Delete Message

Description

This tool allows you to delete a specific message from a chatwork room by calling the delete endpoint at https://api.chatwork.com/v2/rooms/{room id}/messages/{message id}. it requires authentication using a chatwork api token provided in the x-chatworktoken header, and the necessary permissions to delete messages in the specified room.

Action Parameters

message_id
stringRequired
room_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Chatwork Contacts

Description

This tool retrieves a list of all contacts from chatwork. it is a fundamental tool that fetches all contact information such as account id, room id, name, chatwork id, organization details, department, and avatar image url, without needing additional parameters beyond authentication.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Chatwork File

Description

This tool retrieves information about a specific file in a chat room. the api endpoint get /v2/rooms/{room id}/files/{file id} provides file details such as file id, account id, message id, filename, filesize, upload time, and download url, which are useful for retrieving file metadata, verifying file existence, and managing file sharing within chatwork.

Action Parameters

file_id
integerRequired
room_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get My Chatwork Status

Description

This tool retrieves the current status of the authenticated user, including unread message counts and task status. it provides a quick overview of unread messages, mentions, and tasks, making it valuable for monitoring chatwork activity and building automation workflows.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload File to Chatwork Room

Description

This tool allows users to upload files to a specific chatwork room. it enables file sharing functionality within the chatwork platform by providing an endpoint to upload files (along with an optional message) to a given room.

Action Parameters

file_path
stringRequired
message
string
room_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Chatwork Rooms

Description

This tool retrieves a list of all chat rooms associated with the authenticated chatwork account. it includes group chats, direct chats, and personal chats, and does not require any additional parameters beyond authentication.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Room Members

Description

This tool retrieves a list of all members in a specified chatwork room using the endpoint get /rooms/{room id}/members. it provides essential details like account id, role, name, chatwork id, organization id, and organization name, complementing the existing suite of room management tools.

Action Parameters

room_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Room Messages

Description

This tool retrieves messages from a specific chatwork room using the get https://api.chatwork.com/v2/rooms/{room id}/messages endpoint. it requires a room id parameter and an optional force flag to refresh the cache by retrieving the 100 newest messages.

Action Parameters

force
boolean
room_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired