How to remove dash ("-") from UK BT Caller ID


Continuing the discussion from Missing numbers in Caller ID before dash:

I have a same problem as the above post. Using the Match Pattern setting with Emre’s suggestion NMBR.*=[^0-9]+([0-9|-]+) can show the full number. But the number comes through with a dash ("-") (in the form 12345-123456). How can I amend the BT CID from 12345-123456 to 12345123456?


Are you sure its bt that is sending that format?
Seems odd since dont think I have ever seen a uk number displayed with a dash…
Sure its not the caller id device formatting like that?


Yes, here is the BT document.

at page 24: The digits may be interspersed with BT IA5-encoded punctuation characters “space” and “-"

Follow on this post also;


Mark posted his solution, rather than using the default hardcoded popup he made custom flow triggered on caller id event (without default popup) and used script to change.


Is that possible to have any other work around to overcome this problem? Lets say a Match Pattern to mask the “-”?


Is the - always there? If so could you not do that and set the pattern in the netity field so it matches the search?


It’s always there. Because I am planning to integrate a online ordering system. I don’t want it to be a problem.


If its always there why not record you numbers with mask to force that format?


How to do that? Can you show me?


You can set masks for entity data fields, something like #####-######


I already try but not working. The popup id will show as a new customer.


It wouldnt update existing values I wouldnt have thought, have you set and added number again?


Yes, I create a new record. But still the same.


Not sure then @markjw probably best person to ask if he found solution.


Anyway, Thanks for your help. Maybe someone has the same problem.


No some do. I have 2 customers using XLN Telecom in totally different areas and they both have the - in the number after the area code. XLN Telecom will be using BT Wholesale, so I don’t know if it is related to the phone company or possibly the local exchange. I don’t have other nearby customers on the same local exchange to compare.


Unfortunately I still don’t have a solution. What I tried in the other post that is linked was to use a custom workflow so I could alter the number, however that came with other issues and in the end I had to abandon it because the other issues were more of a problem.

The reason I personally couldn’t use the custom workflow was because there was no way to set the department when doing an entity search. On my base setup, I have 2 departments (Take Away and Delivery / Collection). I need those from Caller ID to go into the Delivery / Collection department regardless of what Department the user is currently in. The default behaviour allows this (the properties include the Department) but there is no Actions that allow this change. Ticket Type is not enough - I need it to also specify the department. We have spent a long time perfecting our setup in the way it currently works so changing the entire workflow just to handle this Caller ID issue is really not an ideal option.

If the system is only for storing in SambaPOS it isn’t really an issue. But like @Terence_Lai says he wants to integrate with online ordering (GloriaFood) and for that it will cause a problem since you will get the number from GloriaFood without any - which the customer entered, and it won’t match up with an existing customer on SambaPOS. This is very important when maintaining consistent data on SambaPOS no matter what channel the customer comes from. Especially as we also have a loyalty card system setup and we are using SambaPOS as the main database for storing loyalty point balances, so online orders need to match existing customers so they get collect their loyalty points automatically from online orders.

Currently I am investigating manipulating the GloriaFood script I am using (I have a custom one I have made quite a few changes to) to actually add a - into the phone number, so then the number coming in from GloriaFood will match that from the Caller ID. I really do not like having to do that, but it’s the best I have so far unless I can come up with something better.


It wouldn’t be a possibility to crudely solve and have two fields with the two formats? With automation to propogate the other depending on the incoming creation method or a routine update script?


Yeah I guess it would work. It’s pretty crude though and storing “unnecessary” data just for a workaround. The other field can be hidden of course and only for internal usage. It would probably work better than trying to do it in the GloriaFood script and it’s a good idea to store the “original” of each format, as so far my experience with using GloriaFood a lot of customers put incomplete phone numbers in and GloriaFood has no validation to stop this (their overall address validation is poor and they don’t care about most things I have brought up with them unfortunately).

I link GloriaFood to Zapier which then links to MailChimp and ClickSend (for SMS marketing), and across all my customers I get an email notification from Zapier about 2-3 times a week that ClickSend has responded with an error of “invalid number”, upon checking yes they missed a digit! So I’m not going to try too much to validate phone numbers for an already accepted order, but still it won’t be as simple as just putting a - after 5 digits. I also haven’t got customers with the - issue located in London yet so haven’t tested the formatting from caller ID for numbers in the 020 area (i.e. correct formatting 020 7123 4567), don’t know does it do like 020-71234567, 020-7123 4567 or 02071-234567 or something else!


I would have hoped it would follow the national format of 5 digits 6 digits but you never know.