This document contains conceptual, procedural, and scenario information about integrating an ExactTarget account and an external CRM system to share data.
Owen manages an existing CRM system for Northern Trail Outfitters, and part of his duties include planning an integration with a new ExactTarget account. While Northern Trail Outfitters wishes to use the CRM as the database of record, the marketing staff wants to use information from that CRM to send emails to customers and subscribers. Those email messages include:
Northern Trail Outfitters also wants to use the integration to perform analytic tasks on the data, both in the ExactTarget application and the CRM system.
Owen's tasks focus primary on the integration of the information of the two systems, as marketing handles the creating and sending of the email messages. He will be working in a .NET/C# environment and receives the appropriate ExactTarget credentials from his supervisor.

Before doing anything else, Owen must successfully connect his development environment to the ExactTarget SOAP web service API. Given that he will be writing .NET/C# code, Owne connects using Visual Studio and successfully executes a call to retrieve the availability status of the API.
Owen also researches authentication issues to make sure the two systems can interact. He discovers how to get a usertoken for entity direct login, allowing his CRM application to directly access sections of the ExactTarget application and have them show up directly in the CRM system.
Owen decides to store subscriber information in ExactTarget on data extensions to facilitate the exchange of information between the two systems. Now, he has to decide how to move the data from one system to another in order to keep both systems in sync regarding the most current data.
At this point, Owen turns to the documentation to determine how to perform the following actions:
Owen learns about import definitions as a method of getting information into the ExactTarget system. He also learns about retrieving information from data extensions as a method of getting information out of data extensions programmatically. Finally, Owens learns about different methods of mapping fields between the ExactTarget application and the CRM system to make sure that all information ends up in the correct place.
Once he has reviewed all of the available information on imports, data extensions, and mapping, Owen familiarizes himself with the available API guidelines and best practices to ensure his code is efficient and complete.

Owen learns that the actual mapping of the fields occurs within the import definition. However, before the import can take place, he must make sure the data extension fields have the correct data type to receive the information from the CRM system. The correct fields also facilitate moving information back into the CRM system.
Owen creates the import definition starting with a single user and a single data extension. The import definition uses CSV data exported from the CRM system and placed on the ExactTarget enhanced FTP site. This site hosts the file until the import definition picks up the file and imports the information into the appropriate data extension.
Owen learns that information within the ExactTarget application receives updates based on the actions a subscriber takes on an email. This can include tracking information, updates to subscriber information, or unsubscribing from future email sends. The application can also segment out data using filters and query activities. Owen uses a combination of these features to segment out updated users and prepare files to be exported from the ExactTarget application:
To export information from the ExactTarget application, Owen creates and performs an extract to move information back to the FTP site.
Based on the tracking information returned to Owen, he can update records in the CRM to reflect any changes in contact information or behavior. Any changes made in the CRM system can also be re-imported into ExactTarget using the import definitions previously mentioned.
Owen wants to implement error and exception handling so that the system does not inadvertantly import the same data multiple times or erase previously imported data. He consults the data management best practices for the best way to plan.
Owen also learns the error code information sounding the import process.
At this point, Owen wishes to scale his operation to handle the following aspects: