Einstein Activity Capture (EAC) relies on a Platform Integration User in the Salesforce org to perform background sync operations. When EAC is enabled, Salesforce automatically assigns two required permission sets to this user through an automated process: Einstein Activity Capture Sync C2C Integration User and sfdc.activityplatform.
If either of these permission sets is manually removed from the Platform Integration User, for example by a System Administrator during a permission set audit or cleanup, EAC sync silently stops working for all users in the org.
These two permission sets are automatically assigned by Salesforce when EAC is first enabled, and they should never be manually removed. Salesforce currently shows no system warning or error when these permission sets are removed. Sync simply stops silently.
A common symptom is that events created in Outlook or Google Calendar do not appear on Salesforce timelines or Activity feeds.
This article answers the question: why are calendar events not syncing to Salesforce with Einstein Activity Capture (EAC), and how do you fix it? If EAC events are not syncing, the most common cause is that one or both required permission sets have been removed from the Platform Integration User. The steps below walk through how to identify the Platform Integration User, verify which permission sets are missing, and reassign them using SOQL and Anonymous Apex.
Note: The Platform Integration User is a special system user that is not visible in Setup → Users for most admins. Use the SOQL and Apex workaround below to identify and fix the permission set assignment directly.
Run the following query in Developer Console → Query Editor or Workbench to find the Platform Integration User's ID:
SELECT Id, Name, Profile.Name, IsActive FROM User WHERE Name = 'Platform Integration User' LIMIT 1
This query returns the Platform Integration User's Salesforce ID, which is a 15 or 18-character string starting with 005.
Run this query to check what is currently assigned to the Platform Integration User:
SELECT Id, PermissionSet.Name, PermissionSet.Label, Assignee.Name FROM PermissionSetAssignment WHERE Assignee.Name = 'Platform Integration User'
Confirm whether Einstein Activity Capture Sync C2C Integration User and sfdc.activityplatform are present. If either is missing, proceed to Step 3.
Run the following query to get the ID of the missing permission set:
SELECT Id, Name, Label FROM PermissionSet WHERE Name = 'EinsteinActivityCaptureC2CIntegrationUser' LIMIT 1
For sfdc.activityplatform, run this query:
SELECT Id, Name, Label FROM PermissionSet WHERE Label LIKE '%activityplatform%' LIMIT 1
Open Developer Console → Debug → Open Execute Anonymous Window and run the following Apex code. The code finds the Platform Integration User, finds the missing permission set, and inserts a permission set assignment that links the two.
// Step 1: Get the Platform Integration User
User piu = [SELECT Id FROM User WHERE Name = 'Platform Integration User' LIMIT 1];
// Step 2: Get the missing permission set
// Replace 'EinsteinActivityCaptureC2CIntegrationUser' with the correct API name from Step 3
PermissionSet ps = [SELECT Id FROM PermissionSet
WHERE Name = 'EinsteinActivityCaptureC2CIntegrationUser' LIMIT 1];
// Step 3: Insert the assignment
insert new PermissionSetAssignment(AssigneeId = piu.Id, PermissionSetId = ps.Id);
System.debug('Permission set assigned successfully to: ' + piu.Id);
Repeat for sfdc.activityplatform if that permission set is also missing.
Note: If EAC is not correctly set up in your org, these permission sets might not be present, and you will get the following error:
System.QueryException: List has no rows for assignment to SObject
Re-run the verification query from Step 2 to confirm both permission sets now appear:
SELECT Id, PermissionSet.Name, PermissionSet.Label, Assignee.Name FROM PermissionSetAssignment WHERE Assignee.Name = 'Platform Integration User'
Create a test event in Outlook or Google Calendar and confirm it syncs to Salesforce within a few minutes. If events still do not sync, ask affected users to disconnect and reconnect their email and calendar account. This refreshes service tokens and bindings.
Connect Your Email and Calendar to Salesforce with Einstein Activity Capture or Inbox
https://help.salesforce.com/s/articleView?id=sales.aac_connect_additional_accounts.htm&type=5
005385766

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.