Skip to main content
Connect PolyAI to Salesforce to create cases, retrieve customer data during calls, and send follow-up messages.

Getting started

Before you begin, ensure you have the following:
  1. A Salesforce Account: Administrator access to a Salesforce account.
  2. PolyAI Access: Access credentials for the PolyAI Portal.

Set up Salesforce for API access

Follow these steps to enable API access in Salesforce:
  1. Enable API Access:
    • Log in to Salesforce with admin privileges.
    • Go to Setup > Users > Profiles.
    • Edit the profile for the user account that will connect to PolyAI.
    • Ensure the checkbox for API Enabled is selected.
  2. Create a Connected App:
    • Go to Setup > App Manager.
    • Click New Connected App.
    • Fill in the following details:
      • Connected App Name: PolyAI Integration.
      • API Name: PolyAIIntegration.
      • Contact Email: Enter your email.
      • Enable OAuth Settings: Check this box.
      • Callback URL: Enter a valid callback URL for your organization. This can be any HTTPS URL you control (e.g., https://yourcompany.com/oauth/callback). For PolyAI integrations, this URL is not actively used but is required by Salesforce OAuth configuration.
      • Selected OAuth Scopes: Add Full Access (full) and Perform requests on your behalf at any time (refresh_token, offline_access).
    • Save the connected app and note the Consumer Key and Consumer Secret.
  3. Provide PolyAI with the Required Information:
    • Client ID: The Consumer Key of your Connected App.
    • Client Secret: The Consumer Secret of your Connected App.
    • Username: The Salesforce username for the integration.
    • Password: The Salesforce password for the user, appended with the security token.
    • Access Token URL: Typically https://login.salesforce.com/services/oauth2/token (for production) or https://test.salesforce.com/services/oauth2/token (for sandbox).
    • Base URL: The root URL of your Salesforce instance (e.g., https://your_instance.salesforce.com).
PolyAI will use these details to generate the necessary access_token. Credentials will be passed in the Authorization header as specified in the OAuth spec.

Code example

The following is a simplified Python example that demonstrates how to create a case in Salesforce using their REST API.
import requests

def create_salesforce_case(base_url, access_token, case_data):
    """
    Create a case in Salesforce.

    :param base_url: Salesforce base URL (e.g., https://your_instance.salesforce.com)
    :param access_token: OAuth access token
    :param case_data: Dictionary containing case details
    """
    url = f"{base_url}/services/data/v55.0/sobjects/Case"
    headers = {
        "Authorization": f"Bearer {access_token}",
        "Content-Type": "application/json"
    }

    response = requests.post(url, headers=headers, json=case_data)

    if response.status_code == 201:
        print("Case created successfully!", response.json())
    else:
        print("Failed to create case.", response.status_code, response.text)

# Example usage
if __name__ == "__main__":
    base_url = "https://your_instance.salesforce.com"
    access_token = "your_access_token"

    case_data = {
        "Subject": "Support Request",
        "Description": "Details about the issue.",
        "Origin": "Web",
        "Status": "New"
    }

    create_salesforce_case(base_url, access_token, case_data)

Next steps

Once you provide PolyAI with the credentials above, we’ll configure the integration and contact you when it’s ready. For custom functionality, contact your PolyAI account manager.

Additional resources