Salesflare MCP server
70 operations0 webhooks
CRM for small-to-medium B2B companies with automated data entry, pipeline management, and customer relationships.
Try Salesflare with your agent
Connect Salesflare, then paste this into Claude, ChatGPT or Cursor. For ideas from other apps, see the use cases.
Using Corsair, show me what you can do in Salesflare on my account, then run one read-only example and show me the result.
Salesflare tools and triggers
Tools are what your agent can do in Salesflare through Corsair's MCP server. Triggers are the Salesflare events a routine can start from.
Accounts
- Add Account ContactsWrite
Link contacts to an account
accounts.addAccountContacts
- Add Account UsersWrite
Add users to an account
accounts.addAccountUsers
- Create AccountWrite
Create a new account
accounts.createAccount
- Delete AccountDestructive
Delete a account
accounts.deleteAccount
- List Account FeedRead-only
List the activity feed of an account
accounts.listAccountFeed
- List Account MessagesRead-only
List messages on an account
accounts.listAccountMessages
- List AccountsRead-only
List Accounts
accounts.listAccounts
- Retrieve AccountRead-only
Retrieve a single account by ID
accounts.retrieveAccount
- Update AccountWrite
Update a account
accounts.updateAccount
- Update Account ContactsWrite
Update the contact links of an account
accounts.updateAccountContacts
- Update Account UsersWrite
Update the users assigned to an account
accounts.updateAccountUsers
Customfields
- Create Custom Field SubWrite
Create a new customField sub-resource
customfields.createCustomFieldSub
- Delete Custom FieldDestructive
Delete a customField
customfields.deleteCustomField
- List Custom Field OptionsRead-only
List the options of a custom field
customfields.listCustomFieldOptions
- List Custom Field TypesRead-only
List the custom field types supported by Salesflare
customfields.listCustomFieldTypes
- List Custom FieldsRead-only
List the custom fields of an item class
customfields.listCustomFields
- Retrieve Custom FieldRead-only
Retrieve a single customField by ID
customfields.retrieveCustomField
- Update Custom FieldWrite
Update a customField
customfields.updateCustomField
Tags
- Create TagWrite
Create a new tag
tags.createTag
- Delete TagDestructive
Delete a tag
tags.deleteTag
- List Tag UsageRead-only
List the usage statistics of a tag
tags.listTagUsage
- List TagsRead-only
List Tags
tags.listTags
- Retrieve TagRead-only
Retrieve a single tag by ID
tags.retrieveTag
- Update TagWrite
Update a tag
tags.updateTag
Contacts
- Create ContactWrite
Create a new contact
contacts.createContact
- Delete ContactDestructive
Delete a contact
contacts.deleteContact
- List ContactsRead-only
List Contacts
contacts.listContacts
- Retrieve ContactRead-only
Retrieve a single contact by ID
contacts.retrieveContact
- Update ContactWrite
Update a contact
contacts.updateContact
Opportunities
- Create OpportunityWrite
Create a new opportunity
opportunities.createOpportunity
- Delete OpportunityDestructive
Delete a opportunity
opportunities.deleteOpportunity
- List OpportunitiesRead-only
List Opportunities
opportunities.listOpportunities
- Retrieve OpportunityRead-only
Retrieve a single opportunity by ID
opportunities.retrieveOpportunity
- Update OpportunityWrite
Update a opportunity
opportunities.updateOpportunity
Workflows
- Create WorkflowWrite
Create a new workflow
workflows.createWorkflow
- List WorkflowsRead-only
List Workflows
workflows.listWorkflows
- Retrieve WorkflowRead-only
Retrieve a single workflow by ID
workflows.retrieveWorkflow
- Update WorkflowWrite
Update a workflow
workflows.updateWorkflow
- Update Workflow AudienceDestructive
Update the audience record of a workflow
workflows.updateWorkflowAudience
Meetings
- Create MeetingWrite
Create a new meeting
meetings.createMeeting
- Delete MeetingDestructive
Delete a meeting
meetings.deleteMeeting
- Retrieve MeetingRead-only
Retrieve a single meeting by ID
meetings.retrieveMeeting
- Update MeetingWrite
Update a meeting
meetings.updateMeeting
Messages
- Create MessageWrite
Create a new message
messages.createMessage
- Create Message FeedbackWrite
Submit feedback for a message
messages.createMessageFeedback
- Delete MessageDestructive
Delete a message
messages.deleteMessage
- Update MessageWrite
Update a message
messages.updateMessage
Tasks
- Create TaskWrite
Create a new task
tasks.createTask
- Delete TaskDestructive
Delete a task
tasks.deleteTask
- List TasksRead-only
List Tasks
tasks.listTasks
- Update TaskWrite
Update a task
tasks.updateTask
Calls
- Create CallWrite
Create a new call
calls.createCall
- Update CallWrite
Update a logged call
calls.updateCall
Datasources
- List Email Data SourcesRead-only
List the connected email data sources
datasources.listEmailDataSources
- Update Email Data SourceWrite
Update a connected email data source
datasources.updateEmailDataSource
Groups
- List GroupsRead-only
List Groups
groups.listGroups
- Retrieve GroupRead-only
Retrieve a single group by ID
groups.retrieveGroup
Me
- List My ContactsRead-only
List contacts assigned to the current user
me.listMyContacts
- Retrieve Current UserRead-only
Retrieve the currently authenticated user
me.retrieveCurrentUser
Settings
- Retrieve Ai SettingsRead-only
Retrieve the workspace's AI settings
settings.retrieveAiSettings
- Update Ai SettingsWrite
Update the workspace's AI settings
settings.updateAiSettings
Stages
- List StagesRead-only
List Stages
stages.listStages
- Retrieve StageRead-only
Retrieve a single stage by ID
stages.retrieveStage
Users
- List UsersRead-only
List Users
users.listUsers
- Retrieve UserRead-only
Retrieve a single user by ID
users.retrieveUser
Campaigns
- List Campaign Merge FieldsRead-only
List the merge fields available for campaigns
campaigns.listCampaignMergeFields
Currencies
- List CurrenciesRead-only
List Currencies
currencies.listCurrencies
Filterfields
- List Filter FieldsRead-only
List the filter fields available for an entity
filterfields.listFilterFields
Persons
- List PersonsRead-only
List persons resolved from email addresses
persons.listPersons
Pipelines
- List PipelinesRead-only
List Pipelines
pipelines.listPipelines
Connect Salesflare to Claude, ChatGPT or Cursor
- 1
Connect Salesflare in Corsair
Add your Salesflare API key once in Corsair. Corsair stores the credential encrypted and makes the Salesflare API calls for your agent, so it never goes into a prompt or a config file. Connect Salesflare
If your link lets the agent add apps, you can skip this: it gives you a sign-in link the first time it needs Salesflare. On a ChatGPT personal plan, connect Salesflare here first.
- 2
Add Corsair's MCP server to your agent
Every client uses the same address:
https://mcp.corsair.dev/mcpOpen Customize → Connectors → Add custom connector, paste the address, then select Connect.Add a custom MCP server with the address and choose OAuth. Personal plans get read tools only.Add to CursorOr add this to~/.cursor/mcp.json. Cursor opens Corsair to sign in the first time it connects.{ "mcpServers": { "corsair": { "url": "https://mcp.corsair.dev/mcp" } } }Run this, then run/mcpin Claude Code to sign in.claude mcp add --transport http corsair https://mcp.corsair.dev/mcpCodex, Gemini CLI, VS Code, Zed and other clients with OAuth sign-in work the same way. Clients without it, such as GitHub Copilot's coding agent, use a link's own address and an API key. Setup for every client
- 3
Sign in and choose what needs your approval
Your client opens Corsair to sign in. Pick a link: the apps your agent can use and a mode that decides what it may do without asking. In the default Cautious mode, Salesflare's read and write operations run right away and its 9 destructive operations wait for your approval. Strict mode asks before every write and refuses destructive operations, and Read mode allows reads only.
FAQ
Install corsair and @corsair-dev/salesflare, add the Salesflare plugin, and connect with an API key. Then call methods like corsair.salesflare.api.accounts.addAccountContacts() from your app. Corsair keeps each tenant isolated.
Yes. Salesflare requires an API key from your Salesflare account or developer dashboard. Create credentials with access that matches what you automate, then paste them into Corsair or connect through managed auth in Hub.
Yes. One Corsair client can hit Salesflare, GitHub, Notion, Stripe, and the rest. Trigger Salesflare from a webhook, push updates to Slack, or chain actions across plugins. Same tenant context across integrations, plain TypeScript.
Teams use Corsair for crm for small-to-medium b2b companies with automated data entry, pipeline management, and customer relationships. Common builds include sync jobs, admin tooling, and agents that call Salesflare APIs from your backend.
The SDK is open source. Self-host and you pay Corsair nothing for the integration layer. Hub bills for hosted auth and execution, not per Salesflare API call. Hub has a generous free tier. For hobby projects you can probably run the whole thing on free. Paid plans start to matter with more tenants or heavier traffic.
We maintain @corsair-dev/salesflare in the open repo. When Salesflare ships API changes, upgrade the package. Your call sites stay typed. You should not need to rewrite the integration layer each time.
No. Corsair does not read your Salesflare data or hold individual access credentials. Credentials stay in your database. API calls run on your instance. We do not store Salesflare data on your behalf.
Yes. Add https://mcp.corsair.dev/mcp as a custom connector or MCP server in Claude, ChatGPT, Cursor, VS Code, Claude Code, Codex or any client that supports remote MCP servers with OAuth sign-in, then sign in to Corsair. On ChatGPT personal plans, custom servers currently get read tools only.
Yes. Put Salesflare on a link in Strict mode and every write waits for your approval, while destructive actions are refused. The default Cautious mode asks only before the 9 destructive Salesflare operations. You can change a link's mode at hub.corsair.dev/me.