Salesforce Integration User Permissions
Last updated December 5, 2025
This document outlines the Salesforce permissions required for the Ciro Salesforce integration to function properly.
Overview
The Ciro integration connects to Salesforce to synchronize contact, lead, and account data, as well as call activity information. User performing the integration must have sufficient permissions to read, create, and update records across multiple Salesforce objects.
Required API Access
- Salesforce API Access: Must have "API Enabled" permission
Object Permissions
Account Object
- Read: Required for searching and retrieving account records
- Create: Required for creating new account records
- Update: Required for updating existing account records
- Standard Fields:
Id,Name,Website,Owner,Industry,NumberOfEmployees,AnnualRevenue,BillingCity,BillingState,BillingCountry,CreatedDate - Custom Fields: May include custom account status fields (varies by organization)
Contact Object
- Read: Required for searching and retrieving contact records
- Create: Required for creating new contact records
- Update: Required for updating existing contact records
- Standard Fields:
Id,FirstName,LastName,Title,Phone,MobilePhone,Email,AccountId,OwnerId,MailingCity,MailingState,MailingCountry,CreatedDate
Lead Object
- Read: Required for searching and retrieving lead records
- Create: Required for creating new lead records
- Update: Required for updating existing lead records
- Standard Fields:
Id,FirstName,LastName,Title,Phone,Company,Website,OwnerId,LeadSource,City,State,Country,CreatedDate - Optional Fields:
MobilePhone(if enabled in your Salesforce org)
Task Object
- Read: Required for retrieving call activity and logging records
- Fields:
Id,Subject,WhoId,CallDisposition,Type,CreatedDate,LastModifiedDate
User Object
- Read: Required for retrieving owner and user information
- Fields:
Id,Email,Name,IsActive
API Feature Requirements
- Bulk API 2.0
- Composite API
- Parameterized Search API
- Metadata API
- SOQL Query Access
Additional Permission Requirements
Record Ownership
- The integration can assign record owners when creating or updating records
- The user must either have:
- "Transfer Leads" permission (for changing lead ownership)
- "Transfer Records" permission (for changing contact/account ownership)
- Or visibility to the specific users being assigned as owners
Field-Level Security
- The integration user must have read and edit access to all standard fields listed above
- For custom fields configured in your organization, ensure appropriate field-level security is granted
- Without proper field-level security, the integration may fail to read or update records
Quick Setup Guide
Option 1: Using View All Data / Modify All Data (Recommended)
The simplest approach is to grant broad data access:
1. Create a new Permission Set named "Ciro Integration" 2. Enable these System Permissions:
- API Enabled
- View All Data
- Modify All Data
- Run Reports
3. Assign the permission set to your integration user
Option 2: Granular Permissions
For organizations requiring more restrictive access:
1. System Permissions:
- API Enabled
- Run Reports
- Transfer Leads
- Transfer Records
- Approve Uninstalled Connected App
2. Object-Level Permissions (for Account, Contact, Lead, Task, User):
- Read, Create, Edit
- View All, Modify All (for each object)
3. Field-Level Security:
- Grant Read and Edit access to all fields listed in the "Object Permissions" section above
- Include any custom fields your organization uses with the integration
4. Sharing Settings:
- Ensure the integration user can access all records that need to be synced
- Consider using "View All" and "Modify All" object permissions to bypass sharing rules