I want to build an Alteryx App on Alteryx Gallery that is dependent on 5 input files which are managed by 5 people. I want the Alteryx App to run automatically only when the 5 Input files have been uploaded to Gallery by the 5 people managing the files.
Please how can I design an app that will work in this automated way?
You can do this, but it's not pretty. There is the option to schedule the workflow for a certain time and the workflow will just keep running waiting for all the files, you can use this tool here: https://github.com/bobpeers/Alteryx_SDK_EventTrigger
NOTE: The workflow keep running indefinitely until the file is there, occupying a slot on the queue if you have it set to run multiple jobs at the same time. Depending on the amount of time it keeps waiting, the setting in System Settings might also kill the job because it is running for too long.
Another idea is that if you can have an external application constantly looking for the files, when they are ready it triggers the Server API call to queue the workflow for execution. This is the ideal scenario.
Thank you for your reply @gabrielvilella . What external API can we use to trigger the Server API call to queue the workflow for execution?
This one: /v1/workflows/{appId}/jobs
Happy new year @gabrielvilella Thanks. I used the Event Trigger Tool in my workflow for a file. Please which of the attributes of the tool can I use to know when a new change has been made to a file. I have attached a screenshots of the attributes of the Event Trigger Tool
That tool will just trigger if a file gets added to a folder. It does not check if there are changes within the file. To do this, you'd need to build a workflow that checks for those changes.
@gabrielvilella Since my goal is to write to a database. How should I configure the Tool/ workflow that when it is run, if there are no changes to the file ,the workflow does not write to the database but when there is a change to the file it writes to a database?
Read the two files, transpose the data if needed, join, compare the fields, filter when there is a change, update the database if true.
Okay, I get your explanation. Thanks