Align Data Loader

The Align Data Loader tool enables loading a CSV file into most Align objects. There is no client-side application to download; it is an online only tool. While most Align objects support manual data record creation and editing, the Align Data Loader allows users to quickly add records in bulk.

Some common uses of the Align Data Loader are the following:

  • Loading common entities not sourced from CRM, such as Territories, Field Forces, Geographies, Products, Account Rules, explicit Account assignments, Roster Member assignments, and Product assignments
  • Loading Account attributes used in alignment rules but not stored in CRM

Use the Align Data Loader to add data not stored in Veeva CRM. Information stored in Veeva CRM should be added to Align through the CRM integration.


To enable the Align Data Loader if using custom permission sets: 

If using out-of-the-box permission sets, ensure they allow use of the data loader before continuing.

  1. Ensure users can view the Production Objects and Import Task Console Vault tabs. See Admin for details.
  2. Ensure users have at least Insert and Update permissions on the object the data is loaded into.


  • Only CSV files are supported
  • There is no size limit for files that are loaded
  • There is no limit to the number of records that can be loaded

The sections below offer detailed information on Align data loading: 

CSV File Preparations

  • Start and End Dates must be entered in "yyyy-mm-dd" format, for example, 2015-01-01
  • Start and End datetime fields should not be included in CSV data loads and, as a result, are not accessible via the Align Data Loader field mapping wizard. The fields are set by the system according to each record's related Country Primary Time Zone. For example, if a record is related to Country = US and the Primary Time Zone = America/New_York, the end_date_time__aln field is set to 11:59 PM EST (GMT -5 hours).
  • If no Country is specified on a record, the system applies a datetime of GMT 0 (11:59 PM Greenwich Mean Time)
  • If no record source is set in the source__aln field in the CSV file, the system applies a source of Data Load (source__aln = data_load__aln)

Align Data Loader Wizard

The Align Data Loader Wizard, accessed by selecting Production Objects from the Import menu, uses three screens to guide users through the upload process.

The first screen in the wizard contains the following fields: 

  • Operation: Upsert is the only operation supported at this time
  • Object: Select the object into which the record is inserted or updated
  • Match On: Select from this picklist of available ID or External ID fields to match records on (because the Operation is Upsert, if no match is found and if all required fields are mapped, a new record is inserted)
  • Insert Null Values: Set this field to Yes if a blank or null value in the CSV file should clear a value on a record. Otherwise, set the field to No.
  • Import File: Drag and drop a CSV file into this field or select Choose File to search your local hard drive for a file

The second screen in the wizard contains information on mapping columns from the CSV file to fields on the target object. The system attempts to automatically map file columns to target columns. Once a field is mapped as the Align Field Name, it becomes inactive and cannot be mapped again.

Required fields are marked with an asterisk in the Align Field Name column.

The third page in the Align Data Loader Wizard allows users to preview the first five rows of the data load according to the mapping on the previous page of the data loader. This information builds the table displayed in the Map Columns section and assigns file values to the table columns, also based on mapping.

Import Task Console

The Import Task Console page provides a running history of data loads.

Users can analyze each data load by navigating to the respective Process Task record containing the following key details:

  • Process Name — contains the target object
  • Start Time — datetime the data load began
  • Duration — value is stored on the record in total seconds, yet rendered in the UI as 00:00:00 (hh:mm:ss)
  • Task Status
  • Running — data load is still in progress

    Completed — indicates the data load completed without errors

    Completed with Errors — indicates the data load completed and had at least 1 error

    Aborted — indicates the task failed to complete

  • Current Stage — data loading has only 2 stages: UPSERT_FILE and IMPORT_COMPLETE
  • Successes Rows — value represents the number of successful inserts or updates. Hyperlink downloads the success file (file only contains successes, errors are stored in the Errors downloadable file)
  • Errors — value represents the number or errors. Hyperlink downloads the error file.
  • Mapping File — downloadable SDL mapping file to see what fields were mapped

Data Loading Targeting Rules

The Data Loader can be used to load targeting_rule_channel__aln and targeting_rule_product__aln records. See Data Loading Targeting Rules for more information.

Data Loading Account Rules

The Account Rules object is different from most other data loads. The following fields should be included in the CSV files.

Account Rule CSV File:

  • Name* (Text 128)
  • Territory (Relationship to territory__aln object) — only valid if the Rule is directly linked to a Territory
  • Field Force (Relationship to field_force__aln object) — only valid if the Rule is directly linked to a Field Force
  • Start Date* (Date)
  • End Date* (Date)
  • Send to CRM* (True/False)
  • Account Hierarchy Rule* — Picklist with only the following values supported; no__aln, assign_parent__aln, assign_child__aln
  • Account Filter Logic (Text 1,500) — Contains the External IDs of the related Account Criterion records in the proper sequence
  • Address Filter Logic (Text 1,500) — Contains the External IDs of the related Address Criterion records in the proper sequence
  • Parent HCO Filter Logic (Text 1,500) — Contains the External IDs of the related Parent HCO Criterion records in the proper sequence
  • Product Metric Filter Logic (Text 1,500) — Contains the External IDs of the related Product Metrics Criterion records in the proper sequence
  • External Id* (Text 120) — customer-defined unique record identifier (system does not set this)
  • Account Sources (Text 1,000) — comma delimited list of Account Sources that will govern which Accounts get aligned to a Territory. Values are either "dl__aln" or the Vault Record Id of the respective CRM Org record id. Only one single CRM Org Id is supported because a Territory can only be associated to one CRM org.

Account Rule Criteria CSV File:

  • Name* (Text 128) — often a similar name to the Account Rule Name
  • Account Rule* — Relationship to account_rule__aln object
  • Type* — Picklist with only the following values supported; address_criteria__aln, account_criteria__aln, parent_hco_criteria__aln, product_metrics_criteria__aln
  • Field* (Text 128) — stores the respective object's Field Name
  • Operator* — Picklist—see Account Rule Criteria Operator field in Align for all supported picklist values)
  • Value (Text 1,500) — This field may contain commas wrapped in quotes which should not be treated as delimiters. Example: "Oncology, Pediatric Oncology" should be treated as a single value.
  • External ID*— customer-provided value (the system does not set this)
Sample Account Rule CSV File

The following example loads one rule.



field_force__aln start_date__aln end_date__aln send_to_crm__aln account_hierarchy_rule__aln account_filter_logic__aln address_filter_logic__aln parent_hco_logic__aln external_id__aln account_sources__aln
US Cardio HCP Affiliation Rule n/a uscardiofieldforce 2017-01-01 2099-12-31 True assign_child__aln


(ADD001 AND ADD002)




Sample Account Rule Criterion CSV File

The following example loads six criterion records.



type__aln field__aln operator__aln value__aln external_id__aln
US Cardio HCP Affiliation Rule 1 ABC123




Cardiology,"Internal Medicine","Cardiovascular Diseases","Cardiovascular Surgery"


US Cardio HCP Affiliation Rule 2 ABC123


is_person__aln equals__aln True ACCT002

US Cardio HCP Affiliation Rule 3








US Cardio HCP Affiliation Rule 4 ABC123 address_criteria__aln inactive__aln equals_aln false ADD001

US Cardio HCP Affiliation Rule 5







US Cardio HCP Affiliation Rule 6 ABC123 parent_hco_criteria__aln primary__aln equals True PHCO001
Data Load Order

When inserting or updating Account Rules, load them in the following order:

  1. Account Rule
  2. Account Rule Criterion

How Align Processes CSV Files

After the Account Rule Criterion records are successfully loaded, Align takes the External IDs found in the Account Rule logic fields and replaces the values with the newly inserted Criterion record's Master Align ID values.

For example, for the account_filter_logic__aln, the CSV file contains "(ACCT001 AND ACCT002 AND ACCT003)". After the Account Rule Criteria file is loaded, the account_filter_logic__aln becomes "(ee91a3a7-f258-4666-b5a5-8fa53bbf5df0 AND 422d568f-6fa5-448e-8acb-4a4309c692c3 AND 999-d568f-6fa5-448e-8acb-4a4309c692i7)"

Updating Account Rules

Users can update Account Rules (account_rule__aln) and Rule Criteria (account_rule_criteria__aln) records with the Align Data Loader. If users add or remove a rule's criteria, all criterion records must be included in the data load—not just the new records.

For example, if new Address criteria needs to be added to a rule:

  • CSV file #1 has one row to update the existing rule record. Either the Rule.Id_aln or the Rule.External_Id__aln values and the new address_filter_logic__aln values must match.
  • CSV file #2 has all criterion records (existing and new). The criterion record's external_id__aln value must match what is listed in the CSV file #1 address_filter_logic__aln field.

End-Dating Territory Assignments

Align administrators can now quickly end-date territory__aln and territory_model__aln records and their associated assignments using the Align Data Loader. This enables administrators to avoid having to perform multiple data loads to update these records.

When the end date of a territory is updated, any assignment with an end date later than the end date of the territory automatically updates to the territory’s end date.

For example, the administrator uses the Align Data Loader to change the end date of Territory 101 to January 1st, 2020. A Geography Territory belonging to Territory 101 has an end date of December 31st, 2099. The Geography Territory’s end date automatically updates to January 1st, 2020.

When end-dating a territory__aln record, the following assignments automatically update:

  • account_territory__aln
  • geography_territory__aln
  • territory_product__aln
  • roster_member_territory__aln
  • territory_footprint__aln
  • account_rule__aln

When end-dating a territory_model__aln record, the following assignments automatically update:

  • account_territory_model__aln
  • geography_territory_model__aln
  • territory_product_model__aln
  • roster_member_territory_model__aln
  • account_rule_model__aln