Support

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.

  1. In Salesforce, click the gear icon and open Setup.
  2. Navigate to Object Manager and search for ARPEDIO FreeText Container (arpedio__FreeTextContainer__c).
  3. Select Fields & Relationships and click New.
  4. Choose Lookup Relationship and click Next.
  5. Select the target object (for example, Account or Opportunity) and click Next.
  6. Set the Field Label (for example, Account or Opportunity) and confirm the API name matches the values below.
  7. Ensure the field is visible to the profiles or Permission Sets that will run the Flow and build reports.
  8. Click Save.

Repeat for each object you need to support. The expected field configuration is:

ObjectField LabelAPI Name
AccountAccountAccount__c
OpportunityOpportunityOpportunity__c

Step 2: Create the record-triggered Flow

  1. In Setup, navigate to Flows and click New Flow.
  2. Select Record-Triggered Flow and click Create.
  3. Set Object to arpedio__FreeTextContainer__c.
  4. Set Trigger to A record is created or updated.
  5. Set Optimize for to Actions and Related Records (after-save).

Step 3: Set entry conditions

  1. Set Condition Requirements to All Conditions Are Met (AND).
  2. Add the condition: arpedio__ParentRecordId__c Is Null = False.
  3. 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:

  1. Add a Get Records element with Label: Get Accounts.
  2. Set Object to Account.
  3. Set the filter: Id Equals {!$Record.arpedio__ParentRecordId__c}.
  4. Set How Many Records to Store to Only the first record.
  5. Set How to Store Record Data to Automatically store all fields.

For Opportunity:

  1. Add a Get Records element with Label: Get Opportunities.
  2. Set Object to Opportunity.
  3. Set the filter: Id Equals {!$Record.arpedio__ParentRecordId__c}.
  4. Set How Many Records to Store to Only the first record.
  5. 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

  1. Add an Update Records element with Label: Update FreeTextContainer.
  2. Set How to Find Records to Update to Use the arpedio free text container record that triggered the flow.
  3. Set the following field values:
FieldValue
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.

Was this article helpful?