list_contact_fields
Retrieve all contact fields in Freshdesk using this tool. Access structured contact field data to automate support operations and enhance ticket management workflows with AI integration.
Instructions
List all contact fields in Freshdesk.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/freshdesk_mcp/server.py:936-946 (handler)The handler function decorated with @mcp.tool() registers and implements the list_contact_fields tool, fetching contact fields from Freshdesk API.@mcp.tool() async def list_contact_fields()-> list[Dict[str, Any]]: """List all contact fields in Freshdesk.""" url = f"https://{FRESHDESK_DOMAIN}/api/v2/contact_fields" headers = { "Authorization": f"Basic {base64.b64encode(f'{FRESHDESK_API_KEY}:X'.encode()).decode()}" } async with httpx.AsyncClient() as client: response = await client.get(url, headers=headers) return response.json()
- src/freshdesk_mcp/server.py:112-148 (schema)Pydantic model defining the schema/structure for contact fields, relevant to the fields returned by list_contact_fields.class ContactFieldCreate(BaseModel): label: str = Field(..., description="Display name for the field (as seen by agents)") label_for_customers: str = Field(..., description="Display name for the field (as seen by customers)") type: str = Field( ..., description="Type of the field", pattern="^(custom_text|custom_paragraph|custom_checkbox|custom_number|custom_dropdown|custom_phone_number|custom_url|custom_date)$" ) editable_in_signup: bool = Field( default=False, description="Set to true if the field can be updated by customers during signup" ) position: int = Field( default=1, description="Position of the company field" ) required_for_agents: bool = Field( default=False, description="Set to true if the field is mandatory for agents" ) customers_can_edit: bool = Field( default=False, description="Set to true if the customer can edit the fields in the customer portal" ) required_for_customers: bool = Field( default=False, description="Set to true if the field is mandatory in the customer portal" ) displayed_for_customers: bool = Field( default=False, description="Set to true if the customers can see the field in the customer portal" ) choices: Optional[List[Dict[str, Union[str, int]]]] = Field( default=None, description="Array of objects in format {'value': 'Choice text', 'position': 1} for dropdown choices" )