Less noise, more data. Get the biggest data report on software developer careers in South Africa.

Dev Report mobile

Programmable Banking Community: Shortcuts to Voice-Enabled Banking

9 November 2021, by Nick Benson

At the latest OfferZen Investec meet-up with the Programmable Banking Community, Hennie Spies, Development Manager for Programmable Banking at Investec, demoed his answer to voice-enabled transactional banking, Hey Siri – Make a Transfer , a project six years in the making.

Here he shares how iOS 15 Shortcuts, Siri, and Investec's transfer API have made it possible.

Transcript of the demo

Hennie Spies 0:00

I'll give some context in terms of why this thing has been so close to my heart and why I'm really excited to present it.

Probably, back in 2016, I was at the one hackathon, being part of the digital channels, almost founding members there; I realised that voice, I think, is a viable future channel or interface, and started the process of trying to see if can we do transactional banking via voice. Three hackathons later, six years later, I think technology from an NLP perspective and from Investec in terms of the transfer API has now caught up in order to make this possible. And I think once the transfer API got introduced, it literally took me probably about two hours to do something that I couldn't do after three hackathons, of 24 hours.

And I'm personally quite excited about the transfer API because it allows me to do something that I haven't been able to do for six-seven years.

Cool. The demo that I'm going to just go through is "Hey Siri – Make a Transfer". I hope she does listen now.

Can you guys see my screen?

Sweet. In terms of finding a quote. "The human voice, the most perfect instrument of all". I really believe that. I think voice is a very viable interface going forward. I think the technology is catching up.

Hennie 1:58

That picture was that first hackathon, that was the 2016 hackathon, where we couldn't get stuff working.

The Problem

What I wanted to do for myself was to be able to very quickly transfer funds from my savings account, or from any account, a bond account, into my transaction account. The reason for that? I'm trying to keep my transaction account low because of low-interest rates and then top it up as soon as I want to swipe etc, and logging into the app was for me was still a bit cumbersome.

Using the Investec external API, specifically the transfer capability, and then using Siri and iOS Shortcuts.

And, guys, if there's any questions up until now, just shoot.

Basically, how it works. Shortcuts on iOS 15 have improved quite dramatically. A couple of them were very clunky up until now. I think they've added a couple of nice features that make it really interesting.

The Solution

It basically just authenticates against the Investec API, pulls accounts to get specifically the nicknames on the account IDs, and then executes a transfer via Hey Siri – Make a Transfer.

Let me quickly just present the demo. Let's see if this works.

Hennie 3:45

Hey Siri, make a transfer.

Siri 3:50

One sec. Still working. Something went wrong. Please try again.

Unidentified 4:02

[Laughter] Always the way!

Hennie 4:14

Always. Hey Siri, make a transfer.

Siri 4:20

On it. From which account?

Hennie : 4:32

Savings.

Siri 4:34

To which account?

Hennie 4:36

Private bank account.

Siri 4:41

How much?

Hennie 4:44

R100

Siri 4:46

Are you sure you want to transfer R100 from savings to private bank account?

Hennie 4:52
Yes.

Siri 4:57

Transfer done.

Hennie 5:02

I'll show you guys the SMS now just to make sure that it wasn't just smoke and mirrors. But, yeah, that was probably about two hours' work in terms of getting it slick.

How it Works

Hennie 5:18

Then, I just did a bit of a hack on Investec online in order for Siri to recognise multiple versions of the account. I piped the nicknames of my accounts to check for my bank account PVA, so she knows which account is which account.

It works probably not 100% the best, but it makes for interesting variations. And then basically, just from the software; it's literally all been done through Shortcuts.

I wrote a couple of tests, modularised the shortcuts and basically have the main shortcut that does the transfers. What I'll do afterwards, I'll share those shortcuts.

I think just the Auth Investec one asks you to input your client ID in secret and basically it's ready to go.

I think the one thing that I wanted to highlight is the "ask for text feature or action" in the Shortcuts is very powerful in terms of allowing you to, if you want only numbers or if you want currencies or if you want names etc, it does that filtering for you and then brings that text in as you wanted.

Challenges Faced

Just some challenges: iOS 14 and below are relatively clunky. I think they've made it quite interesting from an iOS 15 perspective. And the shortcuts that I'm going to share, some of them are not compatible with 14 and below.

Questions?

Ernst van Biljon 7:19

It's maybe also worth noting, Hennie, that if you have multiple shortcuts, it is going to ask you to allow some authorisation between shortcuts. So, if one shortcut calls another one that needs to be authorised, you'll get prompts the whole time, but it's only the first time you use it.

Hennie 7:39

Thanks, Ernie.

Community Questions

Vincent Holtzhausen 7:42

Do you guys know if there's an equivalent service for Android devices?

Hennie 7:48

So, from a voice perspective, I don't know. I know Llama is probably; it's definitely more feature-rich than Siri Shortcuts. I don't know how the Google Assistant integration into Llama works that much, but it should be possible. Yeah.

Rijnhardt Kotze 8:15

Is there a way to protect some sort of environmental variables or something like that within Siri Shortcuts, orare wejust posting keys and secrets within the shortcuts?

Hennie 8:27

So, the way that you share shortcuts, you tag those fields that's almost for the consumer or for the guys that you're sharing with, you tag those fields and it won't save those fields and basically when you share it, when you import, it just asks for those details.

The best way to share environmental variables on Shortcuts is through either hard coding it in a specific shortcut – like you saw I had a modular one there. Basically, you have those environmental variables and then call that to pull your variables through. Or use the clipboard.

Those are the main things that I've seen.

Nick Benson 9:23

You might want to mention that for Samsung devices or Android devices, there's Google Assist. Maybe you can play around with that?

Hennie 9:32

Yeah. Because of the way that Google Assistant works, you can set up a private, I think it's dialogue flow; it's probably the best one that I've used, but it's also a bit clunky. It's more feature-rich. But it's like I mentioned, I spent a couple of hackathons trying to get it sorted.

Nick 10:06

Cool. Thanks, man.

Hennie 10:10

Any other questions?

Nick 10:15

Guys, if you do, in the chats on Slack, Hennie is there. If there's anything more, please feel free to tag him there.

OfferZen_Investec_PB_Shortcuts-to-voice-enabled-banking_blog-inner-article-image


Get involved in the Programmable Banking Community

If you have questions or just want to say hi to the Programmable Banking Community core team, you can pop us a mail and we will get back to you.

If you want to see more from what the community has been up to, you can:

Recent posts

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.