Skip to main content
Glama

application_list

Retrieve and filter candidate applications from the Ashby hiring pipeline by job ID, status, or creation date using pagination.

Instructions

List applications. Can filter by jobId and/or status. Uses cursor pagination.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
jobIdNoFilter by job ID (UUID)
statusNoFilter by application status
createdAfterNoOnly return applications created after this timestamp (ms since epoch)
limitNoMax results per page (default/max 100)
cursorNoCursor for next page

Implementation Reference

  • The tool call handler `handle_call_tool` uses `TOOL_ENDPOINT_MAP` to route tool calls to the appropriate Ashby API endpoint. The execution logic is defined generically by calling `ashby.post(endpoint, data=arguments)`.
    @server.call_tool()
    async def handle_call_tool(name: str, arguments: dict[str, Any]) -> list[types.TextContent]:
        """Route tool calls to the correct Ashby endpoint, passing arguments directly."""
        endpoint = TOOL_ENDPOINT_MAP.get(name)
        if not endpoint:
            return [types.TextContent(type="text", text=f"Unknown tool: {name}")]
    
        try:
            # Pass arguments straight through -- tool schemas already use Ashby's
            # camelCase param names so no translation is needed.
            response = ashby.post(endpoint, data=arguments if arguments else None)
            return [types.TextContent(type="text", text=json.dumps(response, indent=2))]
  • The definition and input schema for the `application_list` tool.
    types.Tool(
        name="application_list",
        description="List applications. Can filter by jobId and/or status. Uses cursor pagination.",
        inputSchema={
            "type": "object",
            "properties": {
                "jobId": {"type": "string", "description": "Filter by job ID (UUID)"},
                "status": {
                    "type": "string",
                    "enum": ["Active", "Hired", "Archived", "Lead"],
                    "description": "Filter by application status",
                },
                "createdAfter": {
                    "type": "integer",
                    "description": "Only return applications created after this timestamp (ms since epoch)",
                },
                "limit": {"type": "integer", "description": "Max results per page (default/max 100)"},
  • The mapping of `application_list` to its corresponding Ashby API endpoint path `/application.list` in `TOOL_ENDPOINT_MAP`.
        "application_list": "/application.list",
        "application_info": "/application.info",
        "application_create": "/application.create",
        "application_change_stage": "/application.change_stage",
        "interview_stage_list": "/interviewStage.list",
        "interview_plan_list": "/interviewPlan.list",
        "interview_list": "/interview.list",
        "interview_info": "/interview.info",
        "department_list": "/department.list",
        "user_list": "/user.list",
        "source_list": "/source.list",
        "archive_reason_list": "/archiveReason.list",
        "location_list": "/location.list",
    }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PlenishAI/mcp-ashby'

If you have feedback or need assistance with the MCP directory API, please join our Discord server