Contact Persons
When working with a company client, you usually interact with multiple stakeholders (management, billing, procurement, technical leads). Frihet lets you register each contact person separately inside the People tab of the client record (/contacts/:id).
Add Person
- Open the client record and select the People tab (shortcut
p). - When a company has no registered contacts yet, the Focus strip at the top highlights Missing accountable person with a direct Open people button.
- Click Add person, fill in the contact fields, and click Add person to save.
Available Fields
| Field | Required | Example | Usage notes |
|---|---|---|---|
| Name | Yes | María García | Full name of the contact person |
| Role | No | Financial Director | Job title or responsibility within the organization |
| No | maria@acme.es | Direct email address (independent from the company billing email) | |
| Phone | No | +34 922 123 456 | Direct phone number or extension |
Edit, Delete, and Permissions
Hover over any contact card to reveal the available actions:
- Edit contact (pencil icon): opens the inline form pre-filled with the current details; click Save to confirm.
- Delete contact (trash icon): removes the contact person from the client record.
Creating, editing, and deleting contacts respect your workspace role permissions on the clients module (write to add or edit, and delete to remove). Read-only workspace members can view all contact persons without modifying them.
REST API and MCP Server Usage
Client contacts can be managed programmatically via the REST API and the MCP server:
| Operation | REST Endpoint | MCP Tool |
|---|---|---|
| List contacts | GET /v1/clients/{clientId}/contacts | list_client_contacts |
| Create contact | POST /v1/clients/{clientId}/contacts | create_client_contact |
| Get contact | GET /v1/clients/{clientId}/contacts/{contactId} | — |
| Update contact | PATCH /v1/clients/{clientId}/contacts/{contactId} | — |
| Delete contact | DELETE /v1/clients/{clientId}/contacts/{contactId} | delete_client_contact |
Example registering a primary contact person via the REST API:
curl -X POST "https://api.frihet.io/v1/clients/cli_01J8X9K2M4/contacts" \
-H "X-API-Key: fri_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "Maria Garcia",
"role": "Financial Director",
"email": "maria@acme.es",
"phone": "+34 922 123 456",
"isPrimary": true
}'
Contract Limits and Boundaries
- Fields and maximum lengths in REST API and MCP:
nameis required (up to200characters);email(up to255characters),phone(up to50characters),role(up to200characters), andisPrimary(boolean, defaults tofalsein the REST API) are optional. - Partial updates vs. MCP tools: an existing contact can be edited inline in the web app (Edit contact) or via
PATCH /v1/clients/{clientId}/contacts/{contactId}in the REST API; the MCP server exposes list, create, and delete operations (list_client_contacts,create_client_contact, anddelete_client_contact).
Practical Use
- Identify who the accountable stakeholder is at each company so calls, notes, and next actions never stay unowned at the company level.
- Keep direct emails and phone numbers for billing or procurement contacts without overwriting the company's fiscal invoicing email.
Related: Client detail · Notes and activities · Kanban CRM