Problem
Recently I have been testing out Azure Logic Apps as a possible tool for enterprise application data synchronization. The first example I spiked out was to pull newly entered data from a table in an Azure SQL Database and push it into a Salesforce object. This is a pretty common example and extremely easy to implement with an Azure Logic App. My scenario included a Microsoft SQL Connector to my Azure SQL Database with a polling query, set to execute every hour. I added a Salesforce Connector mapping the database fields to the custom object defined in Salesforce. Very basic logic app, with a sql trigger and create action on the Salesforce Connector. The next step was to test this out to see if it worked, I could have waited the hour execution interval, but I noticed a Run Now button on the main logic app blade.
Every time I clicked the Run Now button for the logic app I received the following error:
{"code":"InvalidTemplate","message":"Unable to process template language expressions in action 'salesforceconnector' inputs at line '1' and column '11': 'Template language expression cannot be evaluated: the property 'outputs' cannot be selected.'."}
Solution
The solution here is pretty simple, when you have a logic app with a trigger defined, DO NOT click the Run Now button. If you would like to run the logic app manually you will notice the first tile that comes up has a check box to do just that.
I never even noticed this option until I ran into this issue. Use this option if you need manual control over the logic app execution.
Note: As of this writing I do know the logic app designer is getting a major overhaul in the coming weeks. I will do my best to update this post once those new bits become available. Watch this to see a demo of what is coming.