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
Tool | What It Does | Example Use |
---|---|---|
Get All Lists | Retrieve every list you have access to in Affinity | ”Get all lists and return list_id and title” |
Get List | Get detailed information about a specific list | ”Get list ‘Series A Pipeline’ and return title, type, and field_ids” |
Get List Entries | Retrieve entries from a list with pagination | ”Get the first 50 entries from list ‘Active Investors’ and return entry_id and entity_name” |
Get List Entry | Get 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 Entry | Add a person, organization, or opportunity to a list | ”Add organization ‘TechStartup Inc’ to list ‘Due Diligence Q2’ and return entry_id” |
Delete List Entry | Remove an entity from a list | ”Remove ‘Declined Deal - Widget Co’ from list ‘Active Pipeline‘“ |
Get Fields | Retrieve all fields (columns) with optional filters | ”Get fields where type is ‘dropdown’ and return id and name” |
Get Field Values | Get field values for one entity | ”Get field values for person ‘Jane Smith’ and return field_name, value” |
Create Field Value | Create or update a field value | ”Set field ‘Deal Stage’ to ‘Term Sheet’ for opportunity ‘Series B - DataCo’ and return field_value_id” |
Update Field Value | Update an existing field value by ID | ”Update ‘Last Contact Date’ field to ‘2024-03-15’ for person ‘John Chen at Microsoft‘“ |
Delete Field Value | Clear a field value | ”Clear the ‘Next Steps’ field for opportunity ‘Seed Round - AI Startup‘“ |
Search Persons | Search people in your Affinity database | ”Search persons where title contains ‘Partner’ and return person_id, name, email” |
Get Person | Get details for a single person | ”Get person ‘Sarah Johnson at Sequoia’ and return name, title, primary_email” |
Create Person | Create a new person | ”Create person ‘Michael Lee’, email michael@techventures.com, organization ‘Tech Ventures’, and return person_id” |
Update Person | Update a person’s information | ”Update person ‘David Kim’ set title to ‘Managing Director‘“ |
Delete Person | Delete a person | ”Delete person ‘Former Employee - Test Account‘“ |
Get Person Fields | List global person fields | ”Get person fields and return id, name, type” |
Search Organizations | Search organizations | ”Search organizations where domain is ‘stripe.com’ and return organization_id, name, website” |
Get Organization | Get details for one organization | ”Get organization ‘Andreessen Horowitz’ and return name, domain, industry” |
Create Organization | Create a new organization | ”Create organization ‘NewCo Technologies’, domain newco.tech, and return organization_id” |
Update Organization | Update an organization | ”Update organization ‘StartupXYZ’ set industry to ‘Enterprise SaaS‘“ |
Delete Organization | Delete an organization | ”Delete organization ‘Duplicate - Acme Corp OLD‘“ |
Get Organization Fields | List global organization fields | ”Get organization fields and return id, name” |
Search Opportunities | Search deals/opportunities | ”Search opportunities where name contains ‘Series A’ and return opportunity_id, name, stage” |
Get Opportunity | Get details for one opportunity | ”Get opportunity ‘Series B - FinTech Co’ and return name, stage, amount” |
Create Opportunity | Create a new opportunity | ”Create opportunity ‘Seed Round - AI Platform’, organization ‘AI Platform Inc’, stage ‘Initial Meeting’, and return opportunity_id” |
Update Opportunity | Update an opportunity | ”Update opportunity ‘Series A - DataTools’ set stage to ‘Due Diligence‘“ |
Delete Opportunity | Delete an opportunity | ”Delete opportunity ‘Cancelled - Project X‘“ |
Get Notes | Retrieve notes with filters | ”Get notes created after 2024-01-01 and return note_id, content” |
Get Note | Get a specific note | ”Get note from ‘Partner meeting with Bessemer’ and return content, created_date” |
Create Note | Create a new note | ”Create note ‘Intro call - very interested in their ML approach’ for person ‘Emma Wilson at TechCo’ and return note_id” |
Update Note | Update an existing note | ”Update note for ‘Due diligence call’ content to ‘DD complete - moving to term sheet stage‘“ |
Delete Note | Delete 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: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):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
Empty Outputs
Empty Outputs
In the node creation window, click “Request changes” and ask the AI to add debug logs and verify the API response.
Incorrect Results
Incorrect Results
In the node creation window, click “Request changes” and describe what you expected versus what you received.
Errors
Errors
First click “Fix with Gummie”. If multiple attempts fail, simplify your prompt or contact support.
Iterate with Request Changes
Iterate with Request Changes
MCP node creation often requires a few tweaks. Use “Request changes” (in the node creation window) to refine filters, output fields, or pagination.
Need More Help?
- Watch What are MCP Nodes video tutorial
- Check out MCP Best Practices in Gumloop University
- Join the Gumloop Community for support
- View the Affinity MCP setup guide for Claude and Cursor
- Contact support at support@gumloop.com