Workable

Learn how to use Workable with Composio

Overview

SLUG: WORKABLE

Description

Workable is an all-in-one HR software platform that streamlines hiring, employee data management, time tracking, and payroll.

Authentication Details

subdomain
stringRequired
generic_api_key
stringRequired

Connecting to Workable

Create an auth config

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

1

Select App

Navigate to Workable.

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 Workable 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
4workable_auth_config_id = "ac_YOUR_WORKABLE_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 Workable 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, workable_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 Workable 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=["WORKABLE"])
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: Get Candidates

Description

Tool to retrieve a list of all candidates across jobs. use when you need to aggregate candidate data across your organization.

Action Parameters

limit
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Department

Description

Tool to delete a department. use when removing an obsolete or restructured department after confirming dependent resources.

Action Parameters

force
string
id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Account

Description

Tool to return the specified account. use when you need account metadata by subdomain after listing available accounts.

Action Parameters

subdomain
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Accounts

Description

Tool to retrieve a collection of all accounts you have access to. use when you need to list your workable accounts after authentication.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Background Check Packages

Description

Tool to retrieve a list of available background check packages from a specified provider. use after identifying the provider to view available package options.

Action Parameters

provider
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Background Check Providers

Description

Tool to retrieve a list of available background check providers. use after confirming valid authentication to list integrated background check services.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Events

Description

Tool to retrieve a collection of events scheduled in the account. use when you need to list all upcoming or past calls, interviews, or meetings.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Jobs

Description

Tool to retrieve a list of jobs from your workable account. use after validating account authentication before managing job postings.

Action Parameters

created_after
string
include_fields
string
limit
integer
max_id
string
since_id
string
state
string
updated_after
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Members

Description

Tool to retrieve a list of your workable account members. use after confirming valid authentication to fetch collaborators, admins, or reviewers.

Action Parameters

limit
integer
max_id
string
role
string
shortcode
string
since_id
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get recruiters

Description

Tool to retrieve external recruiters. use when you need to fetch all external recruiters for your account after confirming the r jobs scope.

Action Parameters

shortcode
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Requisitions

Description

Tool to retrieve a collection of requisitions in the account. use after authentication succeeds.

Action Parameters

created_after
string
limit
integer
updated_after
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Stages

Description

Tool to retrieve a collection of your recruitment pipeline stages. use when you need to list all available stages before managing candidates or pipelines.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Subscriptions

Description

Tool to list all active subscriptions. use after verifying webhooks configuration to ensure subscriptions are active.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Post Background Check

Description

Tool to inject background check results directly into the candidate's timeline. use after a background check status changes to push results and attachments into workable.

Action Parameters

attachments
array
background_check_id
stringRequired
check
object
results_url
string
status
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Department

Description

Tool to create a department in your account. use when you need to add a new department for organizing teams under your workable account.

Action Parameters

name
stringRequired
parent_id
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Merge Department

Description

Tool to merge a department into another. use after confirming both department ids and optional force flag.

Action Parameters

force
boolean
id
stringRequired
target_department_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Invite Member

Description

Tool to invite a member to your workable account. use when sending an invitation email.

Action Parameters

collaboration_rules
array
email
stringRequired
hris_role
string
member_id
string
role
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Enable Member

Description

Tool to restore a deactivated member. use after confirming the member is currently deactivated.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Department

Description

Tool to update an existing department in your account. use when renaming a department or changing its parent after confirming its id.

Action Parameters

id
stringRequired
name
string
parent_id
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Member

Description

Tool to update a member's details. use when you need to modify information of an existing member after confirming the id.

Action Parameters

collaboration_rules
array
email
string
headline
string
hris_role
string
id
stringRequired
name
string
role
string

Action Response

data
objectRequired
error
string
successful
booleanRequired