ExactTarget Dynamics CRM Integration Product Specifications October 2012 Scribe and ExactTarget Page 1
CONTENTS Purpose... 3 Functionality... 4 Assumptions... 5 Use Cases... 6 1. New Leads from CRM to ExactTarget... 6 2. Updated Leads from CRM to ExactTarget... 6 3. Convert Lead to New Contact... 6 4. New Contacts from CRM to ExactTarget... 6 5. Updated Contacts from CRM to ExactTarget... 6 6. Merge Two Contacts in CRM... 6 7. Deactivate of Contact in CRM... 6 8. Sync Contact marketing Lists from CRM to Marketing Lists in ExactTarget... 7 9. Create Send Record from ExactTarget to CRM... 7 10. Subscriber-Level (Low-Level) Program Metrics from ExactTarget to CRM... 7 11. Send-Level (High-Level) Metrics from ExactTarget to CRM [BETA]... 7 12. Sync Global Opt-out from ExactTarget to CRM... 7 13. Sync Lead marketing Lists from CRM to Marketing Lists in ExactTarget... 7 14. Scalability... 7 15. Performance... 7 Solution Maps... 8 Exact Target API documentation... 8 Scribe and ExactTarget Page 2
PURPOSE ExactTarget provides an integration solution between ExactTarget and Dynamics CRM (CRM) that allows a user to create a list of contacts, choose a mail template, and execute a send to those contacts as subscribers in ExactTarget. The tracking metrics for these are then updated to the associated contact records in CRM as well as a custom objects in CRM that are related to the send. Larger ExactTarget customers have integration needs that extend beyond this baseline capability. The current integration integrates only the tracking metrics for those sends that are initiated in CRM. Data from sends originated in ExactTarget to leverage capabilities in ExactTarget like AB Testing, Audience Builder, or ReturnPath are not integrated back into CRM with the current solution. The approach to solving this problem is to synchronize all leads and contacts in CRM to ExactTarget as subscribers. This enables the integration of metrics into CRM from all programs in ExactTarget regardless of the program s origination. Scribe Online has a connector for Microsoft Dynamics CRM. The scope of the project includes development of an ExactTarget connector and a SolutionPak for integrating CRM and ExactTarget. namics CRM ExactTarget Contacts to ExactTarget cribe nline Silverlight Configuration CRM Connector cribe nline Windows Azure ExactTarget Connector ol tion Template cribe nline gent Program Metrics to CRM Existing To be built Scribe and ExactTarget Page 3
FUNCTIONALITY Dynamics CRM ExactTarget New and Updated Contacts Marketing Contact List maintenance (create, add, or delete Members) Create Send Create and update Subscribers including mapping data to custom attributes Subscriber list maintenance (create, add, or delete Subscribers) Create Send Update statistics on Send pdate statistics on end (onl incl des niq e stats, not total stats) New and updated Leads Create and update Subscribers Marketing Lead List maintenance (create, add, or delete Members) Convert Lead to Contact Merge two Contacts Flip DoNotBulkEmail flag on Contact or Lead Flip DoNotBulkEmail flag on Contact or Lead Create one Response Activity per send per Contact or Lead Add event to CRM Response Activity Subscriber list maintenance (create, add, or delete Subscribers) Create second Subscriber record (consistent with existing ET integration solution) Globally unsubscribe Subscriber that corresponds to the losing Contact Globally unsubscribe/activate Subscriber Globally unsubscribe/activate Subscriber Send is executed against Subscriber Subscriber activity creates an Event against a Send (open, unsubscribe, click, etc.) Scribe and ExactTarget Page 4
ASSUMPTIONS 1. The global opt-in/opt-out setting will be maintained in ExactTarget and synchronized to Dynamics CRM. 2. The connector will support the ability to map additional attribute data on the ET Subscriber records during the implementation of the solution. 3. The integration solution will not support the synchronization of hard deletes of contact records in Dynamics CRM to ExactTarget. 4. All data volumes outlined in the design document are for normal operations beyond the initial synchronization of records. 5. The integration solution will leverage the Dynamics CRM customizations used by the ExactTarget provided solution. 6. This integration solution will be capable of coexisting with the existing ExactTarget provided Dynamics CRM and ExactTarget integration or be able to be deployed independently of that solution. Scribe will test and validate only the independent deployment of the solution and will not test or validate the combined solution. 7. There are four major categories of marketing campaigns that will be supported by the combined solution as outlined in the following table: Campaign Integration Solution Ad-hoc sends from CRM ExactTarget provided Workflow driven sends (ex. welcome email) ExactTarget provided Real-time transactional sends (ex. thank you for donation) ExactTarget provided Bulk campaigns (involving A/B testing, return path, etc.) Scribe Online provided 8. ExactTarget has multiple system versions (Advanced and E2.0) and multiple methods of tracking subscribers (email address and subscriber ID, which is the CRM GUID + a type such as Contact). Scribe will test and validate only: a. E2.0 using subscriber ID b. Advanced using email address Scribe will not test or validate any other combinations that may exist. 9. The solution will support two possible initial states (1) data in CRM but no data in ExactTarget or (2) subscriber keys already synchronized between CRM and ExactTarget. Using the solution with other initial states will not be supported. 10. If the customer is using the ET-CRM Connector tracking return functionality they will not be using the Scribe Connector to return tracking functionality, Use Cases 13 & 14. 11. API Users will have appropriate permissions in ET to do the necessary operations. If E2.0 the API User must also have the default business unit set to the enterprise business unit and has availability to the business units that the client will want to use. 12. The ET connector will be tested and validated based only on the scope of the solution. The connector may offer functionality beyond what is required by the solution that will not be tested or validated for v1. 13. Synchronization of CRM Dynamic lists will not be supported. Scribe and ExactTarget Page 5
USE CASES 1. NEW LEADS FROM CRM TO EXACTTARGET When a user creates a new lead in CRM, insert the lead as a subscriber in ExactTarget. The end result should be a new s bscriber in ExactTarget with the lead s information. The integration m st create a relationship between the s bscriber in ExactTarget and the lead in CRM so that future updates to the lead can be brought over to the subscriber. This should include the ability to populate subscriber attributes. The attribute list is customizable so specific links to accommodate these fields may not be included in the base solution. 2. UPDATED LEADS FROM CRM TO EXACTTARGET When a user modifies a lead in CRM, update the corresponding subscriber record in ExactTarget with the changed information from the lead. CRM is considered the system of record for this information, and any changes in CRM will overwrite any changes that may have happened in ExactTarget. This should include the ability to update subscriber attributes. The attribute list is customizable so specific links to accommodate these fields may not be included in the base solution. 3. CONVERT LEAD TO NEW CONTACT When a user converts a lead to a new contact in CRM, the integration will create a new subscriber for the new contact in ExactTarget. It will not preserve the information associated with the original lead or update the original subscriber with any new information from the new contact. 4. NEW CONTACTS FROM CRM TO EXACTTARGET When a user creates a new contact in CRM, insert the contact in ExactTarget. The end result should be a new subscriber in ExactTarget with the contact s information. The integration m st create a relationship between the subscriber in ExactTarget and the contact in CRM so that future updates to the contact can be brought over to the subscriber. This should include the ability to populate subscriber attributes. The attribute list is customizable so specific links to accommodate these fields may not be included in the base solution. 5. UPDATED CONTACTS FROM CRM TO EXACTTARGET When a user modifies a contact in CRM, update the corresponding subscriber record in ExactTarget with the changed information from the contact and the related account. This information exchange will only be triggered if the contact changes and not if the associated account record changes. CRM is considered the system of record for this information, and any changes in CRM will overwrite any changes that may have happened in ExactTarget. This should include the ability to update subscriber attributes. The attribute list is customizable so specific links to accommodate these fields may not be included in the base solution. 6. MERGE TWO CONTACTS IN CRM When a contact is merged in CRM, the integration will leave the corresponding surviving record alone in Exact Target and will update the corresponding losing record in Exact Target with a global opt-out status. NOTE: Map will continue to re- ns bscribe loser on all f t re changes to winner 7. DEACTIVATE OF CONTACT IN CRM Scribe and ExactTarget Page 6
When a contact opts in or out of bulk email in CRM, update the corresponding subscriber record in ExactTarget with a global Opt Out status. 8. SYNC CONTACT MARKETING LISTS FROM CRM TO MARKETING LISTS IN EXACTTARGET When a marketing list is created in CRM, create that list in ExactTarget with the same name and then update the ExactTarget Marketing List with the Subscriber for each of the CRM contacts in the list. As CRM contacts are added or removed for the Marketing list in CRM, add or remove those associated contacts from the list of Subscribers in the ET Marketing list. 9. CREATE SEND RECORD FROM EXACTTARGET TO CRM When a send is executed in ExactTarget, create a new, corresponding send record in Dynamics CRM. 10. SUBSCRIBER-LEVEL (LOW-LEVEL) PROGRAM METRICS FROM EXACTTARGET TO CRM As tracking metrics are captured in ExactTarget, insert the tracking metric records into the custom activity object in CRM, relating the metrics to the corresponding CRM contact and send. 11. SEND-LEVEL (HIGH-LEVEL) METRICS FROM EXACTTARGET TO CRM [BETA] As the aggregate metrics for a given send in ExactTarget are updated, update the send record in CRM with the new metrics. This will include only the metrics that ExactTarget pre-calculates. Any metrics that would require extensive counting of individual records such as Total Clicks per Send or Click Rates will not be included. 12. SYNC GLOBAL OPT-OUT FROM EXACTTARGET TO CRM When a subscriber record in ExactTarget is updated with a global opt-out setting, update the corresponding contact record in CRM by setting the bulk email opt out flag. 13. SYNC LEAD MARKETING LISTS FROM CRM TO MARKETING LISTS IN EXACTTARGET When a marketing list is created in CRM, create that list in ExactTarget with the same name and then update the ExactTarget Marketing List with the Subscriber for each of the CRM leads in the list. As CRM contacts are added or removed for the Marketing list in CRM, add or remove those associated contacts from the list of Subscribers in the ET Marketing list. 14. SCALABILITY The solution must be capable of handling at least 1 million records at a time from any given map in either direction without restarting, even if some of the individual HTTP calls to the ExactTarget or CRM APIs fail. In the event of a catastrophic error (prolonged loss on connectivity) the solution will terminate with a fatal error and restart when next scheduled. On restart the solution will run starting on the first map in the solution with each map resuming work from the point it left off. 15. PERFORMANCE The connector must maximize the performance in terms of records per second through the ExactTarget API. This will be done by both batch records in batches of up to 200 and by submitting multiple (# TBD) concurrent batches. Scribe and ExactTarget Page 7
SOLUTION MAPS Map Name CRM Contact to ET Subscriber CRM Lead to ET Subscriber CRM List to ET List CRM List Member to ET List Subscriber CRM List Member delete to ET List unsubscribe CRM Maintenance: Delete change history table ET Subscriber Global Opt-Out to CRM Contact DoNotAllowBulkEmail ET Subscriber Global Opt-Out to CRM Lead DoNotAllowBulkEmail ET Send to CRM Send Metrics ET SentEvent to CRM Response Activity SentEvent to CRM OpenEvent to CRM BounceEvent to CRM UnsubEvent to CRM Description Creates and updates subscribers. Includes setting global unsubscribe based on DoNotAllowBulkEmail flag. Creates and updates subscribers. Includes setting global unsubscribe based on DoNotAllowBulkEmail flag. Creates and updates lists. Associates subscribers with lists. Will also create them if either does not exist. Unsubscribes subscribers from lists. Cleans up Scribe's custom table that is used for tracking list removal activity in CRM. Flips the CRM opt-out flag. Flips the CRM opt-out flag. Creates sends and updates sends with metrics. Creates a CRM response activity for each sent event. Adds sent events to response activities. Adds open events to response activities. Adds bounce events to response activities. Adds unsubscribe events to response activities. EXACT TARGET API DOCUMENTATION CODE@ (http://code.exacttarget.com/) is our developer community and developer documentation site. To post and answer API questions you must create a free login. To view the documentation does not require anything. Please feel free to sign up and contribute questions/answers as needed. We will want to use the Web Service (SOAP) API and never the XML API! Key API Links Web Service Guide.NET (C#) SOAP API Starter Kit SOAP API Best Practices for ET Code Samples Scribe and ExactTarget Page 8