Approval Flows Integration

  • Browser
  • iPad

To streamline and improve efficiency of the Approval process for Events Management, Veeva CRM is now integrated with the SalesForce Approval Workflows. Approval Workflows supplement Event Actions (see SFDC documentation for more information) in Events Management to enable the following use-cases:

  • Criteria-based entry to Approval Workflows (e.g. if estimated costs exceed $2,000, approval from finance is required. Otherwise, the event can be auto-approved.)
  • Automated routing to a particular user for approval
  • Automated routing to a particular group for approval
  • Automated field updates, task creation, email alerts, and outbound messages to other systems as approval steps are entered or completed

Veeva CRM does not support changing approvers via the approval tasks home page widget. If the home page widget is used to approve an event, subsequent approvers in the workflow are not added to the event team, and an event history record is not created.


To configure Approval Flows:

  1. Grant admin users FLS Edit permission and end users Read permission to the following fields on the EM_Event_Action_vod object:

    • SFDC_Action_Type_vod - name of the action performed when using a Salesforce Approval Workflow
    • Optional - Approver_Role_vod - if a user is added as a result of an action, the approver uses the role specified in this field
    • Optional – Entry_Criteria_Not_Met_Message_vod – allows a custom error message to display if an event is submitted for approval but the Approval Flow entry criteria are not met
  2. Grant users FLS Edit permission to the Group_Name_vod field on the EM_Event_Team_Member_vod object.
  3. Grant Admin users FLS Edit permission and end users Read permission to the following fields on the EM_Event_History_vod object:

    • Next_Approver_Group_vod
    • Next_Approver_Role_vod
  4. Enable the following Visualforce pages to view and edit team member records:

    • Event_Team_Member_View_vod - set to override the View page for EM_Event_Team_Member_vod
    • Event_Team_Member_Edit_vod - set to override the Edit page for EM_Event_Team_Member_vod


Create an Approval Workflow for the EM_Event_vod__c object as you normally would using SFDC.

When using an Approval Workflow, the event status is not set by an Event Action. The Approval Workflow must set the event status as one of the workflow actions.

Create an Event Action with an Ending Status of SFDC. Set the SFDC Action Type, and optionally, set the Approver Role. For example:




Button Name


The name of the button initiating the approval workflow

Starting Status


Optional - the button for the event status

Ending Status


The ending status resulting from selecting the button. When not using SFDC Approval Workflows, this value should be a possible event status. When using SFDC Approval Workflows, this value should be SFDC.

Approver Role

Pre-Event Approver

The role given to any next approvers added to the event. This field can be used with or without SFDC workflows. When blank, the default role given to new approvers is Approver_vod.

Action Type


The action type being submitted to the SFDC Approval Workflow. Possible Actions are Submit, Withdraw, Approve, and Reject. Leave blank if not using SFDC Approval Workflows.

Entry Criteria Not Met Message


Name;;Category of a Veeva Message that displays if approval flow entry criteria are not met. Customers can create custom records in the Veeva Messages tab to display as an error message.

When a user selects an Event Action button on an Event (for example, “Submit for Approval” or “Close”) the status of the Event updates based on the parameters defined in the underlying Event Action record.

When not using SFDC approvals, the Event Action contains the button name, starting status, and ending status. Selecting the button changes the Event’s status to the specified ending status.

When using the integration with SFDC Approval Workflows, the Event record is submitted using the API Based on the properties of the Event, the correct Approval Flow is automatically chosen. Once the Event enters the Approval Flow, all actions are executed as defined in the Approval Flow.

If the entry criteria are not met for any approval flow on the EM_Event_vod object, the custom error defined by the Entry_Criteria_Not_Met_Message_vod field displays. This feature can be used as an alternative to validation rules and triggers. For example, if there is a business rule to prevent submitting an Event for approval before expense estimates are entered, the Approval Flow can have an entry criterion that the expense estimate amount is greater than 0. When the Event is submitted for approval, and the entry criterion is not met, an error message can be configured to display informing the user of all the properties required before submitting an event for approval. If using Event Actions without SFDC approvals, displaying an entry-criteria-based error message requires writing a validation rule or trigger.

SFDC Approval Workflows can specify that the user must manually select a next approver. Alternatively, the workflow can specify that the next approver is automatically set to an individual or a group.

If the desired Approval Flow requires manual selection of an approver, the SFDC Action Type on the Event Action should be Submit_Manual. If the Approval Flow automatically sets the approvers, the SFDC Action Type on the Event Action should be Submit_Auto.

If the Event Action SFDC Action Type is Submit_Auto, but the Approval Flow requires a manual approver selection, the user is prompted to manually select an approver.

When the Event Action succeeds, an Event History record is created as an audit log. The next approver value and next approver role are stamped on the Event History record. The next approver role (e.g. Approver, Compliance Approver, Service Coordinator, etc…) can be specified on the Event Action.

The next approver is added to the Event as a Team Member with the specified role. If no role is specified by the EM_Event_Action_vod object, the default role Approver_vod is used. If the next approver is a group, one single Event Team Member is created for the entire group.

When a user is part of a group added as an Event Team Member, the user automatically gets permission to all records associated with the Event. See Record Sharing for Team Members.

When a user accesses an Event, the page layout is determined in the following order in addition to the standard Page Layout Engine.

  • If the user has an event team member record, the page layout defined for that user’s team role displays.
  • If the user does not have a team member record, but is a member of a group that has a team member record, the page layout defined for that group’s team role displays.
  • If the user does not have a team member record, but is a member of multiple groups that have a team member record, the page layout defined for the group’s team role of the first group returned by the system displays.

Delegate Approvers

Events Management workflows support delegate approvers, users authorized by the administrator to approve an event on behalf of another approver. This enables approval of events by a user other than the manager of the event organizer in cases where the manager is unable to approve. When enabled, this feature automatically adds all approver delegates to the event as event team members when the event is submitted for approval.

For example, Sarah Jones plans an event involving an HCP. Her company requires all events involving an HCP be reviewed and approved by her manager. When Sarah submits the event for approval, both her manager and her manager’s delegate are added to the event team with the Approver role. Sarah’s manager is on vacation, so the delegate reviews and approves the event in place of Sarah’s approver.



To enable this feature, the following prerequisites are required:

  1. Ensure the event approval process is defined using an SFDC workflow.
  2. Navigate to the Manager Approval step of the event approval process.
  3. Navigate to the Select Assigned Approver section.
  4. Select The approver’s delegate may also approve this request check box.

    This feature does not support using a queue as an approver.

To configure Delegate Approver Support for Events Management:

  1. Grant the following profiles the appropriate FLS permission to the following fields:

    Object Field End User Administrator
    EM_Event_Action_vod Add_Delegates_to_Event_vod Read Edit
    EM_Event_History_vod Delegate_Approver_vod Read Read
    Delegate_Approved_IDs_vod Read Edit
  2. Add the Add_Delegates_to_Event_vod field to the appropriate EM_Event_Action_vod object page layout.
  3. Navigate to the appropriate EM_Event_Action_vod record.
  4. Select Yes for the Add_Delegates_to_Event_vod picklist.


Setting Delegates for Users

To specify a delegate for a user:

  1. Navigate to Manage Users.
  2. Select the appropriate User record.
  3. Select Edit.
  4. Populate the Delegated Approver field with the appropriate user.
  5. Select Save.

Users can automatically add delegate approvals to the event by selecting Yes from the Add_Delegates_to_Event_vod picklist on the associated Event Action that intiates the approval process step.

If delegates were added to the event, the Delegated_Approver_vod field on the associated EM_Event_history_vod record automatically stamps with the appropriate user.

The team role of the delegate approver is the same as the primary approver.