back to articles
Luka Mrkić

Luka Mrkić

Head of BD

How to Automate Salesforce Proposals with Claude

How to Automate Salesforce Proposals with Claude

Sales reps spend only 30% of their time actually selling. The other 70% goes to admin, meeting prep, research, and proposal writing (Salesforce State of Sales, 2024, n=5,500 across 27 countries). Proposal creation is where that time compounds: pulling Opportunity fields from Salesforce, drafting custom sections for each account, formatting, and routing for approval. The data is already in your CRM. Getting it into a proposal isn’t automatic.

Anthropic and Salesforce expanded their partnership in October 2025, making Claude a preferred model within Agentforce and the first large language model fully contained within Salesforce’s data trust boundary (Anthropic, 2025). That matters for enterprise teams who’ve held off on AI proposals over data residency concerns. This guide covers the five integration paths that connect Claude to Salesforce Opportunity data, which approach matches your team’s technical profile, and how to get the native MCP connector reading your live pipeline in under 10 minutes. Teams already automating sales follow-up with Claude and HubSpot will recognize the same field-injection pattern applied here at the proposal level.

Key Takeaways

  • Sales reps spend 30% of their time selling and 70% on admin and proposal work (Salesforce State of Sales, 2024). The Claude and Salesforce integration targets that 70%.
  • Anthropic and Salesforce expanded their partnership in October 2025; Claude is now a preferred Agentforce model and the first LLM inside Salesforce’s data trust boundary.
  • Five integration paths connect Claude to Salesforce: the native MCP connector takes under 10 minutes with no Salesforce API key required, and covers most daily proposal workflows on its own.

Why are sales teams connecting Claude to Salesforce for proposals?

Sellers who effectively partner with AI are 3.7 times more likely to hit quota than those who don’t (Gartner, 2024). That gap doesn’t come from using AI to rewrite subject lines. It comes from connecting AI to the workflows where time disappears. For most sales teams, that means proposal creation.

The average RFP response takes 33 hours of team time (Loopio, 2026). Multiply that by the number of active opportunities in your Salesforce pipeline and you have a clear picture of where capacity goes. Salesforce already holds every piece of data a proposal needs: account name, industry, deal scope, proposed investment, close date, and agreed next steps. What it doesn’t do is write.

Connecting Claude to that data closes the loop. A proposal that used to take two hours of research, drafting, and formatting becomes a prompt that runs against a live Opportunity record and returns a structured draft in under two minutes. The 81% of sales teams now experimenting with or implementing AI (Salesforce State of Sales, 2024) are reaching for exactly this kind of structured CRM connection, not chat sessions that require copy-pasting data by hand.

McKinsey puts the global productivity potential from generative AI in sales and marketing at $0.8 to $1.2 trillion (McKinsey, 2024). The mechanism is reclaiming the 70% of rep time that disappears into admin and proposal work before it reaches a client.

Where Sales Reps Spend Their Time - 30% Selling, 70% Non-Selling (Admin, Proposal Writing, Research)

Sellers who effectively use AI are 3.7 times more likely to hit quota, and 81% of sales organizations are now experimenting with or fully implementing AI tools (Gartner, 2024; Salesforce State of Sales, 2024). The opportunity is connecting that AI activity to the CRM data that already describes every deal in the pipeline.

What are the five ways to connect Claude to Salesforce?

Anthropic and Salesforce expanded their partnership in October 2025, establishing Claude as a preferred model within Agentforce and the first LLM fully contained within Salesforce’s data trust boundary (Anthropic, 2025). That partnership opens five practical integration paths, each suited to different team profiles and automation needs.

PathSetup TimeTechnical SkillCostBest For
Native MCP connectorUnder 10 minNoneFree + API usageRevOps, content managers
Make.com / Zapier30–60 minLowAutomation platform feeScheduled pipelines
REST API direct call1–2 hrsMediumAPI usage onlyDeveloper-built tools
n8n (self-hosted)2–4 hrsMedium–HighSelf-host onlyFull pipeline control
Agentforce BYO LLM1–2 daysHighAgentforce licenseEnterprise Salesforce orgs

Setup Time by Integration Path - Native MCP under 10 min, Make.com/Zapier 30-60 min, REST API 1-2 hrs, n8n 2-4 hrs, Agentforce BYO LLM 1-2 days

For most sales teams, the choice comes down to one question: does the workflow need to run on a schedule without a human in the loop? If not, the native MCP connector handles the full proposal lifecycle interactively. If yes, Make.com or n8n add automated triggers without requiring Salesforce admin work.

79% of RFP teams now use generative AI in their proposal process, and 84% of those teams use it at least weekly (Loopio, 2026, n=1,500+). The five paths above cover every technical profile from a solo RevOps manager to an engineering team building a production pipeline.

The Anthropic-Salesforce expanded partnership (October 2025) established Claude as a preferred model within Agentforce, the first LLM fully contained within Salesforce’s data trust boundary (Anthropic, 2025). Enterprise sales teams no longer need to send Opportunity data outside their org’s trust perimeter to generate Claude proposals, which removes the primary compliance objection that has blocked AI proposal adoption in regulated industries.

How do you set up the Salesforce MCP connector for Claude?

The native MCP connector authenticates to Salesforce via OAuth and requires no Salesforce API key on the Claude side (Anthropic, 2025). It reads Opportunity, Account, Contact, and Product objects in real time through Claude’s built-in connector settings, and the full setup runs in under 10 minutes.

Step 1. Open Claude Desktop or Claude Code. Go to Settings, then Integrations, and find the Salesforce connector.

Step 2. Click Connect. You’ll be redirected to Salesforce OAuth. Authorize with an account that has Connected App permissions.

Step 3. Select which Salesforce objects Claude can access. The default offers broad access — narrow it before completing setup.

Step 4. Test the connection: “List the open Opportunities in my Salesforce org with an Amount over $50,000.”

Step 5. Run a first proposal task: “Read Opportunity ID 006XXXXXXXXXXXXXXX and write a five-section proposal using the account’s industry and deal description.”

For Claude Code or a self-hosted MCP setup, add the server configuration to claude_desktop_config.json:

{
  "mcpServers": {
    "salesforce": {
      "command": "node",
      "args": ["/path/to/salesforce-mcp-server/index.js"],
      "env": {
        "SF_LOGIN_URL": "https://login.salesforce.com",
        "SF_CLIENT_ID": "your-connected-app-client-id",
        "SF_PRIVATE_KEY_PATH": "/path/to/server.key",
        "SF_USERNAME": "your.user@company.com"
      }
    }
  }
}

Claude can also query Salesforce directly using SOQL once connected. A typical Opportunity pull for proposal context looks like this:

SELECT Id, Name,
       Account.Name, Account.Industry, Account.BillingCity,
       Amount, CloseDate, StageName,
       Description, Next_Steps__c
FROM Opportunity
WHERE StageName = 'Proposal/Price Quote'
  AND IsClosed = false
ORDER BY CloseDate ASC

The OAuth scope step catches most teams off guard. Salesforce orgs typically mix editorial records, financial data, and client information across different objects. Granting Claude access to all objects means Claude can surface contract terms or billing records when you prompt it in a proposal session. Scope access to Opportunity, Account, Contact, and Product objects only, and create a dedicated Connected App for the Claude integration that sits separate from any existing API credentials. If your team manages proposals for multiple clients, create one Connected App per client workspace and authorize them independently.

The native MCP connector authenticates to Salesforce via OAuth and reads Opportunity, Account, and Contact objects in real time with no additional API key required on the Salesforce side (Anthropic, 2025). The setup takes under 10 minutes from a Salesforce account with Connected App permissions, making it the zero-engineering entry point for any sales team already on Claude.

How do you build a Claude proposal workflow in Salesforce?

65% of organizations now regularly use generative AI in at least one business function, and the largest adoption jump in 2024 happened in sales and marketing, where usage more than doubled (McKinsey State of AI, 2024). The teams leading that adoption are injecting Salesforce field values directly into each prompt.

The complete workflow runs in four stages: pull Opportunity data, inject field values into the Claude prompt, generate the proposal, write the output back to Salesforce. Each stage maps to a specific object field.

Proposal SectionSalesforce FieldObject
Client nameNameAccount
Industry contextIndustryAccount
Engagement scopeDescriptionOpportunity
Proposed investmentAmountOpportunity
TimelineCloseDateOpportunity
Pain points and contextNext_Steps__cOpportunity (custom)
Product detailsName, DescriptionProduct2 (via OpportunityLineItem)

The Python implementation using the official anthropic SDK and the simple_salesforce library runs the full cycle in under 30 lines:

from anthropic import Anthropic
from simple_salesforce import Salesforce

sf = Salesforce(
    username='your.user@company.com',
    password='yourpassword',
    security_token='yoursecuritytoken'
)

opp_id = '006XXXXXXXXXXXXXXX'
result = sf.query(f"""
    SELECT Name, Account.Name, Account.Industry,
           Amount, CloseDate, Description, Next_Steps__c
    FROM Opportunity WHERE Id = '{opp_id}'
""")
opp = result['records'][0]

prompt = f"""Write a professional business proposal for this opportunity:

Client: {opp['Account']['Name']}
Industry: {opp['Account']['Industry']}
Scope: {opp['Description']}
Investment: ${int(opp['Amount']):,}
Target close: {opp['CloseDate']}
Agreed next steps: {opp['Next_Steps__c']}

Structure as five sections: Executive Summary, Understanding Your Situation,
Our Recommended Approach, Investment and Timeline, Next Steps.
Write in a consultative tone matching a senior account executive."""

client = Anthropic()
response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=3000,
    messages=[{"role": "user", "content": prompt}]
)

print(response.content[0].text)

Every tutorial for Claude and CRM integrations shows how to connect the modules. Very few explain what determines whether the output is worth sending: the field-variable injection. A prompt that says “Write a business proposal” returns a generic template. A prompt that injects Account.Industry, Opportunity.Description, and Opportunity.Amount returns a proposal that reads as if the author researched the client before writing. The same principle applies whether you’re using the MCP connector interactively or Make.com on a schedule: the injection step is what makes automated proposals earn trust instead of adding to the editing queue. For teams already building automated outputs from structured Airtable records with Claude, the field-variable injection pattern here is identical.

McKinsey projects generative AI could unlock $0.8 to $1.2 trillion in additional productivity across global sales and marketing (McKinsey, 2024). The mechanism in proposal workflows is field-variable injection: pulling Salesforce Opportunity data directly into Claude prompts converts generic AI output into context-specific proposals without the manual research that currently consumes most of the 33 hours the average RFP response takes.

What does a Claude-generated Salesforce proposal look like?

Teams using proposal automation tools submit 10 more RFPs per year than those without, while the average response still takes 33 hours (Loopio, 2026). Claude compresses that 33-hour window down to the time it takes to review and approve rather than draft.

A concrete example: Opportunity record for Meridian Logistics, a freight brokerage, with Amount = $85,000, CloseDate = 2026-06-30, Description = "Implement AI-powered route optimization and customer reporting dashboards", and Next_Steps__c = "Technical discovery call scheduled May 15". The Claude output structures into five sections automatically:

  • Executive Summary: Two paragraphs opening on Meridian’s supply chain visibility gap and closing on the engagement outcome
  • Understanding Your Situation: Industry-specific context on freight brokerage reporting pain points
  • Our Recommended Approach: Route optimization + dashboard scope with delivery milestones
  • Investment and Timeline: $85,000 phased across 90 days with clear deliverable gates
  • Next Steps: Technical discovery May 15, SOW delivery May 22, kickoff June 2

The result reads as if the account executive researched Meridian before writing. The account executive reviewed it, adjusted two numbers, and sent it. Total time: under 8 minutes.

The per-proposal cost at current Anthropic pricing is lower than most teams expect. A 2,000-word proposal pulls approximately 1,500 input tokens from Salesforce fields and generates approximately 2,500 output tokens. At Claude Sonnet 4.6 pricing of $3 per million input tokens and $15 per million output tokens (Anthropic, May 2026), each proposal costs roughly $0.042. The full monthly cost by volume and model:

Monthly proposalsHaiku 4.5Sonnet 4.6Opus 4.6
10$0.14$0.42$0.70
100$1.40$4.20$7.00
500$7.00$21.00$35.00
1,000$14.00$42.00$70.00

Estimate based on 1,500 input + 2,500 output tokens per proposal. Anthropic Batch API reduces all figures by 50% for non-real-time generation.

Monthly API Cost at 1,000 Proposals - Haiku 4.5 $14, Sonnet 4.6 $42, Opus 4.6 $70 (Anthropic pricing, May 2026)

For most sales teams running 100 to 500 proposals per month, Sonnet 4.6 is the right model: strong enough to produce client-ready drafts, cheap enough that the API cost is a rounding error compared to the rep time it saves.

How do you manage Claude API costs and Salesforce rate limits?

Salesforce Enterprise Edition orgs receive 100,000 API requests per 24-hour rolling window, plus 1,000 additional requests per user license (Salesforce Developer Docs, 2025). A typical MCP proposal call makes two Salesforce API requests: one to pull the Opportunity record and one to pull the related Account. At that rate, an Enterprise org can process 50,000 proposals per day before approaching the API limit. For most sales teams, Anthropic token-per-minute limits become the binding constraint long before the Salesforce API window fills.

Anthropic enforces token-per-minute limits at the API level, visible in the Anthropic Console usage dashboard. For high-volume scenarios processing hundreds of proposals in a batch, use the Anthropic Batch API: it costs 50% less than the standard API and runs asynchronously, so you’re not waiting on a synchronous response for each record.

Model selection should match the use case:

Use CaseRecommended ModelReason
Client-facing proposalsClaude Sonnet 4.6Strong writing quality, manageable cost
Internal drafts / first-passClaude Haiku 4.53x cheaper, sufficient for internal review
Complex multi-section RFPsClaude Opus 4.6Highest reasoning depth for 10,000+ word responses
High-volume batch (overnight)Haiku 4.5 + Batch API50% batch discount, lowest cost per document

For the Make.com and n8n paths, add a delay module between Salesforce read actions when processing more than 50 records in a single run. The Salesforce standard API enforces limits per rolling window, not per minute, so spacing calls 100ms apart is sufficient for most scheduled pipelines.

For teams scaling to thousands of proposals per month with custom routing logic, automating content pipelines with Claude and AWS covers the Lambda plus Bedrock architecture that handles volume beyond what the native connector and Make.com are designed for.

For teams scaling beyond 500 proposals per month, the Anthropic Batch API is the most practical cost lever: it cuts standard API pricing by 50% for asynchronous workloads. A 500-proposal-per-month workflow on Sonnet 4.6 costs approximately $21 at standard rates and around $10.50 with the Batch API.


If you’re looking to integrate AI into your sales workflows, get in touch with us and we’ll map out where automation adds the most value for your team.


Frequently Asked Questions

Does the Claude Salesforce integration require Salesforce Einstein or a special plan?

No. The MCP connector works with any Salesforce org that supports Connected Apps, available on all paid Salesforce editions including Essentials. The Agentforce BYO LLM path requires separate Agentforce licenses. For most sales teams, the MCP connector and REST API approach require only a Connected App, which any Salesforce system administrator can create in under 15 minutes.

Can Claude write to Salesforce records or only read them?

With write permissions scoped during the OAuth setup, Claude can create and update Salesforce records. This enables writing a generated proposal directly to a ContentVersion, a custom Proposal__c object, or a Notes field on the Opportunity record. Scope write access narrowly. Grant it only to the specific objects the proposal workflow needs to update to avoid unintended changes to other records in the org.

What is the difference between Claude via MCP and Claude via Agentforce?

The MCP connector is interactive: a team member prompts Claude in Claude Desktop or Claude Code, and Claude reads Salesforce Opportunity data in real time. Agentforce BYO LLM is automated, firing Claude on a Salesforce trigger without any human in the loop. Anthropic and Salesforce expanded their partnership in October 2025, making Claude a preferred Agentforce model and the first LLM inside Salesforce’s trust boundary (Anthropic, 2025).

How much does it cost to generate proposals with Claude Sonnet 4.6?

A typical 2,000-word proposal requires approximately 1,500 input tokens from Salesforce fields and 2,500 output tokens from Claude. At Claude Sonnet 4.6 pricing of $3 per million input tokens and $15 per million output tokens (Anthropic, May 2026), each proposal costs roughly $0.042. Running 100 proposals per month costs approximately $4.20 in API fees, with no additional Salesforce charge for using the connector.

Conclusion

The 70% of sales rep time that doesn’t go to selling is recoverable. Start with the native Salesforce MCP connector: no API key, no engineering involvement, running in under 10 minutes against your live Opportunity data. Build your first prompt template using the field mapping table in this guide. Add Make.com or n8n when you need proposals to generate automatically on a trigger rather than on demand.

Five integration paths cover every team profile on this page, from a solo RevOps manager who needs interactive proposal drafts to an engineering team building a production pipeline processing hundreds of records per day. The right starting point is the one that runs today, not the one that requires a sprint.

For teams using HubSpot instead of Salesforce, automating sales follow-up with Claude and HubSpot covers the same field-injection pattern applied to CRM follow-up sequences. For the full picture of how an AI-first agency wires these integrations into a complete operating system, how to build an AI operating system for your agency covers the architecture across six departments and 37 active client accounts.