How the Sync Works
Once connected, Hook keeps your Salesforce data up to date automatically. You do not need to export or upload anything.
Initial import. On first connection, Hook imports the objects it is configured to read in full. Depending on how much data you have, this can take some time to complete.
Incremental updates. After the initial import, Hook syncs on a regular schedule and only pulls records that are new or have changed since the last sync. For Salesforce this is tracked using each record's
SystemModstamp(Salesforce's system-managed last-modified timestamp), so unchanged records are never re-read.Any object, standard or custom. Hook can read any Salesforce object, whether standard (Accounts, Contacts, Opportunities, Users, and so on) or custom (
__cobjects), as long as the integration user has read access to it. Let your implementation team know which objects you would like included.Read-only by default. Hook only reads from Salesforce. It never changes your data unless you explicitly enable Data Sync (to write Hook fields back to Salesforce) or notes write-back.
Controlling what Hook can access
Hook reads exactly what the integration user is permitted to see, and nothing more. If you want to keep certain objects, fields or records away from Hook, this is controlled entirely on your Salesforce side, through the integration user's permissions:
Objects: grant or withhold object read access via the integration user's Permission Set or Profile.
Fields (columns): use Field-Level Security to hide specific fields from the integration user.
Records (rows): use your sharing settings (organisation-wide defaults, sharing rules, role hierarchy) to limit which records the integration user can see.
Hook cannot see anything the integration user cannot see, so applying restrictions to that user is the correct and only place to control what we receive.
Salesforce Permissions Required
Hook connects to your Salesforce organisation via OAuth 2.0 to securely read and synchronise data. To ensure the integration works correctly, your Hook integration user must be configured with the appropriate permissions.
Authentication Method
Hook uses the OAuth 2.0 Web Server Flow to authenticate with Salesforce. This means your credentials are never directly shared with Hook, and you can revoke access at any time from within Salesforce.
Required Permissions
The following permissions are required for the integration to function:
API Access - (PermissionsApiEnabled)
Required for the integration to connect
Approve Uninstalled Connected Apps
Required to authorise the Hook connected app during OAuth authentication
Note: This permission was introduced in Salesforce Summer '25 and is required for new connections. Existing connections made before September 2025 will continue to work without this permission.
These object-level permissions are also required:
Account - Read access (PermissionsRead)
Required for displaying accounts within Hook
User - Read access (PermissionsRead)
Required to sync Salesforce logins with Hook and for account assignment
Sales Data (Opportunity/Contract) - Read access (PermissionsRead)
Required to calculate renewals and ARR within Hook
Note: Depending on how your Salesforce organisation is configured, subscription data may reside in Opportunities, Contracts, or another object. Please confirm which object(s) your organisation uses with Hook's implementation team and ensure read access is granted.
Contacts - Read access (PermissionsRead)
Enables identifying influencers and communication features within Hook
Optional Permissions
The following permissions are optional but recommended for full functionality:
EmailMessage - Read access (PermissionsRead)
Enables Hook to access email correspondence stored in Salesforce
Used as a data source for Echo signals
Appears in the Feed (account activity) in Hook
Task - Read access (PermissionsRead)
Enables Hook to link email correspondence to Salesforce accounts
Case - Read access (PermissionsRead)
Enables Hook to access support ticket data from Salesforce Service Cloud
Used as a data source for Echo signals
Appears in the Feed (account activity) in Hook
Custom Objects - Read access (PermissionsRead)
Allows Hook to read data from any additional objects relevant to your integration requirements
Write Access to Accounts - Edit access (PermissionsEdit)
Enables Hook to sync field data back to Salesforce using Data Sync
Note: Write access requires read access on the same object
Notes - Create and Edit access (PermissionsCreate, PermissionsEdit)
Enables Hook to create and update notes on records in Salesforce
Required objects:
ContentNote (Enhanced Notes for Lightning)
ContentDocumentLink (to link notes to parent records)
Note (Legacy notes for Classic)
Setting Up Permissions
All permissions listed above should be configured as object-level permissions via a Permission Set or Profile in Salesforce. We recommend creating a dedicated integration user with these permissions.
For questions about permission configuration or assistance setting up your integration user, please contact your Hook implementation team.
Steps to Connect Salesforce to Hook
Get in touch with your implementation team for any further questions.
Hook only supports integrating with Production Salesforce environments.
3. Navigate to the Hook app: https://app.hook.co/configuration/integrations. Select Add integration and then the Salesforce integration.
4. Select Authenticate with Salesforce, this link will take you to your Salesforce environment where you can login. Make sure to authenticate as the integration user.
5. Once complete please inform the Hook team. You will be redirected to the following screen once the connection has been established.
