Article Quicklinks (opens in new tab):
> What is "Collect Input From Caller"?
Collect input from caller refers to an action type available to users within CloudTalk's Call Flow Designer feature. This step may be helpful in designing routes where callers are expected to input data which will be necessary in an immediate followup action, such as an HTTP request.
> Where is it Located?
From the CloudTalk Dashboard, navigate to the Numbers tab. Click the blue pencil icon next to a CloudTalk number to edit or view the Call Flow for that number. When adding a new step in the call route, users will click one of the blue plus icons before or after an existing step. Doing so opens up the set of action types, within which
Collect Input From Caller appears at the bottom with a small keyboard icon.
> Value Types (From Caller)
Number Strings [0-9] or Pattern Expressions
Though character strings will be accepted, there may be better CloudTalk solutions available for companies that need long-form answers/text strings from customers.
**Note**— If inputting a pattern string or phone number, do NOT prompt
callers to include a pound/hash symbol:
It will not be recognized as valid input.
Input from Caller
> Optional Parameters
Seconds to wait on step
When preparing the Collect input from caller step, a time-out will be the default method of ending the step. How long before the interaction times out is decided by the number of seconds entered in the Seconds to wait on this step box. Be careful not to enter a timeout length which is shorter than the recorded greeting chosen.
In cases where the time-out default is not ideal, users can click the field which says
Confirm character and select * to require callers to press the asterisk on their keypads when finished entering their input.
**Note**— If choosing to require a confirmation (asterisk) character,
you cannot also use an asterisk character in a regex within the
Pattern field, as this will cause conflict.
Pattern field expects an input of a regular expression (regex). If the regex is formatted incorrectly, it will return null, and/or create an error during execution. As stated above, the
# character will not be recognized here, and the
* character can be used either here or as a
Confirm character, but not in both fields.
Checking the box to Retry on invalid gives the caller a chance to repeat the input if it does not fit the expected pattern or if the time out is reached. The maximum number of repeat chances is 10. At the beginning of each repeat, the greeting (if set) will be played again.
> Expected Use
With HTTP Request
Users can design a Call Flow in which callers input certain information which is then sent via HTTP Request to another endpoint, such as a CRM. To do this, we will need both a Collect Input From Caller step as well as an HTTP Request step in our Call Flow design.
Within the Request body of our HTTP, we will include a dynamic value to reference the caller input, where the number in brackets represents the input_id:
If creating the Collect Input step in the same step as the HTTP Request, a temporary ID can be entered in the brackets and this number will be replaced with the real ID after clicking
Save Plan to set the Call Flow. The paired Key can be set to any string value desired by the user or expected by the receiving endpoint.
Check the box to Parse response if an HTTP response is needed in order to progress through the Call Flow. If turned off, the Call Flow will continue after the request is sent, regardless if a response was received.
With Call To (Agent | Group | Voicemail)
This use case would assume that the recording for the Collect Input step was prompting callers to dial in a certain pattern in order to reach the correct group, agent, or voicemail resources.
To set this up, we must check the box labeled Map which appears in these three types of Call to steps. Within the box which appears, labeled either
Group name, or
Name of the voicemail, we would enter an
where id would be the actual ID of the Collect input step we wish to use.
**Note**— Always ensure the caller input being referenced is from the
same number for which you add followup steps. That is to say, do not try
to use input collected in other call branches. Cross-referencing in this
way is not currently supported.