Salesforce Adapter
    • Dark
      Light

    Salesforce Adapter

    • Dark
      Light

    Article summary

    Campaign Manager gets leads (contact lists) from multiple sources like CSV files, SQL database tables. In addition, Campaign Manager can also use a list of campaign members on the Salesforce CRM application as a lead Source, using the Salesforce Adapter. This adapter communicates between the Campaign Manager and the Salesforce CRM applications.

    Architecture

    Campaign Manager is integrated with Salesforce for lead synchronization through SF SOAP APIs.

    The Administrator creates a new upload profile page, maps the business data against Salesforce campaign member fields, and defines a schedule. The Uploader Service reads the profile configuration and creates a scheduler to fetch campaign members from Salesforce.

    At the scheduled time or interval, the Uploader Service sends a request to Salesforce Adapter and the adapter fetches the campaign members from Salesforce. The Adapter constructs the import file (comprising of campaign members) and places the file in the configured upload path.

    Limitation:

    On account of a limitation from the Salesforce CRM, application limits the records per batch to 2000

    When you import campaign members are imported, the application updates the status of the members as Uploaded and the adapter creates an activity in Salesforce. When records fail to upload into Campaign Manager, the system changes the member status to Error and a related activity is created by the adapter, if configured.

    When the contacts start dialing, the adapter updates the member status and creates an activity for every attempt. When the contact is closed, which means there are no further attempts made, it updates the member status as Success; else updates the status as Rescheduled; and creates an activity, if configured.

    If the customer requests a Callback, the adapter updates the status as Callback.

    Salesforce Adapter updates one of the following statuses as part of the contact lifecycle:

    • Callback: This status update happens when a Salesforce contact is dialed and the outcome set as Callback. Salesforce updates the member status and creates an activity.

    • Contact Expired: This status update happens when a contact or a contact list is marked as expired. Salesforce updates the member status. It does create an activity.

    • Error: This is the status when a contact is not downloaded due to some validation failure. Salesforce updates the member status. It does not create an activity.

    • NonDialed: This contact status update occurs when a contact remains non-dialed for reasons such as Flush, List Stop, Scrub, etc. Salesforce updates the member status. It does not create an activity. This status applies to the contacts flushed from both Open and Rescheduled states. Expired contacts and closed contacts cannot be flushed.

    • Rescheduled: This is the status when the adapter receives an outcome and reschedules the contact based on this outcome. Salesforce updates the member status and creates an activity.

    • Uploaded: The contact is downloaded to the Campaign Manager application. Salesforce updates the Member status and creates an activity.

    Configurations

    The following configurations the CRM Connector component determine the time interval or the scheduled time to update the member status and activity:

    • CallActivityIntervalInMinute—The interval, in minutes, between two iterations for Campaign Manager to update the status to the CRM.

    • NonDialedIntervalInMinute—The interval, in minutes, between two iterations for Campaign Manager to update the non-dialed contacts’ status to the CRM.

    Salesforce Credentials

    To use Salesforce API, the Campaign Manager application requires credentials to connect to the Salesforce system. You can configure these credentials in the adapter.

    Profile

    For the adapter to fetch the data from Salesforce campaign members, enter the following in the Campaign Manager application’s Profile feature:

    1. In the Import File section, select Salesforce CRM.

    2. Select the appropriate SF Campaign Name to fetch the contacts to Campaign Manager It lists all the available campaigns created by Salesforce and mapped against the Campaign Manager user.

    Note:

    All the campaigns configured on Salesforce are visible only to admin users; all other users see only campaigns that they have permissions to view.

    1. Select the appropriate SF Member Status from the dropdown list. It lists all the available status of the campaign member created under the selected campaign. Select the required member status. You can select multiple statuses.

    2. Go to Schedule to configure a schedule to fetch campaign members from Salesforce.

    3. Select the day(s) to run the scheduler to fetch data from Salesforce to Campaign Manager.

    4. Select the Interval (Min) time. It is the frequency (in minutes) that the scheduler runs in between the provided start time and end time. The Minimum Interval (Min) value is 30 and Maximum is 999.

    5. You can also select the Time Slot (Max 3 Slots) option. Use this to configure a minimum of 1 or a maximum of 3 slots for the scheduler.

    6. Click Save Profile. The adapter reads the profile from the Campaign Manager service and creates a scheduler to fetch campaign members.

    Database Configurations

    The database table OBD_SFConfigurations controls various aspects of the Campaign Manager - Salesforce CRM integration. The list of configurations is in the table:

    Property

    Description

    Default Value

    SF_USERNAME

    The Salesforce default account username used to access the CRM.

    If the profile is created using admin user, these credentials are used. If the profile is created using a non-admin user, the Salesforce user credentials mapped with the user are used for Salesforce authentication.

    SF_PASSWORD

    The password used to access the Salesforce CRM application. If Salesforce token is mandatory, the attach the token with the password store it this field.

    SF_RECEIVED_CAMPAIGN_STATUS

    The custom status that is set in Salesforce for the campaign members fetched from the CRM.

    Uploaded

    SF_COMPLETED_CAMPAIGN_STATUS

    The custom status to be updated in Salesforce for completed or closed contacts. Ensure these statuses are available in Salesforce.

    Success

    SF_LCM_CUSTOM_STATUS

    Other custom statuses set in Salesforce. For example, Callback can be a status if the outcome in Campaign Manager is Callback.

    Rescheduled, NonDialed, Error, ContactExpired, and Callback.

    Separate each status with a comma.

    SF_EXCLUDED_STATUS

    List of members Statuses to be excluded while retrieving the member from Salesforce to Campaign Manager.

    Success

    SF_EXCLUDED_HEADERS

    Campaign Member headers to be excluded when providing data to Campaign Manager.

    For example, if we do not want sensitive fields from Salesforce to Campaign Manager, such fields can be excluded.

    CampaignId,ContactId,LeadI,IsDeleted,HasResponded,CreatedDate,

    CreatedById,LastModifiedDate,LastModifiedById,SystemModstamp,

    FirstRespondedDate, HasOptedOutOfEmail, HasOptedOutOfFax,LeadSource.

    Separate each header with a comma.

    SF_FETCH_LIMIT

    Maximum contacts to be fetched for single request.

    • -1 or 0 for no limit

    • If greater than 2000, limit should be in multiples of 2000

    -1

    SF_FAILED_FILE_MONITOR_INTERVAL

    The interval, in minutes, that the Salesforce Adapter monitors failed records in the C:\\SF_Adapter\\failed_status\\ path.

    3

    SF_FAILED_FILE_MAX_RETRY

    The maximum number of retries that the Salesforce Adapter is allowed to update member status of failure records.

    3

    CREATE_ACTIVITY_DURING_FETCH

    This flag determines if an activity has to be created while fetching a record.

    true

    CREATE_ACTIVITY_DURING_UDPATE

    This flag determines if an activity has to be created while updating a record.

    true

    CREATE_ACTIVITY_OUTCOMEID

    List of Outcomes (comma separated) for which an activity has to be created. For example, 0,4 (for success and callback)

    SF_ACTIVITY_SUBJECT

    The activity subject that the application creates on Salesforce during download of campaign members. The subject field is replaced with the actual campaign name and the contact's status. For example, Completed, Rescheduled, or Callback

    #SFCAMPAIGN# - #STATUS# (or) plain text like Outbound dialer call.

    SF_ACTIVITY_CALLRESULT

    The activity status that the application creates on Salesforce during download of campaign members. The Status field is replaced with the actual contact status. For example, Completed, Rescheduled, or Callback.

    SF_ACTIVITY_DESCRIPTION

    The activity description that the application creates on Salesforce during download of campaign members. The status of the contact is set as part for activity description.

    Updated to '#STATUS#' status in '#SFCAMPAIGN#' campaign on #DATE# IST

    STATUS_ACTIVITY_SUBJECT

    The activity subject that the application creates on Salesforce for call attempts. The call type is either Inbound or Outbound.

    Outbound Call

    STATUS_ACTIVITY_CALLRESULT

    This is the outcome set by an Agent.

    #OUTCOMEDESCRIPTION#

    STATUS_ACTIVITY_DESCRIPTION

    The call comments as noted by the agent.

    #CALLCOMMENTS# by #AGENTID#, #AGENTNAME#

    Note:

    If a custom Salesforce campaign member status is not available, our adapter updates the campaign member with default status as Sent. To avoid this, ensure all custom campaign member statuses are available in OBD_SFConfigurations table.


    Was this article helpful?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.
    ESC

    Eddy AI, facilitating knowledge discovery through conversational intelligence