How to Enable Reporting on ARPEDIO Custom Templates
To run standard Salesforce reports on ARPEDIO Custom Template data, you need to create a record-triggered Flow that pulls the parent Record ID from each FreeText Container record and writes it to a typed lookup field.
Step 1: Lookup fields on FreeText Container
If the lookup fields do not already exist, create them first.
- In Salesforce, click the gear icon and open Setup.
- Navigate to Object Manager and search for ARPEDIO FreeText Container (
arpedio__FreeTextContainer__c). - Select Fields & Relationships and click New.
- Choose Lookup Relationship and click Next.
- Select the target object (for example, Account or Opportunity) and click Next.
- Set the Field Label (for example, Account or Opportunity) and confirm the API name matches the values below.
- Ensure the field is visible to the profiles or Permission Sets that will run the Flow and build reports.
- Click Save.
Repeat for each object you need to support. The expected field configuration is:
| Object | Field Label | API Name |
|---|---|---|
| Account | Account | Account__c |
| Opportunity | Opportunity | Opportunity__c |
Step 2: Create the record-triggered Flow
- In Setup, navigate to Flows and click New Flow.
- Select Record-Triggered Flow and click Create.
- Set Object to
arpedio__FreeTextContainer__c. - Set Trigger to A record is created or updated.
- Set Optimize for to Actions and Related Records (after-save).
Step 3: Set entry conditions
- Set Condition Requirements to All Conditions Are Met (AND).
- Add the condition:
arpedio__ParentRecordId__cIs Null = False. - Under When to Run the Flow for Updated Records, select Only when a record is updated to meet the condition requirements.
Note: This setting prevents the Flow from re-triggering after it updates the lookup fields on the same record, which would otherwise cause an infinite loop.
Step 4: Get Records per parent object
Add one Get Records element per object type you want to support.
For Account:
- Add a Get Records element with Label:
Get Accounts. - Set Object to Account.
- Set the filter: Id Equals
{!$Record.arpedio__ParentRecordId__c}. - Set How Many Records to Store to Only the first record.
- Set How to Store Record Data to Automatically store all fields.
For Opportunity:
- Add a Get Records element with Label:
Get Opportunities. - Set Object to Opportunity.
- Set the filter: Id Equals
{!$Record.arpedio__ParentRecordId__c}. - Set How Many Records to Store to Only the first record.
- Set How to Store Record Data to Automatically store all fields.
If you use ARPEDIO Assessments on additional objects, repeat this pattern for each — setting the object accordingly and filtering by $Record.arpedio__ParentRecordId__c.
Step 5: Update the FreeText Container
- Add an Update Records element with Label:
Update FreeTextContainer. - Set How to Find Records to Update to Use the arpedio free text container record that triggered the flow.
- Set the following field values:
| Field | Value |
|---|---|
arpedio__Account__c | {!Get_Accounts.Id} |
arpedio__Opportunity__c | {!Get_Opportunities.Id} |
Note: Only one Get Records element will return a result — the one matching the actual parent object type. The others return null, which clears the non-matching lookup fields. The FreeText Container record ends up linked to the correct parent object only.