Getting Started with TeleFlow

Getting Started with TeleFlow

From TeleFlow

Jump to: navigation, search

This section provides a getting start guide to help you get started in creating a basic application. would like to see this section improved substantially with images, links to other pages, and XML cut & pastes for quick insertion to the TeleFlow Designer.


Before You Start

Make sure you have speakers and microphone plugged into your sound card, and that it is capable of record and playback. Please note that there are also a few Programming Tools on the website that may be helpful in this process.

NEW APPLICATION BASICS - Reviewing Existing Applications

  • Start/run TeleFlow Designer.
  • Read the "TeleFlow Conventions" section of the opening screen. This provides a few useful tips for first-time users.
  • Assuming you haven't previously opened TeleFlow Designer and modified any settings, the "Welcome to Designer" dialog appears. Some of the information it provides is redundant/overlaps with that found here. However, it can help to click the "Show TeleFlow Overview" window, which shows some of the windows you will work with in TeleFlow Designer, explains what they are called, and what each is for. This can be a very helpful way to familiarize yourself with TeleFlow Designer before following the next steps.
  • Click "File", and "New Application".
  • A tabbed, "New Application" dialog opens.
  • The tabs are:
Demonstration Application: These are working sample applications. They don't do much for "real", but do provide examples of the steps and routines you would use to create some applications.
Example Task: These are example applications for particular purposes. Mostly, they show how to perform a very specific task, such as transferring a call.
New Application Template: These applications are templates for starting a given "type" of application. They set up a good deal of the usual steps required for a given type, and include many useful common flowcharts. At enGenic, we usually start development of our inbound (i.e. Telephone answering) applications using the "Inbound" application in this tab.
Tutorial: These are some extremely simple working applications in which nearly every step, and what it is for/doing, is documented/commented.
NOTE: If you click any of the applications in the tabs, a brief description of the application is displayed.
  • Select hardware radio buttons: These relate to the type of telephony hardware you intend to run your application on. This primarily affects the type of voice files you will use, and can be set later without creating any problems. There are some steps that won't work on some hardware platforms, but what you check here doesn't have any impact on that.
  • Make sure that "Simulator" is selected for hardware. Click the "Tutorial" tab, select "Answer 1", and click "Ok" to open the tutorial application.
  • Assuming you haven't previously opened TeleFlow Designer and modified any settings, the "New Application Introduction" dialog appears. Click the "Try it with TeleFlow Simulator" button to launch the TFSimulator, which will allow you to try out the application right away. After you have tried a test run using the TeleFlow Simulator, close it, and move on to the next step.
  • There will likely be a number of windows open to start with. The windows are:
    • Steps Toolbox: TeleFlow applications consist of flowcharts, which consist of a number of steps strung together. By selecting a step in the toolbox and dropping it onto the flowchart space in the main window, you can add it to your application. There will be different steps and options in the toolbox depending on whether you are in the TAP screen, or a specific flowchart.
    • Quick Map: A mini map of the current flowchart, or the TAP screen. Allows you to "jump around" the flowchart you are working on quickly without the use of scroll bars.
    • Main Window: Whenever you create or open an application, the main window starts with the TAP screen in the flowchart space (the large white space with the little grid dots and a "Starting Point" step on it). The flowchart space for the TAP screen looks very much like it does for a flowchart. There are some important differences however.
      • TAP Screen: This is where the very first flowchart to run for the application you are working on is defined. (Whichever flowchart the"Starting Point" step is connected to is the first) This is also where you go to add new flowcharts to your application. To do so, you simply click the "Flowchart" step in the Steps Toolbox, then click an empty space in the flowchart space.
      • Flowchart screens: When editing a flowchart, you have both a START and FINISH step. The START step should be connected to the first step to run in the flowchart, while the last step(s) should be connected to the FINISH step. When you are editing/in a flowchart, the Steps Toolbox has a great many more icons than it does when you are in the TAP screen. These are all the TeleFlow steps you have available to perform tasks within TeleFlow.
  • Read the comments (in the blue comments boxes) on the TAP screen. These explain a little bit about the different icons you can see.
  • Double-click the ANSWER flowchart in order to jump into it.
  • Read all of the comments and step information you see in the flowchart space. Look at the lines, and note that they have arrows indicating which way the "flow" in the flowchart is going, so you understand what the application is doing. Once you have read everything in the ANSWER flowchart, run the TeleFlow Simulator (It can be run by clicking "Tools", then "Test with Simulator") again so you see what the application does in a phone call scenario.
  • If you want a better understanding of any of the steps in the ANSWER flowchart, or what options there are for the steps, double-click a step to view its step properties. The top area of the step properties contains any fields you can change to affect what the step does, or how it works. On the bottom left of the properties is the steps picture/icon, and OK/Cancel buttons. These commit or cancel any changes you make when editing the steps properties. On the bottom right of the step properties is the comments section. Comments entered there are visible in the flowchart space in blue beside the step they are entered for. Comments also have automatic documentation, which relates to what they are configured to do. (For example: A "Play" step shows the name and type of file it is to play) Finally, the get complete help on the step, press F1 on your keyboard while viewing that step's properties.
  • When you are satisfied that you understand what is going on in the ANSWER tutorial application, click "File", and then "Close Application".
  • Click "File", and then "New Application". In the tutorial tab, click "Answer 2", and then click "OK". Follow steps 9, 10, and 11 for this application.
  • Before you start creating your own applications, you may wish to review some of those in the "Demonstration Application" tab of the "New Application" dialog. This is not essential, it is merely a way of seeing some more of the various TeleFlow steps in use in an application.


  • Click "File", and then "New Application".
  • In the "New Application Template" tab, click the "Blank" application. This will start a new application that is completely empty. It has no flowcharts, TeleFlow steps, or voice scripts in it. It is a completely "blank slate" TeleFlow project.
  • Click "File", and "Save Application". Before you name your TeleFlow Application (TAP), make sure you are about to save it in a directory where you can easily find it later. When you have given your application a name, click "Save".
  • You should see only 4 icons in your TAP screen. They are:
    • Settings: This allows you to change the hardware your application will run on, which will affect the type of voice files TeleFlow Designer will try to create for you when you convert your audio files (If it is even necessary to do so)
    • Voice Scripts: This icon allows you to access the Voice Script Manager. The Voice Script Manager is a utility for creating voice scripts you can use in your application.
    • Fax Macros: This is a placeholder for functionality which may or may not ever be implemented.
    • Starting Point: The starting point step is used to define the first flowchart to run in your application. Since you haven't added any flowcharts to your application yet, it has a little line leading to a small square. This is referred to as the "dangler". Whenever you drop down new steps, they always have a dangler hanging off of them (The "Notes step" is an exception to this). You can drop steps from the steps toolbox onto a dangler to connect them directly into the flow of your flowchart(s), or you can click the square portion of the dangler, and drag-and-drop it onto another step to connect it.
  • Add a new flowchart to your application by clicking the "Flowchart" icon in the Steps Toolbox, and then clicking an empty space in the flowchart space. The "New TeleFlow Procedure" dialog opens, prompting you for a filename. Name the file whatever you want your flowchart name to be, and click "Save".
  • The "Information about" dialog appears. Typically, you will enter in some information about what your flowchart will do. This information will always show up when you see your flowchart run within other flowcharts. It can also be changed by editing the comments in the Start step for that flowchart. For now, enter a comment like "Answers the phone and plays a message", then click "Ok".
  • Drag the dangler from the "Starting Point" step onto the new flowchart you created to connect them. (HINT: You can also double-click the square on the dangler to automatically connect it to the nearest step that has nothing connected to it. In this case, your new flowchart is the only step that meets that criteria, so it is the one that will be connected)
  • Double-click your new flowchart to "jump" into it.
  • Inside the flowchart space, you will see a Start step (which has a dangler, and has the comments you entered for the flowchart in step 6, above.) and a Finish step.
  • Click the FINISH step, and move it "down" the flowchart space, so you have a bigger gap between START and FINISH, in which to place other steps.
HINT: Right-click the flowchart space between START and FINISH to view the flowchart menu. Select the "Insert Space" option, and then you can simply "push" the FINISH step further down in the flowchart)
  • From the Steps Toolbox, click "Wait for Call", and drop it into the flowchart space to add it to your flowchart.
HINT: If you drop it directly onto the dangler from the "Start" step, it will automatically connect. You can also drag-and-drop steps from the toolbox, which will show you a little "ghost image" of the step when you drag it over the flowchart space. This allows you to see where the step will end up)
HINT: The tabs in the Step Toolbox divide steps into categories. You might have an easier time locating the "Wait for Call" step in the phone tab)
  • Add a "Play" step (Voice tab) in from the steps toolbox after the "Wait for Call" step. Connect the dangler from Wait to Call to Play.
  • Add a "Hang up" (Phone tab) step after the "Play" step, connect Play to Hang up, and Hang up to FINISH.
  • Double-click the Play step to view its step properties. Click the "Voice Script Manager" button in that window to open the Voice Script Manager.
  • In the Voice Script Manager, click the Add button to add a new voice script. Enter a script name (Eg. "Hello") into the "Name" field. Voice Script Manager / TeleFlow organizes and refers to application scripts by script codes. You can use this however you wish, but we use to organize scripts into logically named "groups". (So, if you have 4 main menu options, you might have scripts named MAINMENU01, MAINMENU02, MAINMENU03, and MAINMENU04.)
  • Type "Hello, and thank you for calling the demonstration line" into the "Script Text" field.
  • Click the "Create WAV" and then the button with the little red circle (i.e. The Record button) to record. Record the script text you just entered for the script using your microphone. Then click the stop button (i.e. The button with the red square on it).
  • Click the "Post" button. You have now created a voice script.
  • Go back to the Play step properties, click the "Voice message code" drop-down, and select the name of the script code you just finished creating. Click OK on the step properties box. You can now see your script name and text in the flowchart space where your Play step is.
  • Save your application, and run it with TeleFlow Simulator. When you click "Call in", you should hear a couple of rings, followed by your recorded script, and then it should hang up. You have completed a TeleFlow Application that could technically be run on a phone line. Obviously, this isn't a particularly useful application, but it does demonstrate some of the most basic aspects of developing an application.

TESTING TELEFLOW APPLICATIONS - Understanding the Simulator Log

If you run the simple application described in the previous post, as suggested in step#19, you will see how TeleFlow Simulator works.

To be able to use TeleFlow Simulator to test and debug your applications requires a solid understanding of TeleFlow Log output. TeleFlow log output in the Simulator is the same as for the server, so you can safely assume that anything you learn in one applies to the other.

What follows is a clip of TeleFlow Simulator log output from a simple, three-step demonstration application.


                          Initialization done
2007/12/19 16:00:20.255:  ==>Main
2007/12/19 16:00:20.255:     [1] START
2007/12/19 16:00:20.255:     [25] Wait for Call
2007/12/19 16:00:20.255:        TIMEOUT is ''
2007/12/19 16:00:20.255:        Empty TIMEOUT defaults to none
2007/12/19 16:00:20.255:        Rings is '2'
2007/12/19 16:00:20.271:        Connection Delay is '500'
2007/12/19 16:00:21.771:        Wait for 2 rings and then pickup
2007/12/19 16:00:29.989:        Setting global variable '@CALLER_ID' to ''
2007/12/19 16:00:30.005:        Connection delay: 500 ms
2007/12/19 16:00:30.536:     [27] Play
2007/12/19 16:00:30.552:        Script code is 'HELLO'
2007/12/19 16:00:30.583:        Script code 'HELLO' corresponds to file 'Vox\Eng\Scripts\HELLO.wav'
2007/12/19 16:00:30.614:        Playing 'C:\DemoFiles\Vox\Eng\Scripts\HELLO.wav'
2007/12/19 16:00:33.271:     [29] Hang Up
2007/12/19 16:00:33.286:        Hanging up
2007/12/19 16:00:33.317:     [2] FINISH
2007/12/19 16:00:33.349:  End of application.
2007/12/19 16:00:36.395: 
2007/12/19 16:00:36.474:  All memory released.  Exiting...

What it all means

What follows are some specific pieces clipped from the log above, and a description of what they mean.

2007/12/19 16:00:20.255: Indicates the date and time (to milliseconds precision) that the event on the line occurred. Every line/segment of log data has a date/time stamp to help you see how long things take, and when they happened. The format of this date/time stamp is: YYYY/MM/DD HH:MM:SS.nnn.

==>Main Indicates the application is entering a flowchart named "Main".

[1] START Indicates a START step is being run. The square bracket is the step number, which is unique to the flowchart. Any log line that starts with a square bracketed number is the start of a step being processed. The lines that follow describe the actions taken by the step. If you want to find a particular step in a TeleFlow Application based on something you see in a log, determine which flowchart the step output is for (by following the log until you see the arrow(==>) indicating a flowchart is being run), then use the step number to search for the step. (In TeleFlow Designer, go to the appropriate flowchart, right-click some empty flowchart space, and select the "Go to Step#..." option. Then, type in the step number you found in the log, and click "Ok". TeleFlow Designer will jump to and select the step.)

Main<==SomeOtherFlowchart: Not demonstrated in the log output above. This would indicate that a flowchart named "SomeOtherFlowchart" had completed, and that the application flow was returning to Main

Searching the log for errors

If an application should encounter an error - in Simulator, this is indicated by a red light, and a status message of "Terminated abnormally" - you will need to search through the log to find it. There are two things to note about this:

  • Searching for a particular event in a TeleFlow log is usually easiest if you search from the bottom/end up. The end of the log is closer to the error than the beginning (usually), and is also where you will find the most recent or last steps run before and after the error occurred.
  • To locate the exact point an error occurred: Copy and paste the contents of the entire Simulator log output to a text editor that has a search feature (Eg. Notepad). Search for this string to locate the point at which TeleFlow determined there was an error: "jump to fatal"