Update the contact/lead status based on the Engage flow status

Contacts and leads imported from your CRM can be added to an Engage flow so that your reps can contact prospects using a predetermined series of actions. If you have set up custom fields in Salesforce, the flow fields are exported and displayed in the contact and lead in Salesforce.

As the contact is moved through the flow in Gong, the contact’s status changes. You may want the status of the contact in Salesforce to be the same as the status of the contact in Gong. Updating the status in Salesforce can be automated via a Salesforce flow.

Note:

If you change the flow field values or the contact's status in Salesforce, the new values are not synced to Gong.

This article explains how to create a flow that updates the contact and lead status based on the Engage flow status.
EngageFlowUpdate
Note that:

  • This article describes the flow for updating a lead object. You need to set up a separate flow to update the contact.

  • Salesforce statuses are customized by each organization. You must adjust this flow to suit your CRM setup.

Define a flow in Salesforce

You must be a Salesforce admin to define the flow in Salesforce:

  1. In Salesforce, go to Setup & Process Automation & Flows and click New flow.

  2. Select Record - Triggered Flow.

  3. Fill in the form as follows:

    1. Object: Lead

    2. Configure Trigger: A record is updated

    3. Set Entry Conditions:

      1. Condition requirement: Formula Evaluates to True

      2. Formula: ISCHANGED(Gong__Flow_Status__c)
        flowLayout

Configure the step to update a record

You now need to configure the step where the lead record is updated in Salesforce with the new status:

  1. In the flow builder, click the + sign to add a step to the flow and select Update Records. This triggers this step when the Engage Flow Status field in the lead record is updated.

  2. Configure the step as follows:

    1. Find the records to update and set values: Use the lead record that triggered the flow

    2. Filter conditions: None - Always Update Record

  3. In the Toolbox, create a new formula resource:

    1. Give the API Name a meaningful name

    2. Data type: Text

    3. Formula

    CASE({!$Record.Gong__Flow_Status__c},
    "Paused", "",
    "Opted Out", "",
    "In progress", "",
    "Finished (replied)", "",
    "Finished (no reply)","",
    "Finished (meeting booked)", "",
    "Finished (removed manually)","",
    "Bounced","",
    "Removed (other)","",
    "To-do expired","",
    "No license","",
    "Person deleted","",
    "Flow deleted","",
    "N/A")
    

    For example:

    CASE({!$Record.Gong__Flow_Status__c},
    "Paused", "Not sure",
    "Opted Out", "Not Interested",
    "In progress", "Interested",
    "Finished (replied)", "Completed",
    "Finished (no reply)","Completed",
    "Finished (meeting booked)", "Completed",
    "Finished (removed manually)","Completed",
    "Bounced","Contacted",
    "Removed (other)","Discontinued",
    "To-do expired","Not Interested",
    "No license","Completed",
    "Person deleted","Completed",
    "Flow deleted","Completed",
    "N/A")
    

    Editing a formula with various status options for a data type in a system.

  4. Add the new formula to the Value for the status field.

    UpdateRecordsSettings

Test the flow

You can test the flow by creating a dummy lead and update the Engage Flow Status field. Check the Lead status is updated accordingly.