crm
Affinity
Connect Affinity to Elaichi and hand every teammate a governed MCP endpoint — 61 tools ready to call from Claude, Cursor, or any MCP client, clamped by roles, restrictions, and an audit log.
AI tools
Affinity tools for your AI agents
61 tools are ready to mint as an MCP endpoint the moment you connect Affinity — governed by the same roles, restrictions, and audit log as everything else in Elaichi.
list_all_affinity_whoami
Get information about the authenticated user and their Affinity instance. Returns tenant details (id, name, subdomain), user data (id, firstName, lastName, email), and grant metadata (type, scope, createdAt).
list_all_affinity_organizations
List organizations in Affinity that match the search criteria. Returns key fields like organization details. Requires no parameters.
get_single_affinity_organization_by_id
Get details about a specific organization in Affinity using id. Returns key fields such as id, name, domain, domains, person_ids, opportunity_ids, and list_entries including creator_id and created_at.
delete_a_affinity_organization_by_id
Delete an organization in Affinity using id. Returns confirmation of deletion and related metadata in the response.
update_a_affinity_organization_by_id
Update organization with id in Affinity. Returns updated fields such as name, domain, and associated person_ids.
create_a_affinity_organization
Create a new organization in Affinity by providing name. Returns fields such as id, name, domain, domains, global, and person_ids in the response.
list_all_affinity_notes
List all notes in Affinity. Returns key fields including id, creator_id, person_ids, organization_ids, opportunity_ids, content, is_meeting, and timestamps created_at and updated_at.
get_single_affinity_note_by_id
Get a specific note in Affinity using id. Returns fields such as creator_id, content, person_ids, organization_ids, interaction details, and timestamps created_at and updated_at.
create_a_affinity_note
Create a new note in Affinity. Requires content. Returns id, creator_id, person_ids, organization_ids, opportunity_ids, parent_id, content, type, created_at, and updated_at fields in the response.
update_a_affinity_note_by_id
Update a specific note in Affinity by id with new content. Requires id and content. Returns the updated note object including fields like content, created_at, updated_at, and creator_id.
delete_a_affinity_note_by_id
Delete a note in Affinity using id. Removes the specified note permanently.
list_all_affinity_opportunities
List opportunities in Affinity that match search criteria. Returns id, name, person_ids, organization_ids, and list_entries in the response. Requires no parameters.
get_single_affinity_opportunity_by_id
Get a specific opportunity in Affinity using id. Returns id, name, person_ids, organization_ids, and list_entries with details such as creator_id, list_id, entity_id, and created_at.
create_a_affinity_opportunity
Create a new opportunity in Affinity with required parameters name and list_id. Returns the newly created opportunity resource including key details such as its id and name.
update_a_affinity_opportunity_by_id
Update an existing opportunity in Affinity using id. Returns fields such as id, name, person_ids, organization_ids, and list_entries with details like creator_id and created_at.
delete_a_affinity_opportunity_by_id
Delete an opportunity in Affinity. Requires id. Returns confirmation of deletion status in the response.
list_all_affinity_persons
List persons in Affinity that match search criteria. Returns an array of person records including id, first_name, last_name, primary_email, and emails fields.
get_single_affinity_person_by_id
Get a specific person in Affinity by id. Returns fields such as id, first_name, last_name, primary_email, emails, organization_ids, opportunity_ids, current_organization_ids, and list_entries.
create_a_affinity_person
Create a new person in Affinity using first_name, last_name, and emails. Returns fields such as id, first_name, last_name, primary_email, emails, and organization_ids in the response.
update_a_affinity_person_by_id
Update a person in Affinity using id. Returns updated person details including first_name, last_name, emails, and organization_ids.
delete_a_affinity_person_by_id
Delete a person in Affinity using id. Removes the person record associated with the specified id and returns confirmation of successful deletion.
list_all_affinity_email_interactions
List email interactions from Affinity. Returns a collection of email interaction records from the emails field of the API response.
list_all_affinity_call_interactions
List call interactions in Affinity. Returns a collection of call records from the calls response field.
list_all_affinity_meeting_interactions
List meeting interactions in Affinity. Returns a collection of meeting records from the interactions endpoint, filtered to meetings only.
get_single_affinity_meeting_interaction_by_id
Get a single meeting interaction in Affinity by id. Returns the full meeting interaction record for the specified id.
get_single_affinity_interaction_by_id
Get details for a specific interaction in Affinity. Requires id and type. Returns fields including date, direction, manual_creator_id, persons, type, and notes for the interaction.
create_a_affinity_interaction
Create a new interaction in Affinity with required parameters type, person_ids, content, and date. Returns fields such as id, date, attendees, type, title, notes, and persons associated with the interaction.
update_a_affinity_interaction_by_id
Update an existing interaction in Affinity using id, type, and person_ids. Returns fields such as id, date, attendees, title, type, notes, and persons with their details for confirmation of update.
delete_a_affinity_interaction_by_id
Delete a specific interaction in Affinity using id and type. Returns confirmation of successful deletion.
list_all_affinity_interactions
List interactions in Affinity filtered by type, start_time, and end_time. Returns key fields such as interaction id, timestamps, participants, and related entities.
list_all_affinity_chat_interactions
List chat interactions in Affinity. Returns a collection of chat interaction objects from the chats response field.
list_all_affinity_events
List events in Affinity. Returns a collection of event objects from the authenticated organization's account.
create_a_affinity_event
Create a new event in Affinity. Returns the created event object including its id and associated details.
list_all_affinity_lists
List all lists visible to the user in Affinity. Returns id, name, type, public, owner_id, and list_size fields for each list.
get_single_affinity_list_by_id
Get details about a specific list in Affinity using id. Returns list attributes including id, type, name, public, owner_id, list_size, and fields with field id, name, value_type, allows_multiple, and dropdown_options.
create_a_affinity_list
Create a new list in Affinity with specified name, type, and is_public parameters. Returns the created list with fields such as id, name, type, and is_public in the response.
list_all_affinity_fields
List all fields in Affinity. Returns id, name, list_id, enrichment_source, value_type, allows_multiple, track_changes, and dropdown_options for each field.
create_a_affinity_field
Create a new field in Affinity. Requires name, entity_type, and value_type. Returns id, name, list_id, enrichment_source, value_type, allows_multiple, track_changes, and dropdown_options for the created field.
delete_a_affinity_field_by_id
Delete a specific field in Affinity using id. Returns confirmation of deletion.
list_all_affinity_person_fields
Get global person fields in Affinity. Returns an array of global fields that exist on people including id, name, value_type, allows_multiple, and dropdown_options.
list_all_affinity_organization_fields
List all global organization fields in Affinity. Returns id, name, value_type, allows_multiple, and dropdown_options for each field.
list_all_affinity_rate_limits
Querying the rate limit endpoint will yield information about account (AKA organization)-level and API key-level rate limits and usage. The rate limit resource, a JSON body of data including limits, calls remaining, seconds until reset and call count.
list_all_affinity_list_entries
Get all list entries for list_id in Affinity. Returns an array of list entries including id, list_id, creator_id, entity_id, created_at, and entity details such as type, first_name, last_name, and primary_email.
get_single_affinity_list_entry_by_id
Get a specific list entry by list_id and id in Affinity. Returns fields id, list_id, creator_id, entity_id, created_at, and entity details including type, first_name, last_name, primary_email, and emails.
create_a_affinity_list_entry
Create a new list entry in Affinity. Requires list_id and entity_id. Returns id, list_id, creator_id, entity_id, created_at, and entity details including type, first_name, last_name, and primary_email.
delete_a_affinity_list_entry_by_id
Delete a specific list entry in Affinity. Requires list_id and id. Returns success indicating the deletion was completed. Also deletes all associated field values and, if part of an opportunity list, deletes the associated opportunity.
list_all_affinity_field_values
Get all field values attached to a person, organization, opportunity, or list_entry in Affinity. Requires one of person_id, organization_id, opportunity_id, or list_entry_id. Returns id, field_id, entity_id, created_at, updated_at, and value fields.
create_a_affinity_field_value
Create a new field value in Affinity using required parameters field_id, entity_id, and value. Returns id, field_id, entity_id, list_entry_id, created_at, updated_at, and value for the created field value.
update_a_affinity_field_value_by_id
Update a field value in Affinity using id. Requires id. Returns the updated field value object with fields id, field_id, list_entry_id, entity_id, created_at, updated_at, and value reflecting the new data.
delete_a_affinity_field_value_by_id
Delete a field value in Affinity. Requires id. Returns confirmation of deletion with relevant metadata fields if applicable.
list_all_affinity_field_values_changes
List field-values-changes in Affinity for a specific field using field_id. Returns an array of changes including action_type, old_value, new_value, and timestamps relevant to the field’s modifications.
list_all_affinity_relationship_strength
Get relationship strength in Affinity for a specific external_id. Returns key metrics such as score and influencing factors for the evaluated relationship.
list_all_affinity_reminders
List reminders in Affinity filtered by optional parameters like person_id, organization_id, opportunity_id, creator_id, owner_id, completer_id, type, reset_type, status, due_before, and due_after. Returns reminders with fields such as id, type, content, created_at, due_date, status, creator, owner, person, organization, opportunity, and reminder_days.
get_single_affinity_reminder_by_id
Get details of a specific reminder in Affinity using id. Returns id, type, created_at, content, due_date, status, and related person, creator, and owner information.
create_a_affinity_reminder
Create a new reminder in Affinity. Requires owner_id, type, and due_date when type=0. Returns fields such as id, type, content, due_date, status, and creator in the response.
update_a_affinity_reminder_by_id
Update a reminder in Affinity by id. Allows modifying fields such as type, reset_type, reminder_days, due_date, and content. Returns the updated reminder resource including id, type, content, due_date, status, and creator details.
delete_a_affinity_reminder_by_id
Delete a specific reminder in Affinity. Requires id. Returns confirmation of successful deletion.
list_all_affinity_files
List all files in Affinity. Returns entity_files array containing all files within your organization and next_page_token for pagination.
get_single_affinity_file_by_id
Get a specific file in Affinity using id. Returns details of the entity file including metadata and file information.
affinity_files_download
Download a specific file in Affinity using id. Returns the actual file corresponding to the id.
affinity_files_upload
Upload file attachments in Affinity for a specific entity using person_id. Returns uploaded file details including id, file name, and associated entity information. Requires person_id and at least one file or files parameter.
How it works
From Affinity account to governed MCP endpoint
Connect
Link a Affinity account through Elaichi's hosted connect flow. Credentials are vaulted — nobody, including the AI, ever sees them.
Compose
The connection becomes a toolbox instantly. Curate which Affinity tools are exposed, rename them, or freeze arguments.
Mint
Mint a personal MCP endpoint on that toolbox and paste it into Claude, Cursor, or any MCP client — governed by roles, restrictions, and audit logs.
Give every teammate a governed MCP server
Start a 14-day Gold trial — connect a product, curate a toolbox, and paste an endpoint into Claude or Cursor in minutes.