Monzo & IFTTT - Share your creations here!

How much is the dev license?

There must be someone that pays the license and then will publish your one-off for a fee?

Hey. Sorry we haven’t been able to address this. But as per the other thread, it’s on our mind for this year.
What is everyone’s opinion on having a an addition “multiplier” field, defaulted to “1x”?
Just throwing ideas out there

5 Likes

Seems simple enough - might need a sensible cap to be built into it though.

And if it allows for decimals too that would work very nicely for fine tuning.

Just came back into this thread after a notification. After some messing around with IFTTT, @swok1080 and I discovered that sharing a link to a self published Applet works even if you don’t have a developer account.

I tried to put @stugreenham’s code above into a new applet - the link is below.

So if anyone does want 2x Round Up - this should do it:

In theory you could do X% of purchase coin jar, or any multiplier of the round up. Be interested to see if this works?

2 Likes

Update to add: I just tested it out and it works!

There was a request by @Serialswitcher on the creations wiki to create a new applet for withdrawing from a pot for the “Shopping” category.

Since there’s now an ability to create custom categories with Monzo Plus I said I would do a small write up for anyone wanting to add IFTTT automation to their own categories. I already did a write up for transactions under an amount but the request is for “any transaction” so I’ve created the below as “As any card purchase above an amount” so that anyone who wants to use this can exclude small purchases if they wish.

Applet Creation Instructions
  1. First register on https://platform.ifttt.com
  2. Once registered navigate to: Applets > New Applet.
  3. Within the “Trigger” section in the field “Search services” type and select “Monzo”
  4. In the “Please select” drop-down select “Any card purchase above an amount"
  5. Under “What Amount” select visibility “Customizable by the user” this allows you to use the applet more than once for varying values
  6. Under “Default value” put your 0 (You can then set the > value when you connect the applet)
  7. Leave everything in “Which merchant?” as default again this means that you can use the applet multiple times if you need to
  8. Within the “Action” section in the field “Search services” type and select “Monzo”
  9. In the “Please select” drop-down select “Move money out of a pot”
  10. Under “Amount” leave visibility as “Set by you” and enter a value of 0 this allows the filter code to set the value to save
  11. Scroll back up to “Filter” and click “Add filter code” as per below
Filter Code with explanation
// Get the category for the transaction
var category = Monzo.cardPurchaseAboveAmount.Category

// Check "If"" the purchase category matches our withdrawal category
if ( category == "Shopping" )
{
  // The cateogry matched so we need to format the transaction value
  var transVal = parseFloat(Monzo.cardPurchaseAboveAmount.AmountInAccountCurrency).toFixed(2)
  // Then we tell the "potWithdraw" action to use the formatted value we created
  Monzo.potWithdraw.setAmount(transVal)
} else {
  // The category doesn't match so let's skip the action
  Monzo.potWithdraw.skip()
}

image
This block isn’t strictly necessary but shows how to set a variable and makes the code look a little cleaner. The line starting // is a comment. The variable is set with the command var and here is called “category” but could be called whatever you wish. The Monzo.* string is data from the “Trigger” and the available values can be seen on IFTTT platform below the filter code input window:

Note that for this applet the value used is “Monzo.cardPurchaseAboveAmount.Category” and for transactions under an amount was “Monzo.cardPurchaseBelowAmount.Category” keep this in mind when using filter code that other people have shared but IFTTT does highlight syntax errors:

image

image

This section displays the if block for TypeScript:

if ( 1 = 1 )
  {
   do something(s)
  } else { 
  do something(s) else
  }

In our example the evaluation uses our variable “category” and “==” to do a string comparison ("=" would be used for a numeric comparison). This is the section you would change to set this code up for another category e.g.:

if ( category == "myCategory" )

Once we’ve established that the category does match our desired category then within the {} we specify the value we want to withdraw from a pot and we set it using the values given under the filter code editor (a.k.a. methods).

In our case we saw under the editor that the methods for the withdraw from pot action are:

image

A method is just an instruction to do something and may expect some sort of value to do something with. The editor is very helpful in that you can hover over something to find out whether it needs an input value and what type of value it is or what the syntax is expected to be. So when we hover over setAmount() we see that it expects 1 text (a.ka. string) input within the brackets:

image

If we take our trigger information we can also hover over the relevant input data to see what type of data that is:

So we could just put:

Monzo.potWithdraw.setAmount( Monzo.cardPurchaseAboveAmount.AmountInAccountCurrency )

But there are other situations where you may need to manipulate the value given by the trigger (let’s say you wanted 50% of the spend) and then the value may be a “number” not a “string” and might have mroe than 2 decimal places so for illustration purposes and for consistency I always put the saving value/variable within parseFloat( value ).toFixed(2) to make sure I have “string” value with 2 decimal places.

This variable goes into our setAmount() method so the action knows how much to withdraw.
At the end of the if block we have and else {} so we can tell the withdrawal to skip of the category is not “Shopping”. Again hovering over the method shows no input value is required (the ? shows the input is optional):

image

So knowing all that we could have just made the filter code:

if ( Monzo.cardPurchaseAboveAmount.Category == "Shopping" )
{
  Monzo.potWithdraw.setAmount( Monzo.cardPurchaseAboveAmount.AmountInAccountCurrency )
} else {
  Monzo.potWithdraw.skip()
}

But using the longer form with comments allows easier code reuse and makes it easier for others to use.

4 Likes

Has anyone come up with a way to automate moving whatever balance you have remaining in your account into one of your pots on a specific day or at a certain time using IFTTT. I’ve tried moving the Date & Time trigger and the standard Monzo action but when I try to trigger Amount in Balance it won’t work due to the wrong trigger being used.

Any ideas?

You asked this in the IFTTT support topic which is the correct place:

https://community.monzo.com/t/monzo-ifttt-support-thread/39382/573?u=ordog

To answer your question, yes they have… However it is with Monzo Plus using Google Sheets. So if you have Monzo Plus let me know and I’ll see if I can dig out the tutorial.

I do not have Monzo Plus sadly so I guess I’ll keep searching.

Seems IFTTT have released a Pro tier that has a bunch of useful features like conditionals: see here. Perhaps it might solve some people’s issues?

Hi, might you possibly have a link to the tutorial, please? (I have already had a bit of a search) :slight_smile:

@Ordog Stand down, I found it. :smiley: For anyone else, it’s about halfway down the “…Google Sheets - Then What?” page, blink and you’ll miss it.

Sorry mate, I totally missed this yesterday. Glad you found it! :slight_smile:

1 Like

Hi. I’m new here, and I have searched to try and find something for what I’m after with IFTTT and my Monzo, but I couldn’t find anything - apologies if it is somewhere, I just couldn’t locate it… but… are there any applets that will do the following:

  • Move money from my main account to a pot in this function:
    Jan £25 / Feb £50 / Mar £75 / Apr £100 / May £125 / Jun £150 / Jul £150 / Aug £125 / Sep £100 / Oct £75 / Nov £50 / Dec £25

  • Move money from my main account to a pot in this function:
    Week 1 £5 / Week 2 £10 / Week 3 £15 all the way upto Week 52 £260

  • Move money from my main account to a pot in this function:
    Monday £1 / Tuesday £2 / Wednesday £3 / Thursday £4 / Friday £5 / Saturday £6 / Sunday £7 and then repeats again from the following Monday

I’m trying to setup the 3x automatic savings functions above but I couldn’t seem to be able to do it via the IFTTT Applet creator, unsure if anyone has already created these using code? I didn’t try with code :frowning:

Thanks

Jaxx

The last one already exists. Look in Monzo section in IFTTT for “Weekly Challenge” and have a pot set up to receive the funds.

The other two are above my pay scale, sorry.

R-

Ahh ok cool, the Weekly Challenge I found was where it moves £1 for week 1, £2 for week 2, £3 for week 3 all the way to £52 for week 52… I couldn’t find one where it charges incremental per day…

There definitely used to be one but I can’t see it

Anyone know how long these have been there? There’s a few donate options

1 Like

I think you’re mistaken. What you’ve described is the £1 weekly savings challenge.

The standard weekly savings challenge doesn’t do this, it does exactly what you need it to as @RogerB mentioned :slight_smile: Here’s the link:

2 Likes

Thanks @Ordog - was just getting a screen grab.

R-

1 Like