Firefish integration
Firefish is a recruitment CRM. An agent can search candidates and contacts by name, email, address, phone, dates or last action, read a candidate's or a contact's full profile, and update their main profile. An update replaces the whole profile, so read it first and send back every field to keep. Companies, jobs, placements, shift bookings, timesheets, leads, adverts, notes, documents and record creation are not exposed here. Authentication is OAuth 2.0 client credentials: create Custom API credentials in Firefish and grant them the candidatesAPI and contactsAPI read and write scopes; access tokens last about 10 minutes and are renewed automatically.
Say what should happen.
The workflow builds itself.
What you can do with Firefish
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Candidate, 3 operations
get_candidateGet candidateGETReturns one candidate's full profile by Ref (from search_candidates): contact details, address, status, salaries, marketing consents, owner recruiter, skills, CV flags and the CandidateURL to open it in Firefish.search_candidatesSearch candidatesGETSearches candidates (LIKE match on text filters, 2+ characters) created, or updated with use-updated-dates, in a date range (default: last 7 days). Pass a Ref from Results to get_candidate for the full profile.update_candidateUpdate candidatePUTCall get_candidate first and send back every field to keep: the whole profile is replaced and a field left out is set to null (the field list says marketing flags and statuses take the system default). Needs FirstName, Surname, Source, EmailAddress.
Contact, 3 operations
get_contactGet contactGETReturns one client contact's full profile by Ref (from search_contacts): company and parent company, job title, phones, email, owner recruiter, marketing consents, status, type, tags and social links.search_contactsSearch contactsGETSearches client contacts (LIKE match on text filters, 2+ characters) created, or updated with use-updated-dates, in a date range (default: last 7 days). Pass a Ref from Results to get_contact for the full profile.update_contactUpdate contactPUTCall get_contact first and send back every field to keep: the whole profile is replaced and a field left out is set to null (the field list says marketing flags take the system default). Needs FirstName, Surname, EmailAddress, OwnerUserEmail.
Use Firefish from Claude Code, Cursor or Codex
Connect Firefish in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Firefish operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Firefish
- Create your workspace
Sign up free. Nothing to install.
- Connect Firefish once
Add your Firefish connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Firefish integration FAQ
What can you do with the Firefish integration?
LiveContext exposes 6 operations on Firefish, covering candidate and contact.
