Ashby

Learn how to use Ashby with Composio

Overview

SLUG: ASHBY

Description

Ashby delivers an applicant tracking system for modern teams, offering features like job postings, candidate management, and data-driven hiring insights to streamline the recruitment process

Authentication Details

password
stringRequired
username
stringRequired

Connecting to Ashby

Create an auth config

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

1

Select App

Navigate to Ashby.

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 Ashby 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 Basic Auth

1from composio import Composio
2from composio.types import auth_scheme
3
4# Replace these with your actual values
5ashby_auth_config_id = "ac_YOUR_ASHBY_CONFIG_ID"
6user_id = "user@example.com"
7username = "your_ashby_username"
8password = "your_ashby_password"
9
10composio = Composio()
11
12# Create a new connected account for Ashby using Basic Auth
13connection_request = composio.connected_accounts.initiate(
14 user_id=user_id,
15 auth_config_id=ashby_auth_config_id,
16 config=auth_scheme.basic_auth(
17 username=username,
18 password=password
19 )
20)
21
22# Basic authentication is immediate - no redirect needed
23print(f"Successfully connected Ashby for user {user_id}")
24
25# You can verify the connection using:
26# connected_account = composio.connected_accounts.get(user_id=user_id, app_id="ASHBY")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Ashby 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=["ASHBY"])
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 Candidate Tag

Description

Add a tag to a candidate. Use this to categorize and organize candidates with existing tags from the system.

Action Parameters

candidateId
stringRequired
tagId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Change Application Source

Description

Change the source attribution of an application. Use this to update which source and user should be credited for bringing in the candidate.

Action Parameters

applicationId
stringRequired
creditedToUserId
string
sourceId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Change Application Stage

Description

Move an application to a different interview stage. Use this to advance or move candidates through the hiring pipeline by changing their current interview stage.

Action Parameters

applicationId
stringRequired
interviewStageId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Application

Description

Create a new application for a candidate to a specific job. Use this to add a candidate to a job's hiring pipeline, optionally specifying the source, credited user, and initial interview stage.

Action Parameters

candidateId
stringRequired
creditedToUserId
string
interviewStageId
string
jobId
stringRequired
sourceId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Candidate

Description

Create a new candidate in the system. Use this to add candidates with their contact information and social profiles before applying them to jobs.

Action Parameters

email
string
githubUrl
string
linkedInUrl
string
name
stringRequired
phoneNumber
string
websiteUrl
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Candidate Tag

Description

Create a new candidate tag. Use this to add new tags for categorizing and organizing candidates.

Action Parameters

title
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Department

Description

Create a new department. Use this to add organizational departments or teams for structuring jobs and hierarchy.

Action Parameters

name
stringRequired
parentId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Job

Description

Create a new job opening. Use this to add a new role to the organization with title, team, location, and brand. Job cannot be opened without a default interview plan.

Action Parameters

brandId
stringRequired
defaultInterviewPlanId
string
jobTemplateId
string
locationId
stringRequired
teamId
stringRequired
title
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get API Key Info

Description

Retrieve information about the current API key, including associated organization, user details, and permissions. Use this to verify API key validity and check what access level the key has.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Application Info

Description

Retrieve detailed information about a specific application by its ID. Use this to get complete details about an application including candidate info, interview stages, hiring team, and more.

Action Parameters

applicationId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Candidate Info

Description

Retrieve detailed information about a specific candidate by their ID. Use this to get complete candidate details including contact information, applications, social profiles, and more.

Action Parameters

candidateId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Department Info

Description

Retrieve detailed information about a specific department by its ID. Use this to get department details including name, hierarchy, and archive status.

Action Parameters

departmentId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Interview Info

Description

Retrieve detailed information about a specific interview type by its ID. Use this to get interview details including title, instructions, and feedback form configuration.

Action Parameters

interviewId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Job Info

Description

Retrieve detailed information about a specific job by its ID. Use this to get complete details about a job including title, status, hiring team, interview plans, and more.

Action Parameters

jobId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Job Posting Info

Description

Retrieve detailed information about a specific job posting by its ID. Use this to get complete job posting details including full description, application form fields, compensation, and publish settings.

Action Parameters

jobPostingId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Location Info

Description

Retrieve detailed information about a specific location by its ID. Use this to get complete location details including address, remote status, and workplace type.

Action Parameters

locationId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Opening Info

Description

Retrieve detailed information about a specific opening (job requisition) by its ID. Use this to get complete requisition details including headcount, status, and versions.

Action Parameters

openingId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get User Info

Description

Retrieve detailed information about a specific user by their ID. Use this to get user details including name, email, role, and permissions.

Action Parameters

userId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Application Feedback

Description

Retrieve all feedback submissions for an application. Use this to view interviewer feedback, evaluations, and notes collected throughout the hiring process.

Action Parameters

applicationId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Application History

Description

Retrieve the complete history of stage transitions for an application. Use this to get detailed information about when and how a candidate moved through different interview stages.

Action Parameters

applicationId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Applications

Description

Retrieve a list of applications. Use this to fetch applications with optional pagination and filtering by sync token for incremental updates.

Action Parameters

cursor
string
perPage
integer
syncToken
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Approvals

Description

Retrieve a list of approvals (offer approvals, job approvals, etc.). Use this to track approval workflows and pending approvals.

Action Parameters

cursor
string
perPage
integer
syncToken
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Archive Reasons

Description

Retrieve a list of all archive reasons. Use this to see available reasons for archiving candidates or applications, such as rejection categories.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Candidate Notes

Description

Retrieve all notes for a specific candidate. Use this to view comments, observations, and internal notes added by recruiters and hiring team members.

Action Parameters

candidateId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Candidate Projects

Description

Retrieve all projects associated with a candidate. Use this to see which sourcing projects or recruiting initiatives a candidate is part of.

Action Parameters

candidateId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Candidates

Description

Retrieve a list of candidates. Use this to fetch all candidates with optional pagination and filtering by sync token for incremental updates.

Action Parameters

cursor
string
perPage
integer
syncToken
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Candidate Tags

Description

Retrieve a list of all candidate tags. Use this to see available tags for categorizing and organizing candidates.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Close Reasons

Description

Retrieve a list of all close reasons for jobs and openings. Use this to see available reasons for closing job requisitions.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Communication Templates

Description

Retrieve a list of all communication templates. Use this to see available email and message templates for candidate outreach.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Custom Fields

Description

Retrieve a list of all custom field definitions. Use this to see available custom fields that can be set on applications, candidates, jobs, and other resources.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Departments

Description

Retrieve a list of all departments in the organization. Use this to get department information for organizing jobs and team structure.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Feedback Form Definitions

Description

Retrieve a list of all feedback form definitions. Use this to see available interview feedback form templates.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Interviewer Pools

Description

Retrieve a list of all interviewer pools. Use this to see groups of interviewers organized by expertise or interview type.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Interview Plans

Description

Retrieve a list of interview plans. Use this to get the structured interview processes and stages configured for different roles.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Interviews

Description

Retrieve a list of interviews. Use this to fetch all scheduled interviews with optional pagination and filtering.

Action Parameters

cursor
string
perPage
integer
syncToken
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Interview Schedules

Description

Retrieve a list of interview schedules. Use this to fetch all scheduled interviews with candidates, including timing, interviewers, and interview details.

Action Parameters

cursor
string
perPage
integer
syncToken
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Interview Stage Groups

Description

Retrieve a list of interview stage groups. Use this to see how interview stages are organized into logical groups within interview plans.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Job Boards

Description

Retrieve a list of job boards. Use this to see where job postings can be published (e.g., LinkedIn, Indeed, company career page).

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Job Postings

Description

Retrieve a list of job postings. Use this to fetch all public job postings with optional pagination and filtering.

Action Parameters

cursor
string
perPage
integer
syncToken
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Jobs

Description

Retrieve a list of jobs. Use this to fetch all jobs with optional pagination and filtering by sync token for incremental updates.

Action Parameters

cursor
string
perPage
integer
syncToken
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Job Templates

Description

Retrieve a list of job templates. Use this to see available templates for creating standardized job postings.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Locations

Description

Retrieve a list of all locations. Use this to get available office locations and remote work settings for jobs.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Offers

Description

Retrieve a list of job offers. Use this to fetch all offers made to candidates with optional pagination and filtering.

Action Parameters

cursor
string
perPage
integer
syncToken
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Openings

Description

Retrieve a list of openings (job requisitions). Use this to fetch all openings with optional pagination and filtering.

Action Parameters

cursor
string
perPage
integer
syncToken
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Projects

Description

Retrieve a list of all projects. Use this to see candidate sourcing projects and recruiting initiatives.

Action Parameters

cursor
string
perPage
integer
syncToken
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Sources

Description

Retrieve a list of all candidate sources. Use this to get available sources for categorizing how candidates were sourced (e.g., LinkedIn, referrals, job boards).

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Survey Form Definitions

Description

Retrieve a list of all survey form definitions. Use this to see available candidate survey templates.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Users

Description

Retrieve a list of all users in the organization. Use this to get information about team members, their roles, and permissions.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Search Candidates

Description

Search for candidates by email or name. Use this for quick lookups to find specific candidates without pagination. Supports exact email match or partial name match.

Action Parameters

email
string
name
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Search Jobs

Description

Search for jobs by title. Use this for quick lookups to find specific job openings without pagination.

Action Parameters

title
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Search Projects

Description

Search for projects by title. Use this for quick lookups to find specific sourcing projects or recruiting initiatives.

Action Parameters

title
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Search Users

Description

Search for users by email or name. Use this for quick lookups to find specific team members in the organization.

Action Parameters

email
string
name
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Set Job Status

Description

Set the status of a job (Open, Closed, Draft). Use this to open or close job openings, or set them back to draft.

Action Parameters

jobId
stringRequired
status
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Application

Description

Update custom fields or other properties of an application. Use this to modify application data such as custom field values.

Action Parameters

applicationId
stringRequired
customFields
object

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Candidate

Description

Update candidate information such as name, position, company, or school. Use this to modify candidate profile details.

Action Parameters

candidateId
stringRequired
company
string
name
string
position
string
school
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Department

Description

Update department information such as name. Use this to modify existing department details.

Action Parameters

departmentId
stringRequired
name
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Job

Description

Update job details such as title and other properties. Use this to modify existing job information.

Action Parameters

jobId
stringRequired
title
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Job Posting

Description

Update job posting details such as title or listing status. Use this to modify public job postings and control visibility.

Action Parameters

isListed
boolean
jobPostingId
stringRequired
title
string

Action Response

data
objectRequired
error
string
successful
booleanRequired