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.
For Microsoft 365-originating events, Riva does not add matched Contacts or attendee/contact relationships to Salesforce.
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.
- The user is active in Salesforce.
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 | “Planned Visit” Purple; “Completed Visit” Blue. |
Lavender |
| General Event | Automatically syncs. Only Microsoft 365 events marked Private sync as Riva private events, with appointment details masked. |
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
- Deletion Delay and Safety
- Salesforce-Originating Recurring Events
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.
In Microsoft 365, Riva applies the Planned Visit category (purple) or Completed Visit category (blue), depending on the Visit status.
- For Group Visits, Riva also adds [GROUP VISIT] to the beginning of the Outlook subject.
| 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 |
Deletion Delay and Safety
Salesforce-to-Microsoft 365 deletions can take up to four hours to appear because of Riva’s delete delay.
Riva’s delete safety feature can also hold large volumes of deletions for administrator review. The administrator can confirm whether the deletions were intentional before allowing them to proceed.
Salesforce-Originating Recurring Events
Recurring Salesforce events synchronize to Microsoft 365 only when each occurrence is a separate record with its own unique Salesforce ID.
Email System to Salesforce Sync
Riva is configured to automatically sync eligible calendar items from the syncing user’s email system calendar to Salesforce.
The following date limits apply to calendar synchronization from the email system to Salesforce:
- Riva synchronizes calendar events scheduled up to 90 days into the future.
- For past events, Riva processes edits and deletes only for events that occurred within the previous 45 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
- For Microsoft 365-originating events, Riva synchronizes the Subject and date/time to Salesforce.
- Outlook Body, Location, and attendee/contact relationships are not synchronized to Salesforce.
- Events marked Private in Microsoft 365 synchronize as Riva private events, with appointment details masked.
- Microsoft 365 events synchronize automatically even if the user has not accepted them.
| Action | Riva behaviour |
| Create |
Riva syncs the calendar item from the email system to Salesforce and creates a General Event type Event.
The syncing user is assigned as the Event owner. The service account is set as both Created By and Last Modified By. |
| 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 to Email System
Salesforce object: Event
| Email system field | Salesforce field | Sync behaviour |
| 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 | Not synchronized. |
Microsoft 365 to Salesforce
For Microsoft 365-originating events, the following field behaviour applies:
| Microsoft 365 field or information | Salesforce sync behaviour |
|---|---|
| Subject | Synchronized. Appointment details are masked for events marked Private. |
| Date/time | Synchronized. |
| Body | Not synchronized. |
| Location | Not synchronized. |
| Attendee/contact relationships | Not synchronized. |
Territory User Downtime Field Mapping
Salesforce object: TerritoryUserDowntime
| Email system field | Salesforce field | Notes |
| Organizer | OwnerId | |
| Subject | Downtime Type or Downtime Category | The Outlook subject uses either Downtime Type or Downtime Category, depending on the configured/populated value. |
| 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 | For Group Visits, [GROUP VISIT] is added to the beginning of the Outlook subject. |
| 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 checks for calendar changes approximately every five minutes.
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
- Contact and Account creation is disabled for this configuration.
Attachment sync
- Attachment sync is disabled for all modules.
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.