This guide walks you through connecting Claude Desktop to your Apto org using a third-party MCP (Model Context Protocol) server. Once connected, you can ask questions about your CRM data in plain English, look up deals and properties, and update records without leaving the conversation.
Note: These instructions are for macOS. A free Claude account is all you need.
This is a third-party connection. It is not built or officially supported by Buildout, Salesforce, or Anthropic.
Before You Start
This is a do-it-yourself integration. This setup uses a third-party, open-source tool to connect Claude to your Apto CRM. It isn’t built, maintained, or supported by Apto, Buildout, or Anthropic, so you and your team are responsible for how it’s set up and used.
Once connected, Claude works as you. It can see and change anything your Apto user can, including creating, editing, and deleting records. Buildout isn’t responsible for any changes Claude makes to your data, so we recommend a few quick safeguards:
Require approval for changes. In Claude Desktop, you can set each connector tool to run freely, ask for your approval first, or be turned off entirely. A good starting point is to let Claude read freely and require approval for anything that creates, edits, or deletes.
Check in with your Apto admin. Your admin controls what your user account can do in Apto, which also limits what Claude can do.
Keep back office work in Apto. Use Apto’s booking workflow for invoices, payments, and commission bookings so approvals and calculations run correctly. Claude can still read and report on this data.
When in doubt, review what Claude is about to do before you approve it.
What Claude + Apto Can Do
Ask data questions in plain English. "Which of my deals are in contract?" "Show me every Tenant Rep assignment expiring in the next 60 days." "What did we close in Q2?"
Look up records and how they connect. Companies, contacts, properties, spaces, ownership, deals, pursuits, listings, projects, offers, closed deals and comps, deal parties, and commission splits.
Work with either deal pipeline. Claude handles orgs on the single-object Deal pipeline, orgs still on the multi-object pipeline (Pursuit, Listing, Project, Closed Deal), and orgs that have switched and kept their older deals as history.
Create or update records. Log a call, add a contact, or update a deal's stage.
Search across the CRM. Find every record tied to a company, contact, or address.
Export results to a file. Pull a list of comps, contacts, or deals into a spreadsheet.
Explain your data. Ask what a field means, where a value comes from, or how two objects relate.
Limitations and Things to Know
This is written for Mac only for now. Windows PC steps are not yet documented, but a similar process can be followed.
Setup is technical and manual. You'll install developer tools and edit a configuration file. Plan for about 20 minutes.
Claude can only see and do what your Apto user can. It runs as you and follows your existing object and field permissions.
This is an add-on, not a replacement. Keep using Apto for day-to-day work. Claude is a faster way to ask questions and handle quick updates.
Apto's internal names differ from what you see on screen. For example, Projects are stored as "Escrow" and Pursuits as "Proposal." Claude handles this automatically once you complete Part 4. Without it, answers will be generic or wrong.
Older deals after a pipeline switch. If your firm moved from the multi-object pipeline to the single-object Deal, your older deals stay where they were as history. Some may still show an open status because they were never closed out. Claude treats these as history, not active pipeline.
Use Apto for back office work. We recommend not using Claude to create or change invoices, payments, or commission bookings. Use Apto's booking workflow so approvals and calculations run correctly. Claude can still read and report on this data.
The first question after setup can take 20 to 30 seconds while the connection starts up.
This is a third-party connection. It is not built or officially supported by Buildout, Salesforce, or Anthropic.
Part 1: One-Time Prerequisites
These tools only need to be installed once. If you've already installed any of them, skip ahead.
Step 1: Install Node.js
Node.js runs the connection between Claude and Apto.
Go to nodejs.org and click Download Node.js (LTS).
Open the downloaded file and click through the installer.
Open Terminal (press Command + Space, type "Terminal," press Enter) and run:
node --version
You should see a version number like v22.x.x. If you see an error, restart your Mac and try again.
Step 2: Install the Salesforce CLI
Apto runs on Salesforce. The Salesforce CLI lets you securely sign in to your Apto org from your Mac.
Go to developer.salesforce.com/tools/salesforcecli and download the macOS installer.
Run the installer.
In Terminal, run:
sf --version
If the command isn't found, close and reopen Terminal.
Step 3: Install Claude Desktop
Claude Desktop is the Mac app that hosts the connection. It is separate from the claude.ai website.
Go to claude.ai/download and install the Mac app.
Open Claude Desktop and log in with your Anthropic account.
Part 2: Connect Claude Desktop to Your Apto Org
Step 4: Sign In to Apto
In Terminal, run:
sf org login web --alias apto-crm
A browser window opens. Log in to Apto with your usual credentials and click Allow if prompted.
Close the browser tab when you see the success message. Terminal will confirm "Successfully authorized."
Note: apto-crm is a nickname for your org. You can use a different one, but it must match exactly in Step 5 and in your prompts.
Step 5: Configure Claude Desktop
In Claude Desktop, go to Claude menu → Settings → Developer → Edit Config. This opens a file called claude_desktop_config.json. If it only shows the file in Finder, open it with TextEdit.
Replace the entire contents of the file with:
{
"mcpServers": {
"salesforce-mcp-server": {
"command": "npx",
"args": ["@advanced-communities/salesforce-mcp-server"],
"env": {
"ALLOWED_ORGS": "apto-crm"
}
}
}
}Save the file (Command + S).
Quit Claude Desktop completely (Command + Q) and reopen it. Closing the window is not enough.
Already using other connections in Claude Desktop? Don't replace the file. Add the "salesforce-mcp-server" block inside your existing "mcpServers" section instead, with a comma between entries. If you already connect to another Salesforce org, add your Apto nickname to ALLOWED_ORGS separated by a comma, for example "other-org,apto-crm".
TextEdit tip: TextEdit can turn straight quotes into curly quotes, which breaks the file. Go to Edit → Substitutions and uncheck Smart Quotes before pasting.
Part 3: Verify the Connection
Open a new conversation in Claude Desktop and try these prompts one at a time.
Test 1: Show me all connected Salesforce orgs You should see apto-crm in the list.
Test 2: List all custom objects in my apto-crm org that start with McLabs2 You should see Apto objects such as McLabs2__Property__c and McLabs2__Listing__c. ("McLabs2" is Apto's internal prefix.)
Test 3: Show me 5 properties from my apto-crm org with their city and building class Claude should return five property records.
Part 4: Teach Claude Your Apto Data Model
This step makes the biggest difference in answer quality. Apto's internal object and field names often don't match what you see on screen, and Claude needs a reference to translate between them.
Step 6: Create a Project
In Claude Desktop, click Projects in the sidebar, then New Project.
Name it something like Apto CRM.
Step 7: Add the Apto Object Reference
Download the Apto Object Reference file (apto_object_reference.md). Request access if you don't already have it.
In your project, click Add content under Project knowledge and upload the file.
The reference tells Claude which objects and fields Apto uses, what they're called on screen, how they connect, and how to tell which deal pipeline your firm is on.
Step 8: Add Project Instructions
Open Project instructions and paste the following. Edit the first line to match your firm.
I'm a commercial real estate broker using Apto CRM on Salesforce. My org nickname is apto-crm.
- Always use the Apto Object Reference in project knowledge before writing any query.
- Apto's namespace prefix is McLabs2__. Use API names in queries but answer me using the on-screen labels (Pursuit, Listing, Project, Closed Deal, Deal, Space).
- Before answering any deal, pipeline, offer, or commission question, check which deal pipeline my org uses, following the "Two Deal Pipelines" section of the reference.
- Show me results in a clean table unless I ask otherwise.
- Ask before creating, updating, or deleting any record. Never change invoices, payments, or commission bookings.
Step 9: Keep Apto Conversations in the Project
Start every Apto-related conversation inside this project so Claude always has the reference and your instructions.
Example Prompts
Once Part 4 is done, try these:
What deals do I have in contract, and what's the projected close date for each?
List every Tenant Rep assignment where the need date is in the next 90 days.
Show me all comps for industrial properties in Dallas that closed in the last 12 months, with price per SF and cap rate.
Who owns 123 Main Street, and what other properties do they own?
What's my commission split on the Riverside Plaza deal?
Which available spaces over 5,000 SF are in the Uptown submarket?
Log a call with Jane Smith for today: discussed renewal options.
Security and Access Notes
The connection runs as your Apto user and follows your Salesforce object permissions and field-level security.
Claude cannot see or change anything your Apto user can't.
Your sign-in is stored by the Salesforce CLI on your Mac. To disconnect, run sf org logout --target-org apto-crm in Terminal.
Support and reliability depend on the third-party connection tool, not Buildout, Salesforce, or Anthropic.
Troubleshooting
"No orgs found" or your org isn't listed Run the Step 4 sign-in command again. Make sure the nickname in your config matches exactly, including capitalization.
"npx" command not found Restart your Mac and run node --version. If it still fails, reinstall Node.js from nodejs.org.
No connection tools appear in Claude Desktop Fully quit with Command + Q and reopen. If that doesn't fix it, your config file likely has a formatting error, usually curly quotes or a missing comma. Repeat Step 5.
Apto objects don't appear Confirm your Apto user has Read access to Apto objects. Ask your Apto admin if you're unsure.
Claude's answers use unfamiliar names or look wrong Make sure you're in your Apto project and the Object Reference is uploaded (Part 4).
Deal results look out of date or include old open deals Your firm may have switched deal pipelines. Ask Claude: Which deal pipeline is my org on? It will check and adjust.
The first question takes a while A 20 to 30 second delay on the first question of a session is normal while the connection starts.
