A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://python.langchain.com/docs/integrations/tools/salesforce below:

Salesforce | 🦜️🔗 LangChain

Salesforce

A tool for interacting with Salesforce CRM using LangChain.

Overview

The langchain-salesforce package integrates LangChain with Salesforce CRM, allowing you to query data, manage records, and explore object schemas from LangChain applications.

Key Features Setup

Install the required dependencies:

 pip install langchain-salesforce
Authentication Setup

These environment variables will be automatically picked up by the integration.

Getting Your Security Token

If you need a security token:

  1. Log into Salesforce
  2. Go to Settings
  3. Click on "Reset My Security Token" under "My Personal Information"
  4. Check your email for the new token
Environment Variables (Recommended)

Set up your Salesforce credentials as environment variables:

export SALESFORCE_USERNAME="your-username@company.com"
export SALESFORCE_PASSWORD="your-password"
export SALESFORCE_SECURITY_TOKEN="your-security-token"
export SALESFORCE_DOMAIN="login" # Use "test" for sandbox environments
Instantiation
import os

from langchain_salesforce import SalesforceTool

username = os.getenv("SALESFORCE_USERNAME", "your-username")
password = os.getenv("SALESFORCE_PASSWORD", "your-password")
security_token = os.getenv("SALESFORCE_SECURITY_TOKEN", "your-security-token")
domain = os.getenv("SALESFORCE_DOMAIN", "login")

tool = SalesforceTool(
username=username, password=password, security_token=security_token, domain=domain
)
Invocation
def execute_salesforce_operation(
operation, object_name=None, query=None, record_data=None, record_id=None
):
"""Executes a given Salesforce operation."""
request = {"operation": operation}
if object_name:
request["object_name"] = object_name
if query:
request["query"] = query
if record_data:
request["record_data"] = record_data
if record_id:
request["record_id"] = record_id
result = tool.invoke(request)
return result
Query

This example queries Salesforce for 5 contacts.

query_result = execute_salesforce_operation(
operation="query", query="SELECT Id, Name, Email FROM Contact LIMIT 5"
)
Describe an Object

Fetches metadata for a specific Salesforce object.

describe_result = execute_salesforce_operation(
operation="describe", object_name="Account"
)
List Available Objects

Retrieves all objects available in the Salesforce instance.

list_objects_result = execute_salesforce_operation(operation="list_objects")

Creates a new contact record in Salesforce.

create_result = execute_salesforce_operation(
operation="create",
object_name="Contact",
record_data={"LastName": "Doe", "Email": "doe@example.com"},
)

Updates an existing contact record.

update_result = execute_salesforce_operation(
operation="update",
object_name="Contact",
record_id="003XXXXXXXXXXXXXXX",
record_data={"Email": "updated@example.com"},
)

Deletes a contact record from Salesforce.

delete_result = execute_salesforce_operation(
operation="delete", object_name="Contact", record_id="003XXXXXXXXXXXXXXX"
)
Chaining
from langchain_anthropic import ChatAnthropic
from langchain_core.messages import HumanMessage
from langchain_salesforce import SalesforceTool


tool = SalesforceTool(
username=username, password=password, security_token=security_token, domain=domain
)


llm = ChatAnthropic(model="claude-sonnet-4-20250514")


contacts_query = {
"operation": "query",
"query": "SELECT Id, Name, Email, Phone FROM Contact LIMIT 3",
}

contacts_result = tool.invoke(contacts_query)


if contacts_result and "records" in contacts_result:
contact_data = contacts_result["records"]


analysis_prompt = f"""
Please analyze the following Salesforce contact data and provide insights:

Contact Data: {contact_data}

Please provide:
1. A summary of the contacts
2. Any patterns you notice
3. Suggestions for data quality improvements
"""

message = HumanMessage(content=analysis_prompt)
analysis_result = llm.invoke([message])

print("\nLLM Analysis:")
print(analysis_result.content)
API Reference

For comprehensive documentation and API reference, see:

Additional Resources

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4