I would like to create a WEB API which will extract a report from a third party tool. I want to bring up the resulting report as a widget on Asana Dashboard. Any ideas for a good start?
Please read this before posting
If you received an error from the API that you’re looking for help with, please include the error in your post and be descriptive of the requests you made that received the errors. To be clear, we need the error in the JSON response from the API, not the error your code raised.
Do not share any API credentials. Please check that the code you’re pasting into the post does not contain any real OAuth tokens or personal access tokens. If you have exposed credentials, you should revoke them immediately.
Not intending to be snarky, but it all depends on what report you want. Yes, you can definitely use the Asana API to extract data, and it will come back to you as JSON. But not every piece of data is available via the API, and it might not come back in the exact structure you’re wanting. You’ll have to explore the API to see if it can give you what you’re wanting.
thank you for the help. One final question - Can I trigger the invocation of the mentioned API (which lists the results of an external report in a task of Asana) with a button click in Asana? or is there is any other way of triggering it from Asana?
The only supported way to invoke anything on your end from the Asana web UI is by creating an App Component - that’s the only functionality Asana provides to external apps to put something on its web UI. But IMO an App Component is overkill and not really an appropriate vehicle for your purposes.
The other thing some third parties have done is write a Chrome extension which puts a button or other UI element on the Asana UI. This isn’t supported by Asana and they might at any time make a change to their UI which would break your Chrome extension. But some developers have done this anyway.
You could do this, but it would just be a job you run on a schedule on your end of things. That is, you’d have to implement and control the scheduler aspect of it.