Scripting features include:

Custom Call Control Scripting

Unlimited IVR Menu Support

Custom Playback & Recording

Linking two telephone calls

Database Connectivity Using ADO for Updates & Reads

SQL Stored Procedure Support

User Written DLL Interfaces

Ability To Launch External Process

Hooks For Message Pre-Processing & Post-Processing Using Script or External Applications

Variable Controlled Phrase Speaking

Read/Write Access to Internal Variable Name Space

Fax, Voice, and E-Mail Message Generation Using Scripting Commands or Simple Text Command Files

Custom Application Launch From Fax Print Drivers

Fax/E-Mail Support for Reporting Packages

Scripts may be invoked after a call has been received, after a call has been placed, as part of a scheduled "worker" process, as a result of a caller image or menu selection, when an internal state specified in a $set_state command is reached, or by optional processing that can occur before a fax or email is sent, after a fax or email is sent or has been attempted, or after a fax has been received. CopiaFacts handles all of the complicated processing necessary to place, answer, and disconnect calls. This allows the script to focus on the application, which may include interacting with the caller, as well as maintaining custom databases and performing custom processing.

All scripts operate within the context of the CopiaFacts call processing logic. This logic consists of a sequence of call states that is determined by call type, certain configuration options, call events, and to some extent caller input. Most custom IVR applications follow the built-in FoD application logic sequence replacing the document selection sequence with the script modules. For these types of applications, CopiaFacts answers the phone, plays a greeting, and then launches the script to handle the remainder of the call. The script ends when the caller hangs up, an error occurs that the script does not handle, or when the script transfers control to a call completion state. At that point, CopiaFacts resumes control and handles the clean-up, including disconnecting the call and resetting the line, logging a transaction, and optionally creating a fax request. It is important to note that scripting is not needed for simple FoD applications (one-call or two-call) which request documents or document indexes by means of a reference number which the caller keys in. Built-in processing logic enables these features automatically.