Manage every relationship, deal, and note in your Affinity CRM without leaving Gumloop. Search, create, and update people, organizations, opportunities, and lists with natural language so your pipeline stays up to date.
Instantly interact with every person, organization, opportunity, list, and note in your Affinity workspace using plain English commands.

What is Affinity MCP?

The Affinity MCP node uses AI to generate a custom node that speaks Affinity’s API language for you. Just describe what you want - search a list, create a person, or update a deal - and the node handles the technical details behind the scenes. Because the node understands Affinity’s endpoints, you can work with your CRM through natural language and reuse the node anytime.

What Can It Do for You?

  • Look up people, organizations, opportunities, or notes in seconds with flexible search queries
  • Add or update contacts, companies, and deals directly from your workflow
  • Manage list entries so key prospects stay in the right buckets
  • Read and write custom field values to keep data perfectly synced across tools

Available Tools

ToolWhat It DoesExample Use
Get All ListsRetrieve every list you have access to in Affinity”Get all lists and return list_id and title”
Get ListGet detailed information about a specific list”Get list ‘Series A Pipeline’ and return title, type, and field_ids”
Get List EntriesRetrieve entries from a list with pagination”Get the first 50 entries from list ‘Active Investors’ and return entry_id and entity_name”
Get List EntryGet details for a single list entry”Get entry for ‘Acme Corp’ in list ‘Portfolio Companies’ and return entity_id, list_id, and created_date”
Create List EntryAdd a person, organization, or opportunity to a list”Add organization ‘TechStartup Inc’ to list ‘Due Diligence Q2’ and return entry_id”
Delete List EntryRemove an entity from a list”Remove ‘Declined Deal - Widget Co’ from list ‘Active Pipeline‘“
Get FieldsRetrieve all fields (columns) with optional filters”Get fields where type is ‘dropdown’ and return id and name”
Get Field ValuesGet field values for one entity”Get field values for person ‘Jane Smith’ and return field_name, value”
Create Field ValueCreate or update a field value”Set field ‘Deal Stage’ to ‘Term Sheet’ for opportunity ‘Series B - DataCo’ and return field_value_id”
Update Field ValueUpdate an existing field value by ID”Update ‘Last Contact Date’ field to ‘2024-03-15’ for person ‘John Chen at Microsoft‘“
Delete Field ValueClear a field value”Clear the ‘Next Steps’ field for opportunity ‘Seed Round - AI Startup‘“
Search PersonsSearch people in your Affinity database”Search persons where title contains ‘Partner’ and return person_id, name, email”
Get PersonGet details for a single person”Get person ‘Sarah Johnson at Sequoia’ and return name, title, primary_email”
Create PersonCreate a new person”Create person ‘Michael Lee’, email michael@techventures.com, organization ‘Tech Ventures’, and return person_id”
Update PersonUpdate a person’s information”Update person ‘David Kim’ set title to ‘Managing Director‘“
Delete PersonDelete a person”Delete person ‘Former Employee - Test Account‘“
Get Person FieldsList global person fields”Get person fields and return id, name, type”
Search OrganizationsSearch organizations”Search organizations where domain is ‘stripe.com’ and return organization_id, name, website”
Get OrganizationGet details for one organization”Get organization ‘Andreessen Horowitz’ and return name, domain, industry”
Create OrganizationCreate a new organization”Create organization ‘NewCo Technologies’, domain newco.tech, and return organization_id”
Update OrganizationUpdate an organization”Update organization ‘StartupXYZ’ set industry to ‘Enterprise SaaS‘“
Delete OrganizationDelete an organization”Delete organization ‘Duplicate - Acme Corp OLD‘“
Get Organization FieldsList global organization fields”Get organization fields and return id, name”
Search OpportunitiesSearch deals/opportunities”Search opportunities where name contains ‘Series A’ and return opportunity_id, name, stage”
Get OpportunityGet details for one opportunity”Get opportunity ‘Series B - FinTech Co’ and return name, stage, amount”
Create OpportunityCreate a new opportunity”Create opportunity ‘Seed Round - AI Platform’, organization ‘AI Platform Inc’, stage ‘Initial Meeting’, and return opportunity_id”
Update OpportunityUpdate an opportunity”Update opportunity ‘Series A - DataTools’ set stage to ‘Due Diligence‘“
Delete OpportunityDelete an opportunity”Delete opportunity ‘Cancelled - Project X‘“
Get NotesRetrieve notes with filters”Get notes created after 2024-01-01 and return note_id, content”
Get NoteGet a specific note”Get note from ‘Partner meeting with Bessemer’ and return content, created_date”
Create NoteCreate a new note”Create note ‘Intro call - very interested in their ML approach’ for person ‘Emma Wilson at TechCo’ and return note_id”
Update NoteUpdate an existing note”Update note for ‘Due diligence call’ content to ‘DD complete - moving to term sheet stage‘“
Delete NoteDelete a note”Delete note ‘Old meeting notes - archived‘“

How to Use

1

Create Your Affinity MCP Node

Go to your node library, search for Affinity, and click “Create a node with AI”
2

Add Your Prompt

Drag the Affinity MCP node to your canvas and add your prompt in the text box.
3

Test Your Node

Run the node to see the results. If it works as expected, you’re all set. If you run into issues, check the troubleshooting tips below.
4

Save and Reuse

Once your Affinity MCP node is working, save it to your library so you can use this customized node in any workflow.

Example Prompts

With 33 available tools, these examples showcase common use cases. Try them as-is or adjust the details to fit your data. Search Contacts:
Search persons with title "CEO" where organization domain is "acme.com" and return person_id, name, primary_email
Add a New Person:
Create person John Doe, email john.doe@beta.io, organization 555666, and return person_id
Update a Deal Stage:
Update opportunity 888999 set stage to "Negotiation"
Fetch Organization Details:
Get organization 555666 and return name, domain, industry
Add a Note to a Person:
Create note "Great introductory call - follow up next week" for person 222333 and return note_id
Pull List Entries:
Get the first 25 entries from list 48392 and return entry_id, entity_id
Start with a single, concrete action like “Search persons” or “Create note.” Once it works, chain additional nodes (Ask AI, Google Sheets Writer, etc.) to enrich or store the results.

Troubleshooting

If your Affinity MCP node isn’t working as expected, try these best practices:

Keep Prompts Simple and Specific

  • Good: “Search persons named ‘Alice Chen’ and return person_id and primary_email”
  • Bad: “Search persons named ‘Alice Chen’, update her title to ‘CFO’, then add her to the Investors list”
While this prompt might work, it’s more efficient to break it into separate nodes. Affinity MCP works best with focused, single-action prompts.

Match What Affinity Can Do

  • Good: “Delete note 444555”
  • Bad: “Generate a follow-up email to note 444555 and send it via Gmail”
Affinity MCP excels at CRM data. For sending emails, combine it with Gmail Sender in your workflow.

Break Complex Tasks Into Steps

Instead of trying to do everything in one prompt (which can cause timeouts and errors):
Find all Series A opportunities, update their stage to Negotiation, fetch the associated CEOs, and create follow-up notes for each.
Break this into smaller, focused nodes that each handle one task:
1

Step 1: Search Opportunities

Search opportunities where stage is “Prospecting” and return opportunity_id, organization_id
2

Step 2: Find CEOs

Search persons with title “CEO” where organization_id is 555666 and return person_id
3

Step 3: Create Notes

Create note “Moved to negotiation stage” for person 222333 and return note_id
In your workflow, connect these nodes sequentially. The opportunity IDs output from Step 1 become the input for Step 2, and the person IDs from Step 2 feed into Step 3.

Focus on Data Retrieval

Affinity MCP is great at getting information from Affinity. For analysis or content creation, connect it to other nodes. Example:
  • Good prompt: “Get notes created yesterday and return note_id and content”
  • Bad prompt: “Get yesterday’s notes, summarize them, and draft follow-up tasks”
Use Ask AI to summarize or generate tasks after Affinity MCP retrieves the raw data.

Troubleshooting Node Creation

Need More Help?