Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from this space and version 2023.1

...

The Contact Import allows Users to Import records into the Workers / Contacts Grid. When an existing Contact record is included in the Import File, and no changes are present, that line of the file will be skipped.

Matches On

The Contact first attempts to match the Customer Number then the Email Address. If there is no match, the record from the Import will INSERT. If there is a match, the remaining fields can UPDATE.

The Import process can be optionally set with Conditional Logic to match on the First Name and Last Name fields with the flag CONTACTS_CHECK_NAMES. See the Conditional Logic section for more information. First Name and Last Names, ONLY IF FLAGS.CONTACTS_CHECK_NAMES is True. If a match is found, that Contact can UPDATE.

Fields

First Name

Required

Datatype is String.

Cannot UPDATE if the CONTACTS_CHECK_NAMES is True in the Conditional Logic.

If no First Name is found, the Import File will INSERT the First Name.

...

For most Import types, the Import Process cannot update the field(s) used to look up the record being updated, because the Import can't provide the lookup value and the new value in one field. But because the Contact import has three different fields it can use for lookups, it works a little differently.

If a match is found, it is possible to update the fields that were not used for the match. For example, if the Contact record was found using the Customer Number, then a new Email Address will be appended, and First and Last Names can be updated. If the Email Address was used for the match, then the Customer Number and Names can be updated.

Fields

First Name

Required

Datatype is String.Cannot UPDATE if the CONTACTS_CHECK_NAMES is True in the Conditional Logic.If no

Last Name

...

Required

Datatype is String.

Directory

Datatype is Boolean.

Defaults to False [0].

Permitted Values are 1, Yes, True, and Active

Permitted Values sets the Directory to True [1] (Yes).

All other values enter as False [0].

Contact Type

...

Datatype is String.

Defaults to Customer.

Permitted values are from the CUSTOMER_TYPE List Values: Customer, User, Coordinator, Guest, Service Rep, Vendor, VIP, and Worker.

...

The Contact Type can be provided as an array in the Conditional Logic to allow assigning multiple values.

These values can be hard coded hardcoded into the Conditional Logic, or they can come from multiple fields in the input file.

See the Contact Type Notes section below for some examples.

If any Contact Type value is provided, it always replaces any existing value.

If the Contact Type is Coordinator, the following fields are available:

Billing Group

Conditionally Required

Datatype is String.

Allow Coordinator Bill Email

Datatype is Boolean.

Default value is False.

If the Contact Type is Customer, the following fields are available.

...

Conditionally Required

Datatype is String.

Cannot UPDATE existing records.

If no match is found, the Import File will INSERT the Customer Number.

Billing Group

Conditionally Required, when Customer Contact Type and it is a New Contact Add

Datatype is String.

Title

Datatype is String.

...

Dept. Hierarchy

Datatype is Hierarchical String or String.

Permitted values must be the full Dept. Hierarchy Path and Code values not the Department Hierarchy Name field.

If the Contact Type is User, the following fields are available.

Approval GLA

Datatype is String.

GLA values append to the list of existing GLA Approvals.

Each GLA value must be on a separate line of Import File.

"NONE" removes all GLA entries from the Approval GLAs.

Permitted values are NONE or any valid GLA.

Minimum Amount

Datatype is String.

Maximum Amount

Datatype is String.

Default GLA

Datatype is String.

Default SLA

Datatype is String.

...

This Import expects the Department Hierarchy code, not the Name.

The value for this field can be the full Hierarachial Path, or it can be just the last part of the Path. If you provide only the last part, then there is a chance that there could be duplicate values in the database. If duplicate values are found, then you will get an error.

Default GLA

Datatype is Hierarchical String.

Default SLA

Datatype is Hierarchical String.

Default Incident SLA

Datatype is Hierarchical String.

Minimum Amount

Datatype is String.

Maximum Amount

Datatype is String.

Street Address

...

Address2

Datatype is String.

Country

Default value: "United States"

Datatype is String.

City

Datatype is String.

State

Datatype is String.

Permitted values must be the 2 letter, all caps abbreviation (MI) or the full state name with an uppercase first letter (Michigan).

All other values are ignored.

States/Provinces use standard 2 Letter Abbreviations for US/Canada and 3 Letter Abbreviations for Mexico.

Zip Code

Datatype is String.

...

Values not in the List are not added.

Email

Datatype is String.

Cannot UPDATE if the value exists.

Otherwise the Email will INSERTEmail Addresses never get updated or removed. If a new Email Address is provided for an existing Contact, it will get appended to the list of Email Addresses, and the new value will be marked as 'Primary'.

Permitted GLA

Datatype is String.

...

ALL removes all entries in the list and allow any GLA to be used.Values append

to existing the list of GLA Permissions.For the first occurrence of a Contact in the import file, if a GLA Permission value is provided, this will replace the entire list of existing GLA Permissions for this Contact. Successive lines in the import file will append GLA Permissions. There is no way to just append individual values. The entire list will get replaced by the import.

Adding any valid GLA to the list removes the Permit None record.

To add multiple Permitted GLAs, each must be on a separate line of the Import File.

Phone

Datatype is String.

By default, this option allows numbers in these formats: "(123) 456-7890" or "456-7890" or "4567890".

Multiple Primary Phone Numbers cause an error.

The format of the Phone field is validated against the formatting.filters.phone.match configuration option. If the value does not match one of the default formats, it will cause a warning and the phone number will not be added.

Status

Datatype is String.

...

Flags / Conditional Logic

PERMITTED_GLA_APPEND:

Datatype is String.
Allowed Values are "APPEND" and "CLEAR".

This flag controls how GLAs are added to the GLA Permissions tab.

  • If you set APPEND, the import will append values.
  • If you set CLEAR, the import will clear all existing values before adding any. You can send the CLEAR value to just clear the list without providing a new value.
  • If you don't provide this flag, then the default behavior is to clear the list before adding the first value in the input file, then append any additional values that are in the same input file.

UPDATE_CONTACT_EMAIL:

Default Value is True.

...

  • True: If set to True, new Contacts attempts to INSERT with an Inactive Status.
  • False: If set to False, the new Contact attempts to INSERT with an Active Status.

Errors

There are a large number of possible errors for Imports. There are two types: errors that prevent the record from importing, and those that don't but cannot update related Import record information.

The following errors occur if the Contact INSERT or UPDATE fails:

  • Error : No Contact Number or Name or Email specified
  • Error : Found multiple duplicate customer numbers and emails in existing records for Customer Number <customerNumber>
  • Error : Found multiple duplicate names in existing records for Name <firstName> <lastName>
  • Error : FLAGS.NEW_CONTACT_DEFAULT_CONTACT_TYPE value '<defaultContactType>' is invalid
  • Error : Billing group is required for new Customer contacts for Contact '<contactId>'
  • Error : Failed to save Contact record <database error Message>

These do NOT cause the Contact INSERT or UPDATE to fail. The Contact will INSERT or UPDATE. However, the subsequent Child record may have a warning generate, and the child record is not added to the Contact. They are non-essential for the Contact, or they happen after the Contact save.When an Import Line fails, it is usually because the Line falls into one of the following categories:

  1. The value provided from another table was not found within the Database

    Toggle cloak

    Cloak
    • Warning : Could not find the Permission GLA for <GLA>
    • Warning : Could not find the Dept Hierarchy '<Dept Hierarchy>' for Contact '<contactId>'
    • Warning : Could not find Default SLA '<Default SLA Catalog>' for Contact '<contactId>'
    • Warning : Could not find Default Incident SLA '<Default Incident SLA Catalog>' for Contact '<contactId>'
    • Warning : Could not find Default GLA '<Default GLA>' for Contact '<contactId>'
    • Warning : Could not find Billing Group '<Billing Group>' for Contact '<contactId>'
    • Warning :

...

    • Could not find Approval GLA '<Approval GLA>' for Contact '<contactId>'


  1. The value provided from another table has multiple possible values

    Toggle cloak

    Cloak

...

    • Error : Found multiple duplicate customer numbers and emails in existing records for Customer Number <customerNumber>
    • Error : Found multiple duplicate names in existing records for Name <firstName> <lastName>


  1. A blank value was provided, for a field with a required value

    Toggle cloak

    Cloak
    • Error : Billing group is required for new Customer contacts for Contact '<contactId>'
    • Error : No Contact Number or Name or Email specified


  2. The value provided is not acceptable for the record type being created

    Toggle cloak

    Cloak
    • Warning : Minimum Amount is greater than Maximum Amount for Approval GLA '<Approval GLA>' for Contact '<contactId>'
    • Warning : Contact '<contactId>' is not type User, so cannot have Approval GLAs"; "Error adding email, email belongs to someone else

...

    • Error : FLAGS.NEW_CONTACT_DEFAULT_CONTACT_TYPE value '<defaultContactType>' is invalid


  1. The System was unable to save the record

    Toggle cloak

    Cloak
    • Error adding email
    • Error adding phone number
    • Error : Failed to save Address record <database error Message>
    • Error : Failed to Add Contact Address record; <database error Message>
    • Error : Failed to Save null GLARestrict record; <database error Message>
    • Error : Failed to Save GLA Restrict record; <database error Message>
    • Error : Failed to Save GLA Approval record; <database error Message>
    • Error : Failed to Save Contact Type record; <database error Message>
    • Error : Failed to save Contact record <database error Message>

    If you experience any of these Errors, without another accompanying Message about what might have caused the Save Failure, please submit a Ticket to PCR.

Notes

The Import first checks if the Contact information you are providing matches an existing record. For each of the following fields, it tries to find an existing match if you provide a non-empty value. It stops searching when it finds a match.

...


Contact Type Notes
Anchor
ContactTypeNotes
ContactTypeNotes

Often you will need to specify multiple values for the Contact Type. Sometimes it is required. For example, in order for a Contact to be a Coordinator, it must also be a Customer.

To specify multiple Contact Types, you must use Conditional Logic to set the Contact Type to an array of values.

Example 1: You can hard code multiple values. These will apply to every Contact in the input file.

[CONTACTS_TYPES.CONTACT_TYPE] = array('Customer', 'Coordinator');

Example 2: Contact type(s) are in columns 5, 6, 7, and 8 of the input file, one value per column. This method limits the number of Contact Types per Contact by the number of columns you want to use in the file layout. The import will ignore any blank values that get put into the array.

[CONTACTS_TYPES.CONTACT_TYPE] = array([5], [6], [7], [8]);

Example 3: Contact type(s) are all in column 5, with commas separating the values. We can use the PHP explode function to convert the comma-separated list into an array. The function will also work correctly if only one value is specified. If the separator is something else, just change it in the first argument of the explode function.

[CONTACTS_TYPES.CONTACT_TYPE] = explode(",", [5]);

UDF Associations

User Defined Fields on any given Import are all handled the same way with Conditional Logic. For more information about adding a UDF to the Import, see the User Defined Fields section of the Imports main page.

Child pages (Children Display)
styleh6
sorttitle