About Importing External Data
This topic provides information about importing external data, for example, lists of leads or contacts, into Siebel Marketing. For instructions about how to import external data and create data mappings between the imported data and Siebel Marketing tables, see Contact List Import Using PL/SQL.
Each import job uses a reusable import mapping between the columns of the input data and the columns of the Siebel Marketing tables. The job can also be configured to ignore certain fields, allow field updates, or require columns to have an exact match while checking for duplicates. Once the job has been defined with import mappings, it can be scheduled to run. Jobs can be executed on a recurring basis. You can monitor an activated job for exceptions and errors.
The Lead Import workflow handles the lead import logic. The Response Import, Account Import, and Contact Import workflows allow multi-threaded batch import of responses, accounts, and contacts from external files to core CRM tables. The core import logic of these workflows is not customizable. For more information about activating and customizing workflows, see Siebel Business Process Framework: Workflow Guide.
The following figure illustrates the lead import logic.

This workflow does the following:
Lead ID given in file?. Verifies whether a Lead ID is specified in the file.
Lead ID found in OLTP?. Verifies whether a Lead ID is available in OLTP if the Lead ID is specified in the file.
Import Mode?. Verifies the mode of import for the lead available in OLTP.
Reject to Exception Log. Adds the Lead ID to exception log as rejected if the Import Mode is set to Insert.
Update Lead. Updates the lead if the Import Mode is set to Update.
Account given in file?. Verifies whether Account is specified in the file if Lead ID is not found in OLTP.
Perform Contact Dedupe create = N Get ID. Performs contact deduplication to get ID, if account is not specified in the file.
Contact Exists?. Verifies whether a contact exists.
Exact match on Lead Exists?. Verifies whether exact match on lead exists if a contact exists.
1. Create Lead with existing Contact ID. 2. Create Response/Questions and Answers, if applicable. Creates lead with an existing contact ID and creates responses or questions and answers if applicable.
Leave row in Interface table flagged as duplicate lead. Mark the lead as duplicate if exact match on lead exists.
Exact match Prospect Exists. Verifies whether exact match prospect exists.
Create Prospect. Creates prospect if exact match prospect does not exist.
1. Create Lead with this Prospect ID. 2. Create Response/Questions and Answers, if applicable. Creates lead with the created prospect ID and creates responses or questions and answers if applicable.
Update Found Prospect. Update process identifies a prospect if the exact match prospect exists.
Exact match on Lead Exists?. Verifies whether exact match on a lead exists.
The following figure illustrates the B2B import logic.

This workflow does the following:
Account given in file?. Verifies whether Account is specified in the file.
Perform Contact Dedupe create = N Get ID. Performs contact deduplication to get ID if contact creation is set to N.
Perform Account Dedupe create = N Get ID. Performs account deduplication to get ID if account creation is set to N.
Account does not Exist. Contact does not Exist. Verifies that account and contact do not exist.
Account Exists. Contact does not Exist. Verifies that account exists but contact does not exist.
Exact match Prospect Exists. Verifies whether exact match prospect exists.
Create Prospect. Creates prospect if exact match prospect does not exist.
1. Create Lead with this Prospect ID. 2. Create Response/Questions and Answers, if applicable. Creates lead with the created prospect ID and creates responses or questions and answers if applicable.
Update Found Prospect. Update process identifies a prospect if the exact match prospect exists.
Exact match on Lead Exists?. Verifies whether exact match on lead exists.
Account does not Exist. Contact Exists. Verifies that exact account does not exist, but contact exists.
1. Create Account. 2. Create Relation between existing Contact and new Account. Creates account if account does not exist and creates a relation between existing contact and the new account.
1. Create Lead with existing Contact ID. 2. Create Response/Questions and Answers, if applicable. Creates lead with an existing contact ID and creates responses or questions and answers if applicable.
Account Exists. Contact Exists. Verifies that both account and contact exist.
Does Relation Exist?. Verifies whether a relation exists between account and contact.
Create Relation between existing Contact and existing Account of type Employee. Creates relation between existing contact and account of type employee if relation does not exist between a contact and account.
Exact match on Lead Exists?. Verifies whether exact match on a lead exists.
Leave row in Interface table flagged as duplicate lead. Mark the lead as duplicate if exact match on lead exists.
The following figure illustrates the response import logic.

This workflow does the following:
Response ID given in file?. Verifies whether a Response ID is specified in the file.
Response ID found in OLTP?. Verifies whether a Response ID is available in OLTP if the Response ID is specified in the file.
Reject to Exception Log. Adds the Response ID to the exception log as rejected if the Response Id is available in OLTP.
Account given in file?. Verifies whether an Account is specified in the file.
Perform Contact Dedupe create = N Get ID. Performs contact deduplication to get ID if contact creation is set to N.
Perform Account Dedupe create = N Get ID. Performs account deduplication to get ID if account creation is set to N.
Account does not Exist. Contact does not Exist. Verifies that account and contact do not exist.
Account Exists. Contact does not Exist. Verifies that account exists but contact does not exist.
Contact Exists?. Verifies whether contact exists.
Exact match Prospect Exists. Verifies whether exact match prospect exists.
Create Prospect. Creates prospect if exact match prospect does not exist.
Update Found Prospect. Update process identifies a prospect if the exact match prospect exists.
1. Create Response with this Prospect ID. 2. Create Questions and Answers. Creates response with the created prospect ID and creates questions and answers if applicable.
1. Create Response with existing Contact ID. 2. Create Questions and Answers. Creates response with an existing contact ID and creates questions and answers if applicable.
Exact match on Lead Exists?. Verifies whether an exact match on lead exists
Account does not Exist. Contact Exists. Verifies that exact account does not exist, but contact exists.
1. Create Account. 2. Create Relation between existing Contact and new Account. Creates account if account does not exist and creates a relation between existing contact and the new account.
Account Exists. Contact Exists. Verifies that both account and contact exist.
Does Relation Exist?. Verifies whether a relation exists between account and contact.
Create Relation between existing Contact and existing Account of type Employee. Creates relation between existing contact and account of type employee if relation does not exist between a contact and account.
The following figure illustrates the account import logic.

This workflow does the following:
Account ID given?. Verifies whether the Account ID is given.
Is this process for Account Import or Is this part of some higher object import process?. Verifies whether the process is for account import or a part of some higher object import process.
Does this ID exist in OLTP?. Verifies if the Account ID exists in OLTP if the process is part of some higher object import process.
Assume that this ID is the Account Reference. Account Foreign key (FK) should be set to this ID for the higher-level object. Sets the account foreign key to this ID for the higher-level object if the account ID exists in OLTP.
Perform Exact Match based on user mapping field. Tries to find exact match based on user mapping field.
Exact match found?. Verifies whether an exact match is found.
Refer to the Match resolution behavior guidelines and take proper action per the guidelines. Verifies the match resolution behavior guidelines to take proper action if an exact match is found.
Is Data Quality enabled?. Verifies whether Data Quality is enabled.
Perform Fuzzy Match. Performs fuzzy match if Data Quality is enabled.
Fuzzy match found?. Verifies whether the fuzzy match was found.
1. Create Account in S_ORG_EXT. 2. FK to this newly created contact. Creates new account in the S_ORG_EXT table and sets Foreign Key to the newly created contact if the fuzzy match score is below threshold.
1. Create Account in S_ORG_EXT. 2. Data Quality will automatically log it to the DEDUP table. 3. FK to the existing contact. Creates account in the S_ORG_EXT table, logs data quality into the deduplication table, and sets Foreign Key to the existing contact if the fuzzy match score is above threshold.
The following figure illustrates the contact import logic.

This workflow does the following:
Is Account provided?. Verifies whether an Account is given.
Perform Account Dedupe per the flow, get an ID back. Performs account deduplication to get the ID if the account is provided.
Contact ID given?. Verifies whether a contact ID is given.
Is this process for Contact Import or is this part of some higher object import process?. Verifies whether the process is for contact import or is a part of some higher object import process.
Does this ID exist in OLTP?. Verifies if the Contact ID exists in OLTP if the process is part of some higher object import process.
Assume that this ID is the Account Reference. Account foreign key should be set to this ID for the higher-level object. Sets the account foreign key to this ID for the higher-level object if the contact ID exists in OLTP.
Perform Exact Match based on user mapping field. Tries to find exact contact match based on user mapping field.
Exact match found?. Verifies whether an exact match is found.
Refer to the Match resolution behavior guidelines and take proper action per the guidelines. Verifies the match resolution behavior guidelines to take proper action if an exact match is found.
Is Data Quality enabled?. Verifies whether Data Quality is enabled.
Perform Fuzzy Match. Performs fuzzy match if Data Quality is enabled.
Fuzzy match found?. Verifies whether the fuzzy match was found.
1. Create Account in S_CONTACT. 2. FK to this newly created contact. Creates new account in the S_CONTACT table and sets Foreign Key to the newly created contact if the fuzzy match score is below threshold.
1. Create Account in S_ CONTACT. 2. DQ will automatically log it to the DEDUP table. 3. FK to the existing contact. Creates account in the S_ CONTACT table, logs data quality into the deduplication table, and sets Foreign Key to the existing contact if the fuzzy match score is above threshold.
Does Relation Exist?. Verifies whether a relation exists between the contact and account.
Create Relation between Contact and Account (of Type Employee). Creates a relation between the contact and account if a relation does not exist.