Consuming External API - Data to Board (Printavo -> Monday)

Goal: Consume external API (Printavo) and convert order details to board view in monday

Progress: I can retrieve our order information from Printavo using Node with below

import dotenv from "dotenv";
dotenv.config();
import express from "express";
import fetch from "node-fetch";
const app = express();
const port = 3000;
const secret = process.env.USE_SECRET;
const email = process.env.USE_EMAIL;

app.get("/orders", async (req, res) => {
  console.log(`/orders endpoint called ${secret}`);
  const url = `https://www.printavo.com/api/v1/orders?email=${email}token=${secret}`;
  const options = {
    method: "GET",
  };
  const response = await fetch(url, options)
    .then((res) => res.json())
    .catch((e) => {
      console.error({
        message: "oh noes",
        error: e,
      });
    });
  console.log("Response: ", response);
  res.json(response);
});

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`);
});

My plan was to convert that response (orders) to an array of objects and create a new item in a board view. My question is - would it be possible to update an order status in Monday to send that data back to Printavo without something like Zapier?

Hello @MikedotJS
Yes, it is possible. You can use the monday.com API for that.
For example, this is the link to the documentation on how to create an Item
Additionally, this is how to how change a status column.

Thanks for the reply @kolaai ,

Do you think this would be better achieved as an Integration Recipe? The following Zap works relatively well but I would like to fully understand how I can build more robust integrations on top of monday

It is possible. To get the updates from monday.com to Printavo (Monday → Printavo), you can use webhooks for that. You can read about that here.

Hey @MikedotJS :wave:

I’m so glad to hear you are having some success building on top of monday.com! That’s amazing.

I do think that you are trying to achieve would make most sense as an Integration recipe. The reason I wouldn’t suggest building a Board View is that you’d need to develop the visualization too. Additionally, the board view would only perform the data sync for you while the Board View is open.

The Integration recipe could sync your data in real-time instead, and you could use both Webhooks and a custom trigger from our apps framework as well.

I hope this helps clarify! You can find more info on our apps framework and custom triggers below:

I hope this helps clarify a bit further! Have a great journey building something awesome with us :slight_smile:

@kolaai thanks for stepping in here and providing some helpful insight as well, I appreciate it!

-Alex