Catching a phone number is more complex than it looks. Indeed, Botnation is a solution used by hundreds of companies, and each of them has a specific case or need.
Your users might need to type "+", "-", dialing codes or spaces to split the numbers. Moreover, they have to be exported in a CRM or sheet. Some CRMs require the dialing code separated (+33, +41...), others with "+" beforehand, others don't, and so on. In this case, we advise you to use the "Free text entry" option in your User input (rather than digits entry) :
Most definitely, users never type the dialing code themselves : a "normal" person in France never types "+336..." but "06...". Moreover, it's difficult to define the number of characters as phone numbers don't have the same size in each country.
On a French-speaking bot, how to differentiate a Belgian, Canadian, Swiss or French number if the user doesn't add his own dialing code (+33, +51...) ?. You might need to suggest a first menu where the user selects the dialing code, then adds his phone number.
Nevertheless, if there is a "+" and spaces, this is not a number but it's definitely a phone number
We just defined a few reflections to lead on your side before adding the User entry feature.
As a conclusion, the easiest way in our mind - and also the best compromise - is then to catch a free text entry, as follows, then, if you wish to verify the number, add a condition "If" (in the Variables set) judging the captured variable's length.
A phone number might contain between 10 and 20 symbols. If the number is lower, then it's weird. If it's understood in this rank, then it must be fine and it also counts spaces, dialing codes, coma, period... Above 20, the user might write fake infos. You may then redirect with the condition "If" towards an alternative.
Here is a condition you can use :
Going further :