Affinity v2 integrationAffinity v2 logo

Affinity v2 integration for AI agents.

Affinity v2 integration for AI agents with secure authentication and server-side credential injection. Open Connector runs the OAuth, seals the token in an encrypted vault, and serves Affinity v2 tools to your agent over MCP or a typed API — credentials injected server-side, every call audited, nothing leaving your infrastructure. Open source (AGPL-3.0) and self-hostable.

What your agents can do

Real Affinity v2 actions, managed and audited.

Your user connects Affinity v2 once; your agent can then use Affinity External API v2 to manage CRM companies, people, opportunities, lists, notes, interactions, field data, and webhooks — scoped to the OAuth permissions you grant and the tool allowlist you configure. Every action is least-privilege and written to a tamper-evident audit trail.

  1. 1

    Your user grants Affinity v2 access once (OAuth) — the token lands in the vault.

  2. 2

    Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.

  3. 3

    Every routed call appends a hash-chained audit record — nothing leaves your infra.

Tools & triggers

Supported Affinity v2 tools.

86 tools are generated from the published Affinity v2 catalog. Descriptions are plain text; each action remains subject to its configured authentication and tool allowlist.

Showing 86 tools. All published catalog entries are included in this page's server-rendered HTML.

Delete a dropdown option for a List Field
Delete a dropdown option for a List Field.
lists
Delete a single Note
Delete a note. You can only delete notes you created. Deleting a root note also deletes its
notes
Get current user
Returns information about the authenticated user, their current organization, and API key permissions.
auth
Get metadata on all Calls
Paginate through all calls in Affinity. Returns basic information about the call interaction
calls
Get metadata on all Chat Messages
Paginate through all chat messages in Affinity. Returns basic information about the chat message
chat-messages
Get all Companies
Paginate through Companies in Affinity.
companies
Get a single Company
Returns basic information and non-list-specific field data on the requested Company.
companies
Get field values on a single Company
Paginate through field values on a single company.
companies
Get a single field value on a Company
Retrieve a single field on a company. Returns basic information and the field value.
companies
Get a Company's List Entries
Paginate through the List Entries (AKA rows) for the given Company across all Lists.
companies
Get a Company's Lists
Paginate through all Lists where the given Company appears as an entry and that you have access to view.
companies
Get Notes for a Company
Returns relevant notes for a given company which includes directly attached notes and notes attached to persons on this company.
companies
Get Relationships for a Company
Returns the relationships for a given company, including the interaction score that measures
companies
Get metadata on Company Fields
Returns metadata on non-list-specific Company Fields.
companies
Get dropdown options for a Company Field
Returns the dropdown options for a specific dropdown or ranked-dropdown field on a Company.
companies
Get All Company Merges
Retrieve paginated company merges for the organization.
company-merges
Get Company Merge
Retrieve the status and details of a specific company merge.
company-merges
Get metadata on all Emails
Paginate through all emails in Affinity. Returns basic information about the email interaction
emails
Get all field value changes
Retrieve field value changes across all entities and fields in your Affinity workspace.
field-value-changes
Get Coworker Inferred Connections
Returns inferred connections based on shared work history, grouped by the target person, strongest first.
inferred-connections
Get metadata on all Lists
Paginate through all Lists in your organization that you have access to view.
lists
Get metadata on a single List
Retrieve detailed information about a specific List you have access to view.
lists
Get metadata on a single List's Fields
Returns metadata on the Fields available on a single List.
lists
Get dropdown options for a List Field
Returns the dropdown options for a specific dropdown or ranked-dropdown field on a List.
lists
Get a dropdown option for a List Field
Get a single dropdown option for a List Field.
lists
Get all List Entries on a List
Paginate through the List Entries (AKA rows) on a given List.
lists
Get a single List Entry on a List
Retrieve a single list entry.
lists
Get Field Value Changes on a List Entry
Paginate through the historical value changes on the fields of a List Entry.
lists
Get field values on a single List Entry
Paginate through all field values on a single list entry.
lists
Get a single field value
Returns a single field value on a list entry.
lists
Get metadata on Saved Views
Paginate through all Saved Views you have access to view for a specific List.
lists
Get metadata on a single Saved View
Retrieve detailed information about a specific Saved View you have access to view.
lists
Get all List Entries on a Saved View
Paginate through the List Entries (AKA rows) on a given Saved View.
lists
Get metadata on all Meetings
Paginate through all Meetings in Affinity. Returns basic information about past and future meeting interactions
meetings
Get all Notes
Returns all notes, with the exception of replies.
notes
Get a single Note
Get a Note with a given id
notes
Get Companies attached to a Note
Returns directly attached companies for a given Note.
notes
Get Opportunities attached to a Note
Returns directly attached opportunities for a given Note.
notes
Get Persons attached to a Note
Returns directly attached persons for a given Note.
notes
Get replies for a Note
This endpoint returns reply notes for a given note id.
notes
Get all Opportunities
Paginate through Opportunities in Affinity.
opportunities
Get a single Opportunity
Returns basic information but **not** field data on the requested Opportunity.
opportunities
Get Notes for an Opportunity
Returns Notes for a given Opportunity which includes directly attached notes and those attached to persons on this Opportunity.
opportunities
Get All Person Merges
Retrieve paginated person merges for the organization.
person-merges
Get Person Merge
Retrieve the status and details of a specific person merge.
person-merges
Get all Persons
Paginate through Persons in Affinity.
persons
Get a single Person
Returns basic information and non-list-specific field data on the requested Person.
persons
Get field values on a single Person
Paginate through field values on a single person.
persons
Get a single field on a Person
Retrieve a single field on a person. Returns basic information and the field value.
persons
Get a Person's List Entries
Paginate through the List Entries (AKA rows) for the given Person across all Lists.
persons
Get a Person's Lists
Paginate through all Lists where the given Person appears as an entry and that you have access to view.
persons
Get Notes for a Person
Returns notes for a given person id which includes directly attached notes, notes on meetings this person attended, and notes where this person is mentioned.
persons
Get Relationships for a Person
Returns the relationships for a given person, including the interaction score that measures the
persons
Get metadata on Person Fields
Returns metadata on non-list-specific Person Fields.
persons
Get dropdown options for a Person Field
Returns the dropdown options for a specific dropdown or ranked-dropdown field on a Person.
persons
Get all Reminders
Returns a page of Reminders visible to the caller.
reminders
Get All Company Merge Tasks
Retrieve paginated company merge tasks for the organization.
tasks
Get Company Merge Task
Retrieve the status and details of a specific task for company merges.
tasks
Get All Person Merge Tasks
Retrieve paginated person merge tasks for the organization.
tasks
Get Person Merge Task
Retrieve the status and details of a specific task for person merges.
tasks
Get all Transcripts
Paginate through all transcripts and return basic metadata only. Use the single transcript endpoint to fetch the entire transcript data.
transcripts
Get a single Transcript
Get a transcript with a given id with the first 100 fragments of the transcript. Use the /fragments endpoint to fetch all fragments of the transcript.
transcripts
Get fragments of a transcript
Get fragments of a transcript given a transcript id.
transcripts
Get all Users
Paginate through internal Users in your organization.
users
Get a single User
Returns information about a single internal User, including name, primary email
users
Perform batch operations on a company's fields
Perform batch operations on a company's fields.
companies
Perform batch operations on a list entry's fields
Perform batch operations on a list entry's fields.
lists
Perform batch operations on a person's fields
Perform batch operations on a person's fields.
persons
Update a single field value on a Company
Update a single field value on a company.
companies
Search Companies
Search for Companies matching the given criteria.
companies
Initiate Company Merge
Initiate a company merge to combine a duplicate company profile into a primary company profile.
company-merges
Send Feedback
Send feedback to Affinity about a particular product area or feature.
feedback
Search Files by Keyword
Search files by keyword. The scope of the search is controlled by the request body:
files
Create a List
Create a new List.
lists
Create a dropdown option for a List Field
Create a dropdown option for a List Field.
lists
Update a dropdown option for a List Field
Update a dropdown option for a List Field.
lists
Update a single field value on a List Entry
Update a single field value.
lists
Search List Entries
Search for List Entries on a List matching the given criteria.
lists
Create a Note
Create a new note. By default it is authored by the calling user; set `creator` to attribute
notes
Update a single Note
Make an update to an existing note's body content or its entity associations.
notes
Search Notes by Keyword
Search notes by keyword. The scope of the search is controlled by the request body:
notes
Initiate Person Merge
Initiate a person merge to combine a duplicate person profile into a primary person profile.
person-merges
Update a single field value on a Person
Update a single field value on a person.
persons
Search Persons
Search for Persons matching the given criteria.
persons
Create a Reminder
Creates a new Reminder. Exactly one of `company`, `person`, or `opportunity` must be provided.
reminders
Semantic Search
Perform an AI-powered semantic search. Use the `entity-type` field in the request body to
semantic-search
FAQ

Affinity v2 integration, answered

How do AI agents use Affinity v2 through Open Connector?
Your user connects Affinity v2 once with one of its cataloged authentication methods. Open Connector stores the credential in an encrypted vault and exposes Affinity v2 tools to your agent over MCP or a typed API, with credentials injected server-side on each call.
Is this a Affinity v2 MCP server?
Yes. Open Connector can serve Affinity v2 as a named MCP server with a scoped allowlist and a per-user connection URL, so any MCP client can call Affinity v2 actions with credentials injected server-side.
Where do Affinity v2 credentials live?
In your own infrastructure. Open Connector keeps credentials in its own vault and injects them at call time, so they never leave your environment.

Give your agents Affinity v2 — keep the keys.

Open source, self-hostable, with Affinity v2 credentials that never leave your infrastructure. Run it from source today.