Skip to main content
Glama

candidate_create_note

Add formatted notes to candidate profiles in Ashby ATS to document interactions, track progress, and maintain hiring records.

Instructions

Add a note to a candidate. Supports HTML formatting.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
candidateIdYesThe candidate ID
noteYesNote content (HTML supported)
sendNotificationsNoNotify subscribed users (default false)

Implementation Reference

  • The `handle_call_tool` function serves as the central handler for all tools, including "candidate_create_note". It uses the `TOOL_ENDPOINT_MAP` to route requests to the appropriate Ashby API endpoint.
    @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))]
        except requests.exceptions.HTTPError as e:
            error_body = ""
            if e.response is not None:
                try:
                    error_body = e.response.text
                except Exception:
                    pass
            return [
                types.TextContent(
                    type="text",
                    text=f"Ashby API error on {endpoint}: {e}\n{error_body}",
                )
            ]
        except Exception as e:
            return [types.TextContent(type="text", text=f"Error calling {endpoint}: {e}")]
  • Definition and input schema for the "candidate_create_note" tool.
        name="candidate_create_note",
        description="Add a note to a candidate. Supports HTML formatting.",
        inputSchema={
            "type": "object",
            "properties": {
                "candidateId": {"type": "string", "description": "The candidate ID"},
                "note": {"type": "string", "description": "Note content (HTML supported)"},
                "sendNotifications": {
                    "type": "boolean",
                    "description": "Notify subscribed users (default false)",
                },
            },
            "required": ["candidateId", "note"],
        },
    ),
  • Entry in the `TOOL_ENDPOINT_MAP` that links the tool name to its corresponding Ashby API endpoint path.
    "candidate_create_note": "/candidate.createNote",

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