Overview
Riva Cloud helps life sciences teams keep Agentforce Life Sciences Cloud and their users’ calendars aligned by synchronizing key calendar activity between Salesforce and Microsoft 365 or Google Workspace.
With this configuration, Riva supports calendar synchronization for Salesforce General Events, Visits, and Territory User Downtime, helping users stay informed about scheduled activities directly from their Outlook or Google Calendar. Calendar items created in Salesforce can appear in the user’s email/calendar system, while calendar items created in the email/calendar system can be reflected in Salesforce as General Events.
This helps reduce duplicate entry, improve schedule visibility, and support a more connected experience between Agentforce Life Sciences Cloud and the calendar tools users already rely on every day.
This article provides an overview of the supported calendar sync configuration for Riva Cloud with Agentforce Life Sciences Cloud, including supported systems, sync behaviour, initial sync options, field mappings, attachment sync behaviour, and setup links for connecting Salesforce with either Microsoft 365 via Microsoft Graph or Google Workspace as the connected email system.
In-scope modules
This configuration includes Calendar Sync only.
The following calendar-related record types are included:
| Module | Salesforce object / record type | Direction |
| General Event | Salesforce Event | Both directions |
| Visit | Salesforce Visit | Salesforce to email system |
| Territory User Downtime | TerritoryUserDowntime | Salesforce to email system |
For General Events, Salesforce-created events can sync to the user’s calendar, and calendar items created in Outlook or Google Calendar can sync back to Salesforce as General Events.
Out-of-scope modules
The following modules are not included in this calendar sync configuration:
- Address Book
- Task
- Insight
- Bookings
Sync Configuration
Riva uses an origin-based sync configuration. Calendar items should be managed in the system where they were originally created.
- Items created in Salesforce should be managed in Salesforce.
- Items created in the email system should be managed in the email system.
If a synced item is changed in the target system, Riva detects the change and restores the item based on the source system. This helps prevent accidental overwrites and keeps the originating system authoritative.
For example, a Visit created in Salesforce and synced to Outlook or Google Calendar should be managed in Salesforce. If the Visit is edited or deleted in Outlook or Google Calendar, Riva restores the calendar item based on the Salesforce version.
Similarly, a meeting created in the email system and synced to Salesforce should be managed in Outlook or Google Calendar. If the Salesforce copy is edited or deleted, Riva restores the Salesforce item based on the email system version.
This approach helps prevent accidental overwrites and keeps the original system authoritative.
Email Address Matching
When resolving email addresses for synced items, Riva matches sender, recipient, organizer, and attendee email addresses to active Salesforce Users where applicable.
Email Address Matching Fields
The following matching rules apply:
| Object | Matching behaviour | Field(s) |
| User | Riva matches email addresses to active Salesforce User records. | |
| Contact | Contact matching is not included. | N/A |
| Lead | Lead matching is not included. | N/A |
User Match Filtering
Riva applies the following filtering criteria when matching Salesforce Users:
- The user has a supported standard Salesforce license type.T
- he user is active in Salesforce.
Contact, account/opportunity, and lead relationship settings
Salesforce supports the following relationship settings for synced calendar items:
| Who List | What | Attendees |
| Contacts (maximum 50) | Account | Users, Contacts, and Leads (maximum 1000) |
| Lead | N/A | Users, Contacts, and Leads (maximum 1000) |
Calendar Sync
The following table summarizes the supported calendar sync configuration for Agentforce Life Sciences Cloud. After a calendar item syncs, Riva applies a Microsoft 365 category or Google Workspace colour based on the item type.
| Object | Email to Salesforce | Salesforce to Email | Microsoft 365 Category | Google Colour |
| General Event | N/A | Automatically syncs | “Synced” Lime Green | Sage |
| Territory User Downtime | N/A | Automatically syncs | “Territory User Downtime” Yellow | Banana |
| Visit | N/A | Automatically syncs | “Visit” Lavender | Lavender |
| General Event | Automatically syncs with default private | N/A | “General Event” Warm Grey | Graphite |
Salesforce to Email System Sync
- User Scheduled General Events in Salesforce
- User Scheduled Visits in Salesforce
- User Scheduled Territory User Downtime in Salesforce
User Scheduled General Events in Salesforce
Riva synchronizes General Event records from Salesforce to the email system when the syncing user is the organizer or an attendee.
| Action | Riva behaviour |
| Create |
Riva creates the Event in the syncing user organizer’s and syncing user attendee’s email system calendars.
|
| Update |
When a previously synced Event is updated in Salesforce, Riva syncs the update to the syncing user organizer’s and syncing user attendee’s email system calendars.
|
| Delete | Riva removes the item from the syncing user organizer’s and syncing user attendee’s email system calendars. |
For Salesforce-originating items, updates made in the email system are handled as follows:
| Email system action | Riva behaviour |
| Create | N/A |
| Update | Riva detects the change in the email system and restores the email system version of the item based on the Salesforce data. |
| Delete/Cancellation | Riva detects the change in the email system and restores the email system version of the item based on the Salesforce data. |
| Decline | N/A |
User Scheduled Visits in Salesforce
Riva synchronizes Visit records from Salesforce to the email system when the syncing user is the organizer or an attendee.
| Action | Riva behaviour |
| Create |
Riva creates the Visit in the syncing user organizer’s and syncing user attendee’s email system calendars.
|
| Update |
When a previously synced Visit is updated in Salesforce, Riva syncs the update to the syncing user organizer’s and syncing user attendee’s email system calendars.
|
| Delete | Riva removes the item from the syncing user organizer’s and syncing user attendee’s email system calendars. |
For Salesforce-originating Visits, updates made in the email system are handled as follows:
| Email system action | Riva behaviour |
| Create | N/A |
| Update | Riva detects the change in the email system and restores the email system version of the item based on the Salesforce data. |
| Delete/Cancellation | Riva detects the change in the email system and restores the email system version of the item based on the Salesforce data. |
| Decline | N/A |
User Scheduled Territory User Downtime in Salesforce
Riva synchronizes Territory User Downtime records from Salesforce to the email system when the syncing user is the organizer or an attendee.
| Action | Riva behaviour |
| Create |
Riva creates the Territory User Downtime item in the syncing user organizer’s and syncing user attendee’s email system calendars.
|
| Update |
When a previously synced Territory User Downtime item is updated in Salesforce, Riva syncs the update to the syncing user organizer’s and syncing user attendee’s email system calendars.
|
| Delete | Riva removes the item from the syncing user organizer’s and syncing user attendee’s email system calendars. |
For Salesforce-originating Territory User Downtime items, updates made in the email system are handled as follows:
| Email system action | Riva behaviour |
| Create | N/A |
| Update | Riva detects the change in the email system and restores the email system version of the item based on the Salesforce data. |
| Delete/Cancellation | Riva detects the change in the email system and restores the email system version of the item based on the Salesforce data. |
| Decline | N/A |
Email System to Salesforce Sync
Riva is configured to automatically sync all calendar items from the syncing user’s email system calendar to Salesforce.
Riva syncs calendar items that take place within the following date range:
- The last 45 days
- The next 400 days
This section covers the following email system to Salesforce sync scenarios:
- Email system-originating calendar items
- Email System Originating Calendar Items: Recurring Series
- Salesforce to Email System updates for Email System originating items
Email system-originating calendar items
| Action | Riva behaviour |
| Create |
Riva syncs the calendar item from the email system to Salesforce and creates a General Event type Event.
In all cases, the "CreatedBy" user is the syncing user, and the "ModifiedBy" user is the service account. |
| Update | Riva synchronizes the update from the email system to Salesforce. |
| Calendar items marked as Free | Riva does not sync the calendar item. |
| Delete/Cancellation | Riva syncs the deletion from the email system and deletes the Event in Salesforce. |
| Syncing user decline | Riva syncs the deletion from the email system and deletes the Event in Salesforce. |
| Non-syncing user declines a calendar item | N/A |
| Contact declines | N/A |
| Custom validation message | Riva action |
| "Time off territory overlap rule" | Riva Treat As Valid Error |
Email System Originating Calendar Items: Recurring Series
Note:
- For recurring series created in the email system, Riva syncs the occurrences in the series according to the rules detailed in this article, including the configured date-based filters.
- The Events are created in Salesforce as individual events. This allows the time to be correctly blocked on the Salesforce calendar.
- Recurring series details are not synced to Salesforce. The recurring series must continue to be managed in the email system.
Salesforce to Email System updates for Email System originating items
For email system-originating items, updates made in Salesforce are handled as follows:
| Salesforce action | Riva behaviour |
| Create | N/A |
| Update | Riva detects the change in Salesforce and restores the Salesforce item to match the email system state. |
| Delete/Cancellation | Riva detects the change in Salesforce and restores the Salesforce item to match the email system state. |
| Decline | N/A |
Calendar Synchronization: Initial Sync
Calendar Synchronization – Initial Sync: Migrating Customers
Email system to Salesforce initial sync
For migrating customers, Riva uses a create date filter to help prevent calendar items that were previously synced before the user’s first Riva sync from syncing again.
For Individual Calendar Items
| Create date | Match status | Initial sync behaviour |
| Prior to the user’s first sync | Not matched | Skip |
| After the user’s first sync | Not matched | Create |
For Recurring Series
| Create date | Match status | Initial sync behaviour |
| Prior to the user’s first sync | Not matched | Skip |
| After the user’s first sync | Not matched | Create |
Salesforce to Email System Initial Sync
Riva does not sync pre-existing Salesforce Events to the email system during initial sync.
For Individual Calendar Items
| Create date | Initial sync behaviour |
| Prior to the user’s first sync | Skip |
| After the user’s first sync | Skip |
For Recurring Series
| Create date | Initial sync behaviour |
| Prior to the user’s first sync | Skip |
| After the user’s first sync | Skip |
Calendar Synchronization – Initial Sync: New Customers
Email System to Salesforce Initial Sync
For new customers, Riva syncs pre-existing email system calendar items based on the configured date filters:
For Individual Calendar Items
| Create date | Match status | Initial sync behaviour |
| Prior to the user’s first sync | Not matched | Create |
| After the user’s first sync | Not matched | Create |
For Recurring Series
| Create date | Match status | Initial sync behaviour |
| Prior to the user’s first sync | Not matched | Create |
| After the user’s first sync | Not matched | Create |
Salesforce to email system initial sync
Riva does not sync pre-existing Salesforce Events to the email system during initial sync.
For Individual Calendar Items
| Create date | Initial sync behaviour |
| Prior to the user’s first sync | Skip |
| After the user’s first sync | Skip |
For Recurring Series
| Create date | Initial sync behaviour |
| Prior to the user’s first sync | Skip |
| After the user’s first sync | Skip |
Field mappings
General Event Field mapping
Salesforce object: Event
| Email system field | Salesforce field | Notes |
| Organizer | OwnerId | For Salesforce-originating General Events, the syncing user is set as the organizer in the email system. |
| Subject | Subject | |
| Location | Location | |
| Body | Description | |
| Start Date/Time | StartDateTime | |
| End Date/Time | EndDateTime | |
| All Day Event | IsAllDayEvent | |
| Busy Status | ShowAs | |
| Attendees | Event Relations | For Salesforce-originating General Events, the syncing user is set as the organizer in the email system. |
Territory User Downtime Field Mapping
Salesforce object: TerritoryUserDowntime
| Email system field | Salesforce field | Notes |
| Organizer | OwnerId | |
| Subject | Name + “ : “ + DowntimeType | |
| N/A | DowntimeType | |
| Start Date/Time | StartDate | |
| End Date/Time | EndDate |
Visit Field Mapping
Salesforce object: Visit
| Email system field | Salesforce field | Notes |
| Subject | “Call Scheduled With: ” + AccountId.Name | |
| Body | AccountId.Name | Added to the body of the email system calendar item. |
| Start Date/Time | PlannedVisitStartTime | |
| End Date/Time | PlannedVisitEndTime | |
| AccountId.Name | ProviderVisit.AccountId.Name | |
| Channel | ProviderVisit.Channel |
Synchronization frequency
Riva applies the calendar synchronization schedule at the user level based on the user’s time zone in Salesforce.
Weekday schedule
| Time period | Time | Calendar sync frequency |
| Peak | 6:00 a.m. to 7:00 p.m. | Every 5 minutes |
| Off-peak | 7:01 p.m. to 11:00 p.m. | Every 30 minutes |
| Blackout | 11:01 p.m. to 5:59 a.m. | Sync disabled |
Weekend schedule
| Time period | Time | Calendar sync frequency |
| Off-peak | 6:00 a.m. to 7:00 p.m. | Every 30 minutes |
| Blackout | 7:01 p.m. to 5:59 a.m. | Sync disabled |
User Gatherer
Riva loads the list of syncing users based on a field on the Salesforce User record.
| Object | Field | Opt-in value |
| User | RivaSync__c |
True |
Users must have RivaSync__c set to True to be included for synchronization.
Appendix
- Contact and Account Creation
- Attachment Sync
- User and Contacts are mutually exclusive
- All Day Calendar Item Sync
- Show As Mapping
Contact and Account Creation
- Contact and Account creation is disabled for this configuration.
Attachment sync
- Attachment sync is disabled for all modules.
User and Contacts are mutually exclusive
When resolving the attendee list to Users and Contacts during email sync, the following configuration options are available.
- When Users and Contacts are mutually exclusive is set to True, Riva resolves the attendee list to Users first. Email addresses matched to User records are removed from the list of possible Contact and Person Account matches. With this configuration, an email address that matches both a User and a Contact record appears on the attendee list only as a User.
- When Users and Contacts are mutually exclusive is set to False, Riva resolves the attendee list to Users first. However, email addresses matched to User records are not removed from the list of possible Contact and Person Account matches. The full list is then matched to Contact and Person Account records. With this configuration, a single email address can match both a User and a Contact. When this happens, both the User and Contact are added to the attendee list.
All-day calendar item sync
When Riva synchronizes an all-day calendar item from the email system to Salesforce, Riva creates a Salesforce Event with the All Day Event flag set.
This allows the all-day event to display correctly on the user’s Salesforce calendar.
Show As mapping
| M365 | |
Riva maps availability status from Microsoft 365 or Google Workspace to Salesforce.
| Microsoft 365 | Google Workspace | Salesforce |
| Free | Free | Free* |
| Working Elsewhere | Busy | |
| Tentative | Busy | |
| Busy | Busy | Busy |
| Out of Office | Out of Office |
Note:
By default, Riva skips Microsoft 365 calendar items marked as Free. This helps improve performance and avoids syncing calendar items that are usually not relevant to business scheduling, such as birthdays or other non-blocking calendar entries.
Connection Setup Links
Use the following articles to configure the required Salesforce and email system connections for Riva Cloud.