Skip to main content

SimplyActivityCreator Flow

Version 1.0 · March 2026

Overview

The SimplyActivityCreator is a Record-Triggered Salesforce Flow that automatically logs a Salesforce Event on a Contact's Activity timeline whenever a Conversation Output (SimplyRecording__c) record is marked as Complete.

This gives recruiters and CRM users a clear, automatic audit trail of completed AI-generated conversation summaries, directly visible on the candidate's Contact record, without any manual effort.

Purpose

  • Automatically create an activity log entry when a Simply conversation summary is completed
  • Surface the activity on the related Contact record in the CRM Activity timeline
  • Prevent duplicate events using a built-in duplicate check
  • Link back to the original Conversation Output record via the Related To field

Prerequisites

Before this flow will work correctly, two things must be configured in your Salesforce org:

1: Allow Activities on the SimplyRecording Object

The SimplyRecording__c object must have Activities enabled so that Events can be linked to it via the WhatId field.

  1. Go to Setup → Object Manager → SimplyRecording__c → Edit
  2. Under Optional Features, check Allow Activities
  3. Click Save

This step completes the Allow Activities setup and is required for events to display correctly.

  1. Go to Setup → Object Manager → SimplyRecording__c → Page Layouts
  2. Open the active page layout
  3. Add the Open Activities and Activity History related lists to the layout
  4. Save

Flow Architecture

The flow consists of four elements connected in sequence:

StepElementDescription
1Start (Trigger)Fires when a SimplyRecording__c record is created or updated and Status equals Complete
2fetchTasks (Get Records)Queries existing Events to check if one already exists for this Contact with the same subject
3Decision 1Routes the flow: if an event already exists, go to End; otherwise proceed to create
4Create Summary Task (Create Records)Creates a new Event record linked to the Contact and the Conversation Output record

Flow Elements

4.1: Start Node (Configure Start)

The trigger fires on SimplyRecording__c records whenever they are created or updated and meet the Status = Complete condition.

FieldValue
Objectsimplyrecruit__SimplyRecording__c
TriggerA record is created or updated
Entry Condition Fieldsimplyrecruit_Status__c
Entry ConditionEquals Complete
When to RunEvery time a record is updated and meets the condition requirements
Optimize ForActions and Related Records
Use "Every time a record is updated"

The "Every time a record is updated" setting is required here. The Complete status is set by a managed Lightning Component (Simply), not a standard field edit. Using "Only when updated to meet conditions" causes the flow to not trigger in this scenario.

The Start node configuration is visible in the full flow overview below.


4.2: Get Records (fetchTasks)

Queries for existing Events to prevent duplicate activity entries.

FieldValue
ObjectEvent
Filter 1 - FieldWhoId (Name ID)
Filter 1 - OperatorEquals
Filter 1 - Value{!$Record.simplyrecruit__Contact__c}
Filter 2 - FieldSubject
Filter 2 - OperatorEquals
Filter 2 - ValueSimply samenvatting aangemaakt
Sort OrderID Descending
How Many RecordsOnly the first record
Store Record DataAutomatically store all fields

fetchTasks Get Records configuration : filtering by Contact and Subject


4.3: Decision (Decision 1)

Routes the flow based on whether a duplicate event was found.

OutcomeConditionResult
Outcome 1 (Event exists){!fetchTasks} Is Null = FalseEvent already exists → go to End
Default (No event found)-Proceed to Create Records

Decision node : Outcome 1 checks if fetchTasks returned a record


4.4: Create Records (Create Summary Task)

Creates a new Event record linked to both the Contact and the Conversation Output record.

FieldValue
ObjectEvent
SubjectSimply samenvatting aangemaakt
Name ID (WhoId){!$Record.simplyrecruit__Contact__c}
Related To ID (WhatId){!$Record.Id}
Assigned To ID (OwnerId){!$Record.LastModifiedById}
Start Date Time{!$Flow.CurrentDateTime}
End Date Time{!$Flow.CurrentDateTime}
TypeGesprek
Description{!$Record.simplyrecruit__Template__c}
Why both WhoId and WhatId?

Setting both WhoId (Contact) and WhatId (Conversation Output) means the event appears in the Contact's Activity timeline AND includes a clickable link back to the original Conversation Output record, giving users full context with one click.

The "Gesprek" activity type

Setting Type = Gesprek renders the phone icon in the Activity timeline, making Simply conversation summaries visually consistent with other call-type activities in the CRM.

Built-in Deduplication (Check for Matching Records)

In addition to the fetchTasks query, the Create Records node has Check for Matching Records enabled as a secondary safeguard:

FieldValue
EnabledYes
Condition FieldSubject
Condition OperatorEquals
Condition ValueSimply samenvatting aangemaakt
If single match existsSkip the matching record
If multiple matches existSkip all matching records

Create Summary Task : field mappings for the new Event record

Check for Matching Records : secondary duplicate prevention on the Create Records node


Flow Diagram

Start (SimplyRecording__c created/updated, Status = Complete)

fetchTasks (Get Records - Event)

Decision 1
├── Outcome 1: Event exists (fetchTasks is not null) ──→ End
↓ Default: No event found
Create Records (Event)

End

The complete SimplyActivityCreator flow in Flow Builder


Troubleshooting

IssueSolution
Flow doesn't triggerEnsure the flow is Active. Check that Status is being set to exactly Complete (case-sensitive). Confirm the Start node uses "Every time a record is updated", not "Only when updated to meet conditions".
FIELD_INTEGRITY_EXCEPTION on WhatIdEnable Allow Activities on the SimplyRecording__c object in Object Manager → Edit → Optional Features.
Event created but not visible on ContactEnsure the Lightning Record Page for the Contact has the Activity component added. Also check Activity History (not Open Activities), since the event Status is Completed, it will not appear in Open Activities.
Duplicate events being createdVerify that the Subject value in fetchTasks filter exactly matches the Subject set in Create Records (Simply samenvatting aangemaakt). Also verify that Check for Matching Records is enabled on the Create Records node.
WhoId is null after creationConfirm the Contact lookup field API name is simplyrecruit__Contact__c (with __c, not __r). Verify the Conversation Output record has a Contact populated before the flow triggers.

Testing the Flow

Using Flow Debugger

  1. Open the flow in Setup → Flows → SimplyActivityCreator
  2. Click Debug in the top right
  3. Select a SimplyRecording__c record that has Status = Complete
  4. Click Run and verify all nodes show green checkmarks
Debugger rolls back changes

The Flow Debugger always rolls back DML operations. An Event created in debug will not persist to the database. Use real record updates to test actual Event creation.

Real Record Test

  1. Find a Conversation Output record that does not already have a Simply summary event on the related Contact
  2. If Status is already Complete, change it to another value and save first
  3. Change Status back to Complete and save
  4. Navigate to the related Contact record and check the Activity timeline
  5. Verify the event appears under the current month with the phone icon
  6. Confirm via SOQL (in the Developer Console or Workbench):
SELECT Id, Subject, WhoId, WhatId
FROM Event
WHERE Subject = 'Simply samenvatting aangemaakt'
ORDER BY CreatedDate DESC