Is it possible to call an external app or api from monday.com to get relevant data?

I’m trying to create a monday.com app (board view/widget) that displays data from an external system. The data isn’t public, you need to be an authenticated user to get access to it.

For example, I have a custom system where we track the training sessions a user has attended. I want to display a widget where I can show a pie chart indicating info about it (% attended vs missed sessions). This data is already in our system.

Is this possible? Does this depend on the app view setup (URL vs zipped build file)?

2 Likes

Hey @pollirrata ,

yes this is absolutly possible.

Here is a tutorial on how to build an app in monday:

https://monday.com/developers/apps/quickstart-view

And a pretty detailed documentation of the API:

https://monday.com/developers/v2

Additionally there is a build-in Pie Chart in the apps section.
Watch out for “Chart” under Essentials in the View Center.

Greetings

Thanks @TMNXT-Dev. My question is more focused on how, from the monday app, can I authorize a user to access data that is stored in the training system?

Is it just a matter of using the proper node packages?

1 Like

@pollirrata,

Hi there!

Firstly, to complete this, you would need to run your own server of some form to store access tokens, etc…

You can do this in a few ways, if you don’t need a ‘view’, you can do this using an integration. As part of the integration, you can use an authorisation URL which will allow you to gain the users authorisation and connect it to your 3rd party app. Check out this article here → https://monday.com/developers/apps/integration-authorization/ As part of your callback, you would need to authorise both monday.com AND your 3rd party app.

If you need a view, then you would still need to implement an authorisation process, but you would need to create a lot of this yourself. You could do this via running a custom URL, or uploading the build file, it won’t make a difference to your code (except maintaining your own server to power the view).

When I have implemented this using a view (using React), I have used either the constructor method or CompomentWillMount function to check to see if the user is authorised, if not, guide them through the authorisation process.

Hopefully, this will help you, let me know if you have any more questions.

4 Likes

Thanks @mitchell.hudson for the great suggestions!