Integrations

We have already introduced some very specific integration points elsewhere in this document, but there are a several other ways in which DialedIn CCaaS (formerly ChaseData) allows integration with 3rd Party or external systems, which we’ll discuss here.

GET and POST Methods

HTTP is a protocol that is used to send information through webservers; POST and GET are HTTP request methods. GET is usually intended to retrieve data, while POST is intended to send data to a server to create/update a resource, and POST can carry more data.

With the GET method, the data is sent as URL parameters that are usually strings of name and value pairs separated by ampersands (&). In general, a URL with GET data will look like this:
https://www.example.com/action.php?name=john&age=24

With the POST method, the data is sent to the server as a package in a separate communication with the processing script. Data sent through the POST method will not be visible in the URL.

The DialedIn CCaaS system includes messages that can be used with either GET or POST methods to facilitate a number of operations on the data stored in the database. These messages are handled through the following:
https://api.chasedatacorp.com/HttpImport/

Before we go through the specifics, it is important to mention that you will need an authentication token for every operation, which you will need to set up via Integration Settings (refer to "Setting Up API Tokens").

The available messages and the operations they invoke are as follows.

Important

Unless otherwise specified, parameters that represent phone numbers, e.g., Phone, CallId, are expected as a 10-digit string without spaces or dashes.

InjectLead.php
Purpose
  • Inserts Contact (lead) into the DialedIn database
Minimum required identifying name‐value pairs
  • token — security component provided by DialedIn or obtained via Integration Settings
  • accid — security component that identifies the DialedIn customer or its vendor; it corresponds to the FQDN prefix (ex: if customer/vendor FQDN is test.chasedatacorp.com, accid = test)
  • Campaign — existing campaign
  • PrimaryPhone — default Contact field.
Optional insertion behavior name-value pairs
  • ImportOnly — indicates whether this is a standard insertion (1) or it’s a Hot Lead insertion (0); 0 is the default; Hot Lead means that, upon insertion, the Contact (lead) will be dialed with priority as soon as possible
  • DuplicatesCheck — indicates whether and how to check if the Contact is already in the database (based on PrimaryPhone), and whether to allow insertion if it indeed becomes a duplicate; the possible values are:

    0 — check within the Campaign only; do not insert if it already exists (this is the default);

    1 — insert without check;

    2 — check across all Campaigns; do not insert if it already exists

    3 — check within same Campaign and Sub-Campaign.

Optional Hot Lead insertion name-value pairs (applicable if ImportOnly = 0)
  • Subcampaign — sub‐campaign to assign the lead to
  • timezone — Set (1) or not set (0); if set, the Hot Lead treatment will be applied only if a time-zone check succeeds (i.e. check Contact and Campaign time zones to verify that the call would be within calling hours); 0 is the default
  • AllowDialingDups — Set (1) or not set (0); if set, the Hot Lead will still be dialed even if determined to be a duplicate Contact (based on DuplicatesCheck) and no other condition prevents the system from dialing it; 0 is the default
  • DialNonCallables — Set (1) or not set (0); if set, the Hot Lead will be dialed even if determined to be a non-callable Contact (including when the corresponding number is found in the DNC table) and no other condition prevents the system from dialing it; 0 is the default.
Optional Callback name-value pairs
  • CallbackAgent — name identifier of the Agent, as defined in the system
  • CallbackDate — date and time (based on PrimaryPhone time zone) when the call-back is to be performed, in MM/dd/yyyy HH:mm:ss format, as follows:
    • MM — 2‐digit month number;
    • dd — 2‐digit day of the month;
    • yyyy — 4‐digit year;
    • HH:mm:ss — Time of the day in 24‐hour format;
  • CallbackNotes — generic notes for the callback.
Other optional name‐value pairs
  • Can include any other name‐value pair where name is a valid Default Field
  • Can provide any other name‐value pair where name is a valid Custom Field; in this case, the name must be pre-fixed by adv_ (e.g. if Custom Field is MobilePhone, then name must be adv_MobilePhone)
  • If a name includes whitespace, each whitespace character must be replaced by a double-underscore (__) (e.g. if field is Mobile Phone, then name must be Mobile__Phone).
  • Default field length:
    • ClientId = 50
    • FirstName = 100
    • LastName = 100
    • Address = 500
    • City = 100
    • State = 2
    • ZipCode = 10
    • PrimaryPhone = 50
    • Rep = 50
    • CallStatus = 50
    • Campaign = 50
    • Notes = unlimited
    • Subcampaign = 50

Example (shown as GET):
https://api.chasedatacorp.com/HttpImport/InjectLead.php?token=ABCDEFGHIJK&accid=test&Campaign=TEST&Subcampaign=HotLeads&FirstName=John&LastName=Smith&PrimaryPhone=5553334444&adv_MobilePhone=5552226666

UpdateLead.php
Purpose
  • Makes changes to an existing Contact (lead) into the DialedIn database
  • Will NOT create a new one, if it doesn’t exist.
Minimum required identifying name‐value pairs
  • token — security component provided by DialedIn or obtained via Integration Settings
  • accid — security component that identifies the DialedIn customer or its vendor; it corresponds to the FQDN prefix (ex: if customer/vendor FQDN is test.chasedatacorp.com, accid = test)
  • SearchField — name of the Contact field to be used to search for the Contact; allowed values are:
    • ClientId — corresponds to ClientId from Default Fields
    • LeadId — corresponds to id from Default Fields
    • Phone — corresponds to PrimaryPhone from Default Fields.
  • Identifier — value corresponding to SearchField.
Optional Callback name-value pairs
  • CallbackAgent — name identifier of the Agent, as defined in the system
  • CallbackDate — date and time (based on PrimaryPhone time zone) when the call-back is to be performed, in "MM/dd/yyyy HH:mm:ss"; format, as follows:

    MM — 2‐digit month number;

    dd — 2‐digit day of the month;

    yyyy — 4‐digit year;

    HH:mm:ss — Time of the day in 24‐hour format;

  • CallbackNotes — generic notes for the callback.
Other optional name‐value pairs
  • Can include any other name‐value pair where name is a valid Default Field
  • Can provide any other name‐value pair where name is a valid Custom Field; in this case, the name must be pre-fixed by adv_ (e.g. if Custom Field is MobilePhone, then name must be adv_MobilePhone)
  • If a name includes whitespace, each whitespace character must be replaced by a double-underscore (__) (e.g. if field is Mobile Phone, then name must be Mobile__Phone)
  • Field names not found (including misspelled ones or wrong case) are ignored

Example (shown as GET):
https://api.chasedatacorp.com/HttpImport/UpdateLead.php?token=ABCDEFGHIJK&accid=test&SearchField=Phone&Identifier=5553334444&FirstName=John&LastName=Smith&adv_MobilePhone=5552226666

LeadOperations.php
Purpose
  • Performs and operation on an existing Contact (lead) in the DialedIn database
Minimum required name‐value pairs
  • token — security component provided by DialedIn or obtained via Integration Settings
  • accid — security component that identifies the DialedIn customer or its vendor; it corresponds to the FQDN prefix (ex: if customer/vendor FQDN is test.chasedatacorp.com, accid = test)
  • Action — the operation to be performed; allowed values are: DispositionLead, SearchLead, InsertDnc, DeleteDnc
Parameters (name‐value pairs) for Action DispositionLead
  • LeadId — corresponds to id from Default Fields
  • Disposition — disposition or Wrap-up Code to assign to Contact.
Parameters (name‐value pairs) for Action SearchLead
  • SearchField — indicates the field used to identify the lead, which can be one of:
    • ClientId
    • LeadId
    • Phone
  • Identifier — the value to search in SearchField; passed as-is, including format
  • Detailed — switch indicating whether to return all the fields associated with the field (1), if found, or just whether the lead was found (0)
  • Campaign — optional parameter to restrict the search to the indicated campaign; if empty, it searches in all campaigns
  • Subcampaign — optional parameter to restrict the search to the indicated sub-campaign; if empty, it searches in all sub-campaigns.
  • Return Values:

    {"id":[Identifier],"LeadExists":[true/false]}

Parameters (name‐value pairs) for Action InsertDnc
  • Number — the 10-digit phone number to insert into the internal DNC database and scrub it for all existing leads
Parameters (name‐value pairs) for Action DeleteDnc
  • Number — the 10-digit phone number to delete from the internal DNC database

Examples (shown as GET):
https://api.chasedatacorp.com/HttpImport/LeadOperations.php?token=ABCDEFGHIJK&accid=test&Action=DispositionLead&LeadId=1234&Disposition=TestDispo
https://api.chasedatacorp.com/HttpImport/LeadOperations.php?token=ABCDEFGHIJK&accid=test&Action=SearchLead&SearchField=Phone&Identifier=5554441111&Detailed=0
https://api.chasedatacorp.com/HttpImport/LeadOperations.php?token=ABCDEFGHIJK&accid=test&Action=InsertDnc&Number=5553331111
https://api.chasedatacorp.com/HttpImport/LeadOperations.php?token=ABCDEFGHIJK&accid=test&Action=DeleteDnc&Number=5552221111

AgentDialList.php
Purpose
  • Performs and operation on an Agent Dial List in the DialedIn database
Minimum required name‐value pairs
  • token — security component provided by DialedIn or obtained via Integration Settings
  • accid — security component that identifies the DialedIn customer or its vendor; it corresponds to the FQDN prefix (ex: if customer/vendor FQDN is test.chasedatacorp.com, accid = test)
  • Agent — login name of the Agent upon which the Dial List operation is to be performed
  • List — unique name (avoid spaces) of the Agent Dial List to which the operation is to be performed
  • Action — the operation to be performed; allowed values are: CreateList, DeleteList, AddPhone, DeletePhone, PhoneDialed, PhoneUnDialed.
Additional parameters (name‐value pairs) for Action AddPhone
  • Phone — telephone number (digits only) to add to an existing Agent Dial List
Additional parameters (name‐value pairs) for Action DeletePhone
  • Phone — telephone number (digits only) to remove from an existing Agent Dial List
Additional parameters (name‐value pairs) for Action PhoneDialed
  • Phone — telephone number (digits only) to be marked as Dialed on an existing Agent Dial List
Additional parameters (name‐value pairs) for Action PhoneUnDialed
  • Phone — telephone number (digits only) to be marked as UnDialed on an existing Agent Dial List.

Examples (shown as GET):
https://api.chasedatacorp.com/HttpImport/AgentDialList.php?token=ABCDEFGHIJK&accid=test&Action=CreateList&Agent=agent-login-name&List=new-list-name

https://api.chasedatacorp.com/HttpImport/AgentDialList.php?token=ABCDEFGHIJK&accid=test&Action=DeleteList&Agent=agent-login-name&List=new-list-name

https://api.chasedatacorp.com/HttpImport/AgentDialList.php?token=ABCDEFGHIJK&accid=test&Action=AddPhone&Agent=agent-login-name&List=new-list-name&Phone=5559998888

https://api.chasedatacorp.com/HttpImport/AgentDialList.php?token=ABCDEFGHIJK&accid=test&Action=DeletePhone&Agent=agent-login-name&List=new-list-name&Phone=5559998888

https://api.chasedatacorp.com/HttpImport/AgentDialList.php?token=ABCDEFGHIJK&accid=test&Action=PhoneDialed&Agent=agent-login-name&List=new-list-name&Phone=5559997777

https://api.chasedatacorp.com/HttpImport/AgentDialList.php?token=ABCDEFGHIJK&accid=test&Action=PhoneUnDialed&Agent=agent-login-name&List=new-list-name&Phone=5559996666

TextOperations.php
Purpose
  • Requests executing an SMS operation on behalf of the account
Minimum required name‐value pairs
  • token — security component provided by DialedIn or obtained via Integration Settings
  • accid — security component that identifies the DialedIn customer or its vendor; it corresponds to the FQDN prefix (ex: if customer/vendor FQDN is test.chasedatacorp.com, accid = test)
  • Action — the operation to be performed; allowed value is: SendSms
Parameters (name‐value pairs) for Action SendSms
  • From — a phone number owned by the account from which the SMS message is to be sent
  • To — the phone number to which the SMS message is to be sent
  • Message — the content of the SMS message to be sent.
Optional Parameters (name‐value pairs) for Action SendSms
  • Agent — the login name of the agent for which the SMS message is sent on behalf of
  • LeadId — an existing lead to which the SMS is to be assigned; corresponds to id from Default Fields.

Example (shown as GET):
https://api.chasedatacorp.com/HttpImport/TextOperations.php?token=ABCDEFGHIJK&accid=test&Action=SendSms&From=5553331111&To=5552226666&Message=Hello

CallOperations.php
Purpose
  • Performs an action on ongoing call
Minimum required name‐value pairs
  • token — security component provided by DialedIn or obtained via Integration Settings
  • accid — security component that identifies the DialedIn customer or its vendor; it corresponds to the FQDN prefix (ex: if customer/vendor FQDN is test.chasedatacorp.com, accid = test)
  • Action — the operation to be performed; allowed values are: ConferenceCall, TransferCall, TerminateCall, AvailableInboundAgents
Parameters (name‐value pairs) for Action ConferenceCall
  • Agent — the login name of the agent involved in the call
  • Phone — the number to be conferenced
  • PrivateConference — indication on whether the customer side of the call should be put on hold hence muted (1), or not (0); 0 is the default.
Parameters (name‐value pairs) for Action TransferCall
  • CallId — identifier of the already established call to be transferred
  • Phone — the destination number for the call transfer.
Parameters (name‐value pairs) for Action TerminateCall
  • CallId — identifier of the already established call to be terminated.
Parameters (name‐value pairs) for Action AvailableInboundAgents
  • DID — the phone number associated with the ring group
  • CallId (optional) — identifier of the incoming call (to look up an associated Lead)
  • CanBeOnCall (default is 0) — indication on whether an agent is considered available even if in another call
  • CanBeOnBreak (default is 0) — indication on whether an agent is considered available while on a break state
  • CanDoWrapUp (default is 0) — indication on whether an agent is considered available while on a call wrap state.

Examples (shown as GET):
https://api.chasedatacorp.com/HttpImport/CallOperations.php?token=ABCDEFGHIJK&accid=test&Action=ConferenceCall&Agent=agent-login-name&Phone=5553331111&PrivateConference=0
https://api.chasedatacorp.com/HttpImport/CallOperations.php?token=ABCDEFGHIJK&accid=test&Action=TransferCall&Phone=5553331111&CallId=5556661111
https://api.chasedatacorp.com/HttpImport/CallOperations.php?token=ABCDEFGHIJK&accid=test&Action=TerminateCall&CallId=5556662222
https://api.chasedatacorp.com/HttpImport/CallOperations.php?token=ABCDEFGHIJK&accid=test&Action=AvailableInboundAgents&DID=5553337777&CallId=5556663333

SkillListOperations.php
Purpose
  • Applies changes related to Skills, on Call Queues
  • UpdatePriority sets skill priority, delay, and status for the specified Source DID; if no priority exists, a new one is added
  • Reload applies any changes and reloads Call Queues.
Minimum required name‐value pairs
  • token — security component provided by DialedIn or obtained via Integration Settings
  • accid — security component that identifies the DialedIn customer or its vendor; it corresponds to the FQDN prefix (ex: if customer/vendor FQDN is test.chasedatacorp.com, accid = test)
  • Action — the operation to be performed; allowed values are: UpdatePriority, Reload
Parameters (name‐value pairs) for Action UpdatePriority
  • Priority (optional) — the priority to assign to the selected Skill on the queue associated with the selected DID Source
  • Delay (optional) — the delay assigned to the specified Skill before the DID Source queue moves to the next skill
  • Active (optional) — set the specified Skill to active (1) or disabled (0) on the specified DID Source queue.
Parameters (name‐value pairs) for Action Reload
    None

Examples (shown as GET):
https://api.chasedatacorp.com/HttpImport/SkillListOperations.php?token=ABCDEFGHIJK&accid=test&Action=UpdatePriority&Skill=skill-1&Source=5552226666&Priority=10&Delay=30&Active=1
https://api.chasedatacorp.com/HttpImport/SkillListOperations.php?token=ABCDEFGHIJK&accid=test&Action=Reload

Power‑Import PHP Script

PHP is a server scripting language, where scripts are executed on the server; the result is returned to the browser as plain HTML. PHP scripts can collect form data, as well as add, delete, and modify data in the database. The default file extension for PHP files is .php.

Note that within a PHP script you could actually send HTTP requests; that's not the intention here, but rather to perform the operations on the database in a more programmatic (controlled) manner.

In order to use PHP to insert, or update Contact (lead) records in the database, a PHP script would need to be developed; in order to work, this cunstom PHP script must include the DialedIn PowerImportAPI PHP script unmodified. This PowerImportAPI.php file will be provided by DialedIn upon request.

Following are guidelines and examples on how all this works.

The first thing to do by a user script or procedure is to include the PowerImportAPI.php file and instantiate the PowerImportAPI class (defined in the file that was included). That class contains the necessary record array, public functions, and supporting variables and private functions needed to execute the desired operations (insert, update, or delete contact record).

When instantiating PowerImportAPI, the following need to be considered:

  • FQDN must be replaced with the corresponding value unique to the particular operation/group
  • TOKEN must be replaced with the corresponding value, which is the integration token available in the integration settings for the particular operation/group (refer also to "Setting Up API Tokens" article).

The next thing is to define the data representing the Contact record to be handled; this is an Associative Array ($data in the example that follows) containing pairs of Named Keys and Values, where each Named Key represents a Default Field as referenced in the System-Provided Contact Fields table in Custom Data, under General Tools and Data.

If Custom Fields also need to be accounted for, these fields must be defined in a sub-array with Named Key [extended], which contains a Named Key‐Value pair for each relevant Custom Field.

It's important to understand that Named Keys must match exactly a Default Field or a Custom Field, as applicable, and that both names and values are case‐sensitive in the database.

The values are set or read according to the behavior of each operation (function) performed (insert, update, or delete contact record).

It's also important to instantiate the variables containing the relevant Campaign (existing campaign), and Sub-campaign (existing sub-campaign, if any), so they can be passed to the PowerImportAPI functions, where applicable.

Notice that these variables may represent a field in the Contact record; however, if they’re included in the $data array, as well, they may create a conflict within a particular operation, in which case it will cause the operation to fail and generate an error.

At this point, the necessary constructs have been defined and we can now proceed to call a PowerImportAPI function to execute an operation. The following example shows basic code to import one Contact record into the DialedIn CCaaS database using the ImportData function. Other PowerImportAPI functions can be used in a similar manner, according to their call signature.

It is up to the developer to determine how to loop over all Contact records that need to be processed, and populate or retrieve the values in the $data, $campaign and $subcampaign variables (as it’s applicable for each operation).

The following example shows basic code to insert one telephone number into the DialedIn CCaaS DNC table using the InsertDncNumber function.

The PowerImportAPI class makes available several functions as follows; all functions perform the corresponding operation on a single record.

Contact Record Insertion
ImportData (  
$dataArray,
 $campaign,
 $subcampaign,
 $dialDups,
 $dialNonCallables,
 $duplicatesCheck
 )
  • Inserts Contact (lead) record ($dataArray) into the DialedIn database
  • Valid $dataArray must be provided
  • Valid $campaign must be provided
  • $subcampaign is optional (can be empty string)
  • $dialDups and $dialNonCallables are reserved for future use (values will have no effect)
  • $duplicatesCheck indicates whether and how to check if the Contact is already in the database (based on $PrimaryPhone), and whether to allow insertion if it indeed becomes a duplicate; the possible values are:

    0 — check within the Campaign only; do not insert if it already exists (this is the default);

    1 — insert without check;

    2 — check across all Campaigns; do not insert if it already exists

  • Success returns true; otherwise false
  • If false, sets error for retrieval via GetLastError.
InsertHotLead (  
$dataArray,
 $campaign,
 $subcampaign,
 $dialDups,
 $dialNonCallables,
 $duplicatesCheck
 )
  • Inserts Contact (lead) record ($dataArray) into the DialedIn database, which is also set to be dialed with priority as soon as possible
  • Valid $dataArray must be provided
  • Valid $campaign must be provided
  • $subcampaign is optional (can be empty string)
  • $dialDups — set (1) or not set (0); if set, the Hot Lead will still be dialed even if determined to be a duplicate Contact (based on DuplicatesCheck) and no other condition prevents the system from dialing it
  • $dialNonCallables — set (1) or not set (0); if set, the Hot Lead will still be dialed even if determined to be a non-callable Contact (including when the corresponding number is found in the DNC table) and no other condition prevents the system from dialing it
  • $duplicatesCheck indicates whether and how to check if the Contact is already in the database (based on $PrimaryPhone), and whether to allow insertion if it indeed becomes a duplicate; the possible values are:

    0 — check within the Campaign only; do not insert if it already exists (this is the default);

    1 — insert without check;

    2 — check across all Campaigns; do not insert if it already exists

  • Success returns true; otherwise false
  • If false, sets error for retrieval via GetLastError.
InsertHotLeadWithTimezoneCheck (  
$dataArray,
 $campaign,
 $subcampaign,
 $dialDups,
 $dialNonCallables,
 $duplicatesCheck
 )
  • Inserts Contact (lead) record ($dataArray) into the DialedIn database, which is also set to be dialed with priority as soon as possible if a time-zone check succeeds (check Contact and Campaign time zones to verify that the call would be within calling hours)
  • Valid $dataArray must be provided
  • Valid $campaign must be provided
  • $subcampaign is optional (can be empty string)
  • $dialDups — set (1) or not set (0); if set, the Hot Lead will still be dialed even if determined to be a duplicate Contact (based on DuplicatesCheck) and no other condition prevents the system from dialing it
  • $dialNonCallables — set (1) or not set (0); if set, the Hot Lead will still be dialed even if determined to be a non-callable Contact (including when the corresponding number is found in the DNC table) and no other condition prevents the system from dialing it
  • $duplicatesCheck indicates whether and how to check if the Contact is already in the database (based on $PrimaryPhone), and whether to allow insertion if it indeed becomes a duplicate; the possible values are:

    0 — check within the Campaign only; do not insert if it already exists (this is the default);

    1 — insert without check;

    2 — check across all Campaigns; do not insert if it already exists

  • Success returns true; otherwise false
  • If false, sets error for retrieval via GetLastError.
Contact Record Update
UpdateDataByLeadId (  
$dataArray,
 $campaign,
 $subcampaign,
 $identifier
 )
  • Updates an existing Contact (lead) record ($dataArray) in the DialedIn database, identified by its system-generated unique id (default field) provided in $identifier
  • Valid $dataArray must be provided
  • Valid $campaign must be provided
  • $subcampaign is optional (can be empty string)
  • Success returns true; otherwise false
  • If false, sets error for retrieval via GetLastError.
UpdateDataByClientId (  
$dataArray,
 $campaign,
 $subcampaign,
 $identifier
 )
  • Updates an existing Contact (lead) record ($dataArray) in the DialedIn database, identified by its customer-defined client ID (default field ClientId) provided in $identifier
  • Valid $dataArray must be provided
  • Valid $campaign must be provided
  • $subcampaign is optional (can be empty string)
  • Success returns true; otherwise false
  • If false, sets error for retrieval via GetLastError.
UpdateDataByPhone (  
$dataArray,
 $campaign,
 $subcampaign,
 $identifier
 )
  • Updates an existing Contact (lead) record ($dataArray) in the DialedIn database, identified by its primary telephone number (default field PrimaryPhone) provided in $identifier
  • Valid $dataArray must be provided
  • Valid $campaign must be provided
  • $subcampaign is optional (can be empty string)
  • Success returns true; otherwise false
  • If false, sets error for retrieval via GetLastError.
General Operations
LeadOperation (  
$leadId,
 $actionValue,
 $action
 )
  • Performs and operation on an existing Contact in the DialedIn database
  • $leadId corresponds to id from Default Fields
  • $actionValue — the operation to be performed; allowed value is (currently just):
    • DispositionLead
      • actionValue: disposition or Wrap-up Code to assign to Contact
AgentDialListOperation (  
$action,
 $agent,
 $list,
 $phone
 )
  • Performs and operation on an Agent Dial List in the DialedIn database
  • $action — the operation to be performed; allowed values are:
    • CreateList
      • phone: (ignored)
    • DeleteList
      • phone: (ignored)
    • AddPhone
      • phone: telephone number (digits only) to add to an existing Agent Dial List
    • DeletePhone
      • phone: telephone number (digits only) to remove from an existing Agent Dial List
    • PhoneDialed
      • phone: telephone number (digits only) to be marked as Dialed on an existing Agent Dial List
    • PhoneUnDialed
      • phone: telephone number (digits only) to be marked as UnDialed (skipped) on an existing Agent Dial List
  • $agent — login name of the Agent upon which the Dial List operation is to be performed
  • $listunique name of the Agent Dial List to which the operation is to be performed.
DNC Record
InsertDncNumber (  
$number )
  • Inserts (imports) DNC Number into the DialedIn database
  • Updates an existing number to FTC DNC, making it non‐callable
  • Valid $number must be provided
  • Success returns true; otherwise false
  • If false, sets error for retrieval via GetLastError.
DeleteDncNumber (  
$number )
  • Deletes (imports) DNC Number from the DialedIn database
  • No effect on an existing Contact with that number
  • Valid $number must be provided
  • Success returns true; otherwise false
  • If false, sets error for retrieval via GetLastError.
Error Retrieval
GetLastError ( )
  • Retrieve the last error code and description (single string) that was set by the$PowerImportAPI class
Lead Verification
GetResponse ( )
  • Retrieve the last error code and description (single string) that was set by the$PowerImportAPI class, when an Import/Insert method has returned true; those methods are ImportData, InsertHotLead, and InsertHotLeadWithTimezoneCheck.

Initial Configuration

In this section we provide an example of how an initial (onboarding) basic configuration is performed. This includes a general questionnaire, a configuration flow and planning guides.

Questionnaire

In order to get some basic information that will aide in getting the initial DialedIn CCaaS system setup going, a questionnaire is usually provided (usually at the demo stage); for a successful setup, it is important to have a set of answers that are as detailed and accurate as possible. Following is some of the information requested.

Initial Setup Questionnaire
Date & Time Submissions date and time
Company Name Formal company name
Company Address Street / City / State / ZIP Code / Country
Contact Name Name of contact person in the company
Contact Email Email of the contact person in the company
Contact Telephone Number Telephone number of the contact person in the company
Call Center Mission Checkboxes to indicate main types of business activities (e.g. Sales / Marketing)
Line of Business / Industry Industry field in which company is involved (e.g. Insurance)
Business Success Measuring Factors Checkboxes to indicate KPI and factors used to measure success of the business:
  • Agent Time to Answer
  • Escalations per Ticket
  • First Call Resolution
  • Average Talk Time
  • Agent Idle Time
  • Post Call Satisfaction Ratings
Type of Contacts Type of contacts handled by the business (e.g. Consumers)
Type of Calls Type of calls handled by the business (Inbound, Outbound, Both)
Nationwide Calls Indicates whether handling nationwide calls (Yes / No)
Most important Question That Must be Answered The most important question that ChaseData must answer during the software demonstration
2nd Most important Question That Must be Answered The 2nd most important question that ChaseData must answer during the software demonstration
3rd Most important Question That Must be Answered The 3rd most important question that ChaseData must answer during the software demonstration
CRM Integration Whether currently using CRM software that requires integration with the ChaseData CCaaS system (Yes / No)
Website Integration Whether would like integration from company website or landing page in order to have the ability for inquiries to be followed up (e.g. callbacks) from the ChaseData CCaaS system (Yes / No)
Network Type Type of network currently set up at the business location (e.g. Hardwired Internet)
Broadband Service Type Type of broadband internet connection in use at the business location (e.g. Cable)
Computer Type Type of computers in use at the business location (e.g. MS-Windows based PC)
Number of Agent Seats Number of agent seats used by the business
Number of Agents Total number of agents employed by the business
Describe Business Process Information about the business process that will allow effective configuration and customization of the DialedIn CCaaS system

Setup Flow

Strategy Alignment

It's important to be prepared for the specific needs of the customer that requires the Initial Configuration; that way we can focus on those configuration items that are key to get them started for their business domain and their particular needs.

The first clues come from understanding the business type; what business are they in, do they make calls, do they receive calls, how much lead/contact segmentation is typical in their business, how many agents they have, whether agents are multi-functional or specialized, etc.

With that in mind, following are a few general guidelines to consider, as follows.

There are certainly many other considerations, but for an initial setup or a trial, it’s best to start a workable configuration that is as simple as possible. This will get the customer started, who after training should be able to expand the initial configuration as needed.

The following diagram depicts the initial setup flow suggested here.

Pre-Setup

There are a few things that need to be completed before a DialedIn CCaaS setup is to be performed, as follows:

  • Contract executed between Customer and DialedIn.
  • Customer application space defined and configured on DialedIn CCaaS server(s), including Administrator account.
  • DialedIn CCaaS Management Console and Agent Client installation links specific to Customer generated by DialedIn.
  • If applicable, DID(s) set up for Customer.
1 – Requirements Verification

Refer to Requirements to verify that the following items meet the minimum requirements in the Customer environment:

  • Workstation(s) where the Management Console and the Agent Client are to be installed and executed.
  • IP network where those workstations operate.
  • IP router handling that network.

Help Customer take corrective action where needed; if not able to resolve, reschedule for when Customer is expected to have resolved the issue(s).

2 – Management Console and Agent Client Installation

Refer to Installation under Management Console and under Agent Client; follow installation instructions using the installation links provided by DialedIn.

3 – Custom Fields

Perhaps the first thing to consider is the information that the Customer needs to save and use within the ChaseData system, for each lead or contact; if a corresponding field doesn't exist already in the system by default, Custom Fields would need to be defined, and that would be assigned to the corresponding Campaign. For example, there's a system-provided PrimaryPhone field, but the Customer may also have a need for storing a secondary or mobile phone number, as well. Refer to Custom Data under General Tools and Data.

4 – Campaign

For basic Campaign there's no need for other elements to be provisioned beforehand, although we have chosen to create Custom Fields first. Other elements could be added later on, as needed, such as Custom Script Pages, Dialing Rules, Call Queues, etc.

It is important that the Campaign type is set for the right activities, Outbound, Inbound, or Blended (there are also ‘Virtual’ modes for more specialized functions). Since we decided to first create Custom Fields, also make sure to associate the corresponding Adv. Table (Custom Data) to the Campaign.

5 – Agent Skills

Before we're ready to provision Agents, we should have at least one Skill provisioned beforehand to represent the Agent role.

Note that when a Skill is provisioned, to be of use it must be activated for one or more Campaigns, which is the key link between an Agent and a Campaign; nevertheless, this relationship can be established at any time, therefore a Skill can be provisioned before the Campaign.

Refer to Agent Skills under Accounts.

6 – Agents

Just like Campaigns, Agents are necessary for any call center activity to take place (with the exception of Virtual Campaigns); therefore, we proceed to provision a few Agents and assign them of the Skills provisioned.

Also like with Campaigns, a Skill does not have to be given to the Agent at this time, but without it the Agent will not linked to any Campaign and therefore not active for all practical purpose.

7 – Voice Messages

Both Outbound and Inbound calls may require some custom Voice Messages; if recordings are available already for uploading, use them, otherwise for the time being could just define Voice Messages using Text-To-Speech (TTS).

Depending on the Campaign type(s) to be used, refer to Outbound Voice Prompts and/or Greetings & Announcements. If using TTS, refer to define corresponding Voice Scripts first.

8 – Lead Import

At this point we should already have everything we need to handle calls without customized rules, except that we don’t have Leads (Contacts) to act upon. Therefore, it’s important to Import some Contacts at this time; just make sure that the column headers for the records to be imported match exactly (case-sensitive) both the Default Fields and the Custom Fields previously defined. Refer to Contacts Import and Custom Data.

9 – Outbound Sub-Campaigns and Dial Priority

We now look into a nice-to-have setup, but also often used by typical Outbound Call Management; segmenting Contacts (Leads) into Sub-Campaigns for defining Dial Priorities.

The first step is to create Sub-Campaigns with a sub-set of the Contacts of a Campaign; refer to Sub-CampaignsCampaigns under Campaigns.

The second step is to activate and assign a priority rule to one or more of these Sub-Campaigns; refer to Dial Priority under Outbound Call Management.

This applies only if Outbound Call Management is to be performed.

10 – Inbound Call Flow

The other nice-to-have setup, in this case often used by typical Inbound Contact Centers is provisioning a Call Queue (which determines how to find an agent to take the call) and optionally defining a corresponding Call Flow (which allows for caller interactive responses). Refer to Inbound Call Queues/Ring Groups and Call FlowsInbound Call Queues/Ring Groups and Call Flows under Inbound Contact Center.

This applies only if Inbound Contact Center functions are to be performed.

11 – Wrap-Up Codes

An important part of a call center is to be able to set the disposition of calls in a manner specific to their business rules, therefore it’s highly recommended that a basic set of Wrap-up Codes is defined. Refer to Wrap-Up Codes under General Tools and Data.

Planning Guide

We have already shown both a generic initial customer questionnaire and a basic initial setup sequence to get us started with a workable configuration. Next, we’re going to go a little further by presenting planning guides to help us start fine-tuning both Inbound and Outbound operations.

Inbound Call Center

As we know, the purpose of the Inbound Call Center is to receive, distribute, and process incoming calls in a way that matches business needs and conditions in an optimal manner.

The key aspect, therefore, of planning for an Inbound Call Center configuration is to understand the defining components of the DialedIn CCaaS system that correspond to the business rules.

So, we need to know what types of calls we will be processing in order to map them to Agent Skills; and we need to assign these skills to Agents.

We need to know the phone number (DID) where we expect these calls to come in; if there are more than one, we need to know any relationship between them (e.g. one may present options, while another one may go straight to the final call queue). We need to know what Voice Messages to play to the caller, and under what conditions are those messages played. We need to know what to do when there are agents available, when there are agents signed-in but not available, and when there are no agents at all.

We need to know the Campaign that provides supporting information, tools and rules for the agent that answers the call; for example, a Script and/or Form to provide and gather information related to the call. We need to know what is the corresponding information that is collected and/or maintained about the Contact related to the call.

We need to know how to disposition a call, in other words, what Wrap-up Codes to be made available to the agents.

Following is a suggested planning list with example entries.

Incoming Call Points
Label Main-Number Support-Direct-Number
Description Main general-purpose numbers Numbers that go straight to Support
Numbers (DID) 888-555-0001
888-555-0002
855-555-1110
Greeting Message Main-Greeting N/A
Type IVR Tree Direct Number
Decision Tree IVR-Main IVR-Support-Direct
Routing Queue Queue-Main Queue-Support
Decision Trees
Label IVR-Main IVR-Support-Direct
Description Actions corresponding to main IVR options menu Actions for special case responses
Response 0 - "for any other requests"
1 - "for general inquiries"
2 - "to reach support"
7 - "if you want to be called back"
7 - "no agents... if you want to be called back"
Action 0 - Route to Queue
1 - Route to Queue
2 - Route to Queue
7 - Set a callback
7 - Set a callback
Action Data 0 - Queue-Main
1 - Queue-Main
2 - Queue-Support
7 - N/A
7 - N/A
Voice Messages
Label Description Type Media
Main-Greeting Welcomes caller, presents all options, and requests a response Greeting main_greeting.mp3
Support-Wait Tells caller to wait while the system connects to next available agent Wait support-wait.mp3
Main-Leave-Message Requests caller to leave message after the tone Voicemail request main-leave-message.mp3
Support-Leave-Message Requests caller to leave message after the tone Voicemail request support-leave-message.mp3
Call Queues
Label Queue-Main Queue-Support
Description Agents that can take general-purpose questions Specialized support agents
Agent Skill List Skill-List-Call-Center Skill-List-Support
Next Skill Timeout 2 secs 0 secs
Busy Agents Action Wait for an agent indefinitely Wait for an agent indefinitely
No Agents Action Voicemail redirect Voicemail redirect
Schedule 24/7 24/7
Campaign Customer-Care-Campaign Support-Campaign
Skill Lists
Label Skill-List-Call-Center Skill-List-Support
Description List of the skills of agents that should handle general-purpose calls, in priority order List of the skills of agents that should handle a support call, in priority order
Priority/Agent Skill 1 / Call-Center-Skill
2 / T1-Support-Skill
1 / T1-Support-Skill
2 / T2-Support-Skill
3 / Call-Center-Skill
Agent Skills
Label Description Incoming Calls Outgoing Calls Manual Calls
Call-Center-Skill Allowed to handle general customer care Yes No No
T1-Support-Skill Allowed to handle basic to medium support issues Yes Yes No
T2-Support-Skill Allowed to handle all types of customer care and support Yes Yes Yes
Campaigns
Label Description Agent Script and/or Form Contact Data
Customer-Care-Campaign Provides scripts for agents handling a customer care call, identifies the information that is available for a contact, and related rules Customer_Care_Script.docx Customer_Fields.docx
Support-Campaign Provides scripts and forms for agents handling a support call, identifies the information that for the contact, and related rules Support_Script_and_Form.html Customer_Fields.docx
Wrap-up Codes
Label Description For All Campaigns For a Specific Campaign
Requested-Info Caller has requested product information Yes N/A
Inquiry-Resolved General inquiry was handled satisfactorily Yes N/A
Minor-Problem-Resolved A minor reported problem was resolved No Support-Campaign
Major-Problem-Resolved A major reported problem was resolved No Support-Campaign
General-Resolved Non-categorized request was resolved No Customer-Care-Campaign
General-Unresolved Non-categorized request was left unresolved No Customer-Care-Campaign
Outbound Marketing & Sales

As we know, the purpose of the Outbound Call Manager is to perform calls to prospective or existing customers (leads and contacts) according to business goals (e.g. marketing, sales, political campaigns, fund-raising, etc.) in a way that maximizes the use of resources (agents, lines, and time).

Planning for Outbound Call Management configurations involves many business and regulatory considerations which often influence each other. The complexity therefore requires careful analysis and a good understanding of how to map the needs and requirements to related components in the DialedIn CCaaS system.

We know that Outbound Call Management relies heavily on leads (contacts) and the rules on how, how often, and when to call them. The best way to define these rules is to group them together, which is what a Campaign is for.

The how considers things like Agent Skills, available dialing lines, dialing mode, scripts, forms; the how often considers things like dial sequence, drop rate, redialing; the when considers things like dialing hours.

Following is a suggested planning list with example entries.

Campaigns
Label New-Sales-Campaign VIP-Campaign Lost-Customer-Campaign
Description To generate new sales from contacts that have not been previously approached To contact key important potential customers To try to win back previous customers
Caller ID Default 555-333-7777 Default
Agent Call Script and/or Form New_Sales_Script_and_Form.docx VIP_Script_and_Form.html Bring_Back_Script_and_Form.docx
Agent Waiting Screen https://app.powerbi.com/view?r=abc N/A N/A
Agent Paused Screen https://www.timeanddate.com https://www.brainyquote.com https://weather.com
Contact Data Customer_Fields.docx Customer_Fields.docx Customer_Fields.docx
Dialing Strategy
Campaign New-Sales-Campaign VIP-Campaign Lost-Customer-Campaign
Dialing Hours 9 AM – 8 PM 3 PM – 7 PM 10 AM – 7 PM
Lines per Agent 2 1 3
Maximum Drop Rate Allowed 0.02 0 3% - count only connected calls - include calls in last 30 days
Dialing Order or Priority Dial newer leads first Dial in the order of the contact list No specific order, but give priority to contacts with fewer call attempts
Dialing Optimization (Mode) Predictive – optimize based on number of lines, agents, drop ratio, etc. Preview – allow agent to review contact information before dialing Predictive
No Answer Actions
Campaign New-Sales-Campaign VIP-Campaign Lost-Customer-Campaign
Rings to Determine No Answer 6 4 4
Wait Time Before Redial 4 hours N/A Immediate
Redial Attempts Per Day 2 1 1
Lifetime Redial Attempts 10 5 10
Answering Machine Detection (AMD) Yes - Accurate (accuracy more important than delay) Yes - Optimized / Balanced No
Leave Message Yes - once per day only Yes - once only No
Wrap-up Codes
Label Description For All Campaigns For a Specific Campaign Can be Called Again It's a Final State Generate a POST action
Possible-Sale-Follow-Up Somehow interested and should try again Yes N/A Yes No sale_call_post_message.html
Sale-Initiated Started transaction; need to follow up Yes N/A Yes No sale_call_post_message.html
Sale-Completed Completed transaction Yes N/A Yes No sale_call_post_message.html
Call-Back Can talk some other time Yes N/A Yes No sale_call_post_message.html
Left-Message Machine answered; left message Yes N/A Yes No sale_call_post_message.html
Not-Interested-For-Now nterested but check back in the future Yes N/A Yes No sale_call_post_message.html
Not-Interested-Final Not interested Yes N/A No Yes sale_call_post_message.html

Scripting Tool

Here we discuss an embedded tool provided with the DialedIn CCaaS system, which allows to create and maintain what in the system is known as custom Scripts, or HTML pages with optional embedded scripting (e.g. JavaScript) for presenting to the agent when handling calls.

In the Scripts section under General Tools and Data, when configuring a Script page, we were presented with a Script Content checkbox for the case of Dynamic Scripts, and we indicated that by clicking on it would start the Scripting Tool, or Script Editor. Refer to the following picture.

The following picture provides an example of a typical script page, already put together, opened in the Script Editor when we click on that icon.

Notice that the Script Editor has two areas; the left area is a control area where available editing tools are presented, while the right area displays the script page layout and the HTML Code Editor. Refer to the following picture for the same example with the Code Editor enabled.

By clicking on the Preview button at the bottom of the control area, you can see how the resulting Script page will be displayed. Refer to the following picture.

As you may have already deducted from this, it is possible to edit a Script page in two ways: by designing the page through inserting HTML elements on the form in a guided way; or by typing the HTML code/commands directly. Furthermore, you can complement one with the other. As a matter of fact, you could even edit the Script page externally using a text or HTML editor.

Let's see how it looks when we create a new Script page from scratch; since there's nothing yet, the script Inspector shows an empty area indicating to start adding Elements. Refer to the following picture.

However, even though the script page is still empty, the Script Editor always adds basic HTML head information and stylesheet reference, which you can see by enabling the Code Editor area. Refer to the following picture.

If you have the basic Script page pre-designed externally, you probably want to copy the HTML code from the predesigned page and paste it in the body of your new Script page using the Code Editor. Otherwise, you can build the Script page using the different Elements available with the Script Editor; but you should be familiar with HTML and CSS in order to understand these elements and build a Script page properly.

The following pictures provide a glance to the available Elements.

Do note that these Elements are not just basic HTML elements, but rather pre-configured composite items to facilitate quickly building a Script page with typical components; when you drag and drop one of these items, they will be pre-configured with corresponding default components and values.

We'll go through an exercise to show how to add and modify items. So, let's start from scratch and add a Form from Dynamic Data using a drag-and-drop action from the control area to the layout area; this is a pre-configured dynamic form for Contact Information inserted in the body of the HTML page. Refer to the following picture.

The form contains a panel, which in turn contains a panel-heading, panel-body, and panel-footer. Within the panel-body there are three form-groups (First, Last, Address), and a section with three items (City, State, ZIP).

For our learning exercise, we’ll keep the form and panel, but remove the items within the panel-body (to then add our own); so, we click and delete each of them. Refer to the following pictures.

First thing we'll do is to modify the panel-heading; we'll edit the title, make it a header of level 3, and change the background color. We'll make the changes directly on the Code Editor, both on HTML and CSS. Refer to the following pictures (before and after changes).

Let’s now modify the panel-footer. Refer to the following pictures.

At this point, within the body of the HTML page, we have a form with a panel within it, which in turn has a panel-heading, an empty panel-body, and a panel-footer. Let's proceed to add some top-level form-groups within the panel-body. We'll do this directly on the Code Editor by adding both HTML and CSS items. Refer to the following pictures.

Let's now work on fields that correspond to the first form-group (Contact Person). There are many ways to do this, but for our example we'll go the simple route; we'll create separate form-groups for each line or row of fields, and we'll do it directly on the Code Editor.

Here's the first one, which contains two control-input elements, one for First Name and one for Last Name.

Notice that the style sheet (CSS) is indicating an even width distribution (49.5% and 49.5%) between the two control-input elements, allowing them to be in the same row, if there's enough room.

Also notice that we have used hashmark-delimited ChaseData CCaaS fieldnames (standard or custom) for placeholder (e.g. #FirstName#); this will populate those form elements with the corresponding Contact record information in the database.

Let's now continue with the rest of the form-groups and their embedded control-input elements for the rest of the Contact Person fields; Title will be on its own, Primary Phone and Alternate Phone will be grouped (i.e. same line, if possible), and Email and Spoke To will also be grouped. Refer to the following pictures.

Let's proceed now to Company Information; the first three (Company Name, Address, Address2) are just like Title, full-line items. Refer to the following pictures.

We'll do something a little different for the rest of the Company Information fields (City, State, ZIP); first, we will allow them to be on the same row, if possible; second, we will create a scroll list for State, using the select control. Refer to the following pictures.

We had to add some padding to the form-group that follows (Notes Section) to fix a side effect of what we just did. Refer to the following pictures.

Let’s now add a textarea for Notes Section. Refer to the following pictures.

And finally, a form-group with a scroll list within it, for Disposition the Call, using the select control once again. Refer to the following pictures.

To give it a final touch, we could change the panel background. Refer to the following pictures.

Following are previews of how the final Script page would look like. The width of the display window will have an effect; however, the look and feel should be the same if the HTML tags and style sheet (CSS) are properly put together (either with the Code Editor or using the DialedIn CCaaS pre-defined Elements).

We have concluded our example, which should give you a good jump start into creating or modifying Script pages. You should be aware of several things. For simplicity, we have built this example emphasizing the Code Editor, but the tool does provide pre-built Elements and an attribute editor (Inspector), which in most cases will allow you to build a Script page without the need to use the Code Editor.

Also for simplicity, we have not necessarily followed best practices for HTML and CSS; although effective, it could be argued that there are cleaner ways to do it. As a matter of fact, there are many ways to put together the same Script page, and you should follow the approach and design that makes more sense to you.

Finally, you could incorporate Java Script to your Script page, which we are not addressing in this guide.

As reference, let us share a couple of links where you can find HTML and CSS reference information; we do not endorse any of them, just provide them to you as one place to look at, but there are many more available.

https://www.w3schools.com/tags/default.asp
https://www.w3schools.com/cssref/default.asp
https://www.w3schools.com/jsref/default.asp

General Information

System Dispositions

AGENTSPCB Agent Specific Callback
CR_BAD_NUMBER Number is not valid
CR_BUSY Busy tone
CR_CEPT Disconnected number
CR_CNCT / CON_CAD Cadence change; voice detected last second
CR_CNCT / CON_PAMD Positive answering machine detection
CR_CNCT / CON_PVD Positive voice detection
CR_DISCONNECTED Call was disconnected (carrier rejected the call)
CR_DROPPED Call was dropped
CR_ERROR Internal dialing error; number gets called back
CR_FAILED Line error; number gets called back
CR_FAXTONE Fax tone
CR_HANGUP Incoming caller hang up before being connected; when customer hangs up with no other actions taken (e.g. voicemail); specific to inbound calls
Hangup Termination Set when an Inbound Voice Prompt that has Termination set to Hangup takes place
CR_CNCT/INTERRUPT Call is canceled before it completes, e.g., a call attempt is interrupted while still ringing
CR_NOANS No answer
CR_UNAVAILABLE Received a "temporarily unavailable" message from telephone carrier
CR_UNFINISHED Call was not dispositioned, or Call was not made
FTC DNC Internal DNC (Do Not Call)
NR_NORB No ring back
SMS ACCEPTED System has received your request to send a message. Message might fail to be delivered and will stay in this status.
SMS DELIVERED System has received confirmation of message delivery from the upstream carrier, and, where available, the destination handset.
SMS FAILED The message could not be sent. This can happen for various reasons including queue overflows, account suspensions and media errors (in the case of MMS).
SMS QUEUED Request to send a message was successful and the message is queued to be sent out.
SMS RECEIVED The incoming message was received by one of the numbers.
SMS RECEIVING The incoming message has been received by the system and is currently being processed.
SMS SENDING System is in the process of dispatching your message to the nearest upstream carrier in the network.
SMS SENT The nearest upstream carrier accepted the message.
SYS_CALLBACK System callback with date selected
TRANSFERRED Call was transferred
UNKNOWN Unknown call state

Standard Field Identifiers

Every Field, whether system-provided Default Fields or Custom Fields (refer to Custom Data) can be referenced when creating Script pages, integrations, and other similar constructs, as applicable.

Field values are accessed using the following convention: (#Field_Identifier#)

Following, we provide a list of system-provided Field Identifiers. The Field Identifier for a Custom Field is the name of the Field.

FirstName First name of the contact
LastName Last name of the contact
PrimaryPhone Primary telephone number of the contact
CallStatus Last call status (disposition, wrap-up code)
Attempt Total number of call attempts performed on this contact
Rep The currently active agent
Campaign The campaign to which the contact is assigned
Subcampaign The sub-campaign to which the contact is assigned
LastUpdated Date and time when the contact record was last updated
CallDate Date and time when the contact was last called
Date Date and time when the record was created
CallbackDate Date and time for when a callback is scheduled for the contact
CallbackNotes General notes for the callback
SelectedRep The agent assigned the callback
ApptStartDate Start date and time for an appointment with the contact
ApptEndDate End date and time for an appointment with the contact
ApptNotes General notes for the appointment
SalesRep Used to save the agent that performed a related sale
ClientId Customer-defined customer identification
Address Street address of the contact
City City of the contact address
State State of the contact address
ZipCode ZIP code of the contact address
Notes General notes
Duration Duration of last call
Recording Link to last call recording
GroupId System-defined unique customer identification
id System-generated unique contact identification
InboundSource Number associated with the Ring Group (Call Queue) of an inbound call
SourceDescription Label associated with the Ring Group (Call Queue) of an inbound call
InboundDescription Label associated with the Ring Group (Call Queue) of an inbound call

Glossary

.NET A cross-platform, open source developer platform for building applications
a.k.a. also known as
AgentSPCB Agent-Specific Call Back
AI Artificial Intelligence
AM Ante meridiem
AMD Answering Machine Detection
API Application Programming Interface
Blind transfer Transfer a call without contacting the new destination first (unannounced)
Callback (1) The originator of a call is called back in a second call as a response; (2) Mechanism to call back a lead at a later time
Caller ID Caller Identification - caller's telephone number transmitted to the called party's telephone equipment
Campaign A series of activities undertaken to achieve a goal
CCaaS Call Center as a Service
CEO Chief Executive Officer
DialedIn CCaaS DialedIn Call Center as a Service
CID See Caller ID
CLI Calling Line Identification - see Caller ID
CLID Calling Line Identification - see Caller ID
CLIP Calling Line Identification Presentation - see Caller ID
Cloud Cloud computing means storing and accessing data and programs over the Internet instead of your computer's hard drive
CNAM Calling Name Delivery - name associated with the calling telephone number that may be transmitted with a caller’s telephone number, similar to Caller ID
CND Calling Number Delivery - see Caller ID
CNID Calling Number Identification - see Caller ID
codec code and decode - computer program for encoding or decoding a digital data stream or signal
Cold Transfer An incoming phone call transferred without notice or explanation from the transferring party
CPU Central Processing Unit
CRM Customer Relationship Management
CSV Comma-Separated Values
DID Direct Inward Dialing (also called Direct Dial-In, or DDI)
DNC Do Not Call
DPI Dots Per Inch
DSCP Differentiated Services Code Point – mechanism for classifying and managing network traffic and providing quality of service
DSCP EF DSCP Expedited Forwarding - dedicated to low-loss, low-latency traffic
DSP Digital Signal Processors
DTMF Dual-Tone Multi-Frequency
e.g. Latin abbreviation for exempli gratia that means “for example.
Email Electronic mail
etc Abbreviation for et cetera, which means “and other things” in Latin
FAX An image of a document made by electronic scanning and transmitted as data by telecommunication links
FCR First Call Resolution
Field Identifier A symbolic name that represents a Field (variable value) stored in the system; the Identifier is a way to reference the stored value
Framework A collection of APIs and a shared library of code that developers can call when developing applications, so that they don't have to write the code from scratch
FTC Federal Trade Commission
GB Giga-Byte
GUI Graphical User Interface
HTML Hyper-Text Markup Language
HTTP Hypertext Transfer Protocol
HTTPS Hypertext Transfer Protocol Secure
i.e. Latin abbreviation for id est and means “in other words.
ID Identification
IETF RFC Internet Engineering Task Force Request For Comment - a type of publication from the technology community
IP Internet Protocol
IVR Interactive Voice Response
Jitter A variation in the delay of received packets, generally caused by congestion in the IP network
JPEG Joint Photographic Experts Group
kbps Kilobit per second
KPI Key Performance Indicator
Latency Network latency refers to the time required for a packet of data to travel round trip between two points
Macro A single computer instruction that stands for a sequence of operations
ms Millisecond
MS Microsoft
N/A Not Applicable
NANP North American Numbering Plan
PC Personal Computer
PHP Recursive acronym for PHP: Hypertext Preprocessor
PIN Personal Identification Number
Pixel Picture element - the smallest element of an image that can be individually processed in a video display system
PM Post meridiem
PNG Portable Network Graphics
Port An endpoint of communication (e.g. TCP, UDP); a logical construct that identifies a specific process or type of network service
QoS Quality of Service
RAM Random Access Memory
RTP Real-Time Protocol
SIP Session Initiation Protocol
SIP ALG SIP Application Layer Gateway
SMS Short Message Service
SP1 Service Pack 1
TBD To Be Determined
TCP Transmission Control Protocol
TTS Text-To-Speech
UDP User Datagram Protocol
URL Uniform Resource Locator
USB Universal Serial Bus
VoIP Voice over Internet Protocol
Warm transfer Transfer a call after contacting the new destination first (announced)
Zappier A web-based service that allows end users to integrate the web applications they use
ZIP code Zone Improvement Plan code - a postal code used by the United States Postal Service