When you execute an offer activity based on an offer that supports the Salesforce.com delivery method, the actions undertaken at Salesforce.com largely depend on whether the offer was defined as creating a new Salesforce campaign.
If the offer was configured to create a new campaign, a new Salesforce campaign is created using the Salesforce credentials defined at the channel. Its default properties are as follows:
• Campaign Name: the campaign’s name is as defined at the offer. If an identically-named campaign already exists at Salesforce.com, a new one with the same name is created alongside the original.
• Active: checked
• Type: ‘Other’
• Status: as per the offer
• Start Date as per the offer
• End Date: as per the offer
The campaign’s other properties are not set.
The leads or contacts targeted by the offer are uploaded to the new Salesforce campaign.
RPI checks as to whether the targeted leads/contacts already exists in Salesforce using the lookup keys configured at the Salesforce channel. Any records that do not match are created as new leads/contacts at Salesforce.
Lead/contact properties are accordant with the Field parameters mapped at the Salesforce.com channel. Note that raw database values only, and not translated values, are uploaded. Note also that Lead status and Lead source values are provided by offer content, not by the channel.
If the offer was configured to upload leads or contacts in respect of an existing Salesforce campaign, they are uploaded to the campaign selected at the offer.
A system pulse is generated on successful execution of a Salesforce.com offer:
'[n] lead(s)/contact(s) has | have been uploaded via channel [Channel Name] as part of offer 'Offer Name' by activity 'Activity Name' in interaction 'Interaction Name'
If Allow updates is checked at the channel, behavior at execution of the channel’s synchronization system task is accordant with the channel’s Update behavior setting.
• If set to Sync from Salesforce to RPI Data Warehouse, at every channel synchronization, RPI updates the data warehouse using data from the Salesforce lead/contact records.
• If set to Sync from RPI Data Warehouse to Salesforce, at every synchronization, RPI updates Salesforce Lead/Contact records with data from the data warehouse.
If Salesforce data to sync was set to ‘Leads’, a system-generated table is created for leads with the naming convention RPI_SFLEAD[Lead_table _name][ChannelID], and new Salesforce leads’ details are stored therein.
If Salesforce data to sync was set to ‘Contacts’, a system-generated table is created for contacts with the naming convention RPI_SFCONTACT[Contact_table_name][ChannelID], and new Salesforce contacts’ details are stored therein.
Column definitions are based on the channel’s Field parameters mapping configuration.
If, when synchronizing Salesforce changes back to RPI, data truncation occurs (for example, if a value entered into a field in Salesforce.com is of such an excessive length that it will not fit in its mapped field in the data warehouse), the data in question is not written to the data warehouse, and a server error is raised.
Also at channel synchronization occurs the writing of RPI contact history data to Salesforce.com. Initial invocation of the task post-execution of a Salesforce offer writes details of all other contacts made with leads since the initial Salesforce channel execution to Salesforce.com. Subsequent invocation writes any new contact history to Salesforce.com. Contact history records are visible at Salesforce as Activity History. Note that this applies to email, SMS and data extract offer execution only.
When a Salesforce activity history record is created in this way, it has the following properties:
• Subject: ‘Email’, ‘SMS’ or ‘Data Extract’
• Email: the lead or contact’s email address (if fulfillment occurred via an email channel and the Email field parameter was mapped and also configured at the Salesforce.com user interface).
• Phone: the lead or contact’s cellphone number (if fulfillment occurred via an SMS channel and the MobilePhone field parameter was mapped and also configured at the Salesforce.com user interface).
• Comments: ‘[OfferName] via Channel [OfferChannelSubName] on [TimeStamp]’
• Status: ‘Completed’