Does your service provider differentiate between standard or "premium" IDD and "budget" IDD like mine does? Typically, the standard
+ international call prefix will default to the premium option, but to use the the cheaper option, usually via voice-over-IP (VoIP), one has to specific a different carrier-defined prefix, e.g. 12300 (I just made this up, check with your telco). I can't find a built-in way to do this on iOS... enter the Workflow App!
I tried three methods, and currently methods 1 and 3 live on my phone.
Method 1: Select Contact
Here's what to add:
- First, Select Contact.
- Do a Get Details of Contacts to Get Phone Number.
- Since the Contact might have more than one phone number, and since I prefer to eyeball the number even if there is only one, add Choose from List.
- Next, what you want is to use the prefix only if dialing international, i.e. not the country you reside in. So, use If to check for your country code, e.g.
- In the Otherwise section of the If, Replace Text to Find
+and Replace With the appropriate prefix, which in my fictitious example is
- In the last step, after the End If, is just Call.
Nice standard Contacts UI with a search bar at the top! But I can't automatically filter the first Select Contact to only my work address book. On to try number two!
Method 2: Filter Contacts Where
If you really want to filter contacts:
- First start with Find Contacts Where instead and set the filter to Group is
Workor whatever your Contact Group is, and Phone Number "does not contain"
+65i.e. your own country code.
- Add Choose from List.
- Like previously, Get Details of Contacts to Get Phone Number.
- Then Choose from List to choose a single phone number from a list.
- And to change the prefix, do Replace Text to Find
+and Replace With the alternative prefix.
- In the last step, Call.
Well, the filter saves on the If, but the filter set is not exhaustive, so you'll end up nesting Find Contacts Where e.g. there is no simple way to add Phone Number
does not begin with
+. But the main downside is it won't return local
+65 numbers and the terrible UI (courtesy of Choose from List, since it's not possible to pass input to Select Contacts). On to attempt three!
Method 3: Workflow Action
As much as I prefer Method 1, I think I'd stick with this. Create the Workflow as an Action Extension that accepts
- First, Get Details of Contacts to Get
- Then Choose From List.
- And If input
- In the Otherwise section, Replace Text to Find Text
+65and Replace With the
- After the End If, Call.
To run the workflow:
- Open a contact from the Contacts or Phone app.
- Scroll to the bottom and select
Run Workflow(and if you don't see it, press
... Moreand enable
- Select the workflow we just created.
Yes, it's rather involved, but at least I can use Contacts or a third party app to do the filtering I'm after.
Here I've shown a few methods of using Workflow to retrieve and alter a phone number.
You can also combine Methods 1 and 2, but that's an excercise left to you, dear reader. Hint: I used Count
Items and if zero, then Select Contact, else Get Variable