Best practice to create a "Transaction log" like table in Monday.com

Hi community. As the title says, we’re implementing a Transaction log table that records all inputs in our custom app.

We have two custom apps built with ReactJS. The first app is an Item View feature that contains a form for collecting user input. The second app is an Account Settings View feature that manages credentials and request payloads used by the Item View.

When a form is submitted from the Item View, it sends an HTTP REST API request to our backend application, which is also hosted in monday.com using server-side code.

Our goal is to maintain a transaction log tables for every form submission coming from both the Item View and the Account Settings View. Each form should have its own corresponding table of records. The transaction logs table will be part of our App when it is installed.

What do you think is the best practice for implementing this? Below is our idea we think are best so far:

Create a new Board View that aggregates two tables using the monday.com GraphQL API. This is currently our preferred option. However, the challenge is that the app is not yet installed initially, so the tables are not created beforehand. Is there a way to automatically generate these tables when the app is installed?

Would love hear other ideas for this approach. Thanks

Hello @g.agoncillo
This is a solid use case and you’re thinking about it the right way.

Best practice is to treat transaction logs as app owned boards and create them programmatically on app installation. Once your app receives the install event and account context you can use server side GraphQL to create the required boards automatically and store the board IDs in your backend or Account Settings View.

From there each form submission simply creates a new item in the relevant log board. You can keep one board per form or a single log board with a form type column depending on volume.

If you want a unified view later you can build a Board View or custom view that queries multiple boards via GraphQL rather than merging data upfront.

Boards give you persistence permissions and auditability out of the box which is exactly what transaction logs usually need.

Dr. Tanvi Sachar
Monday Certified Partner, Monday Wizard

1 Like

HI @drtanvisachar .

Thank you so much for the response. Much appreciated.

Hey @g.agoncillo You’re very welcome, happy it helped.

If you’d like to go a bit deeper, feel free to schedule some time with the team whenever it’s convenient. We’re always happy to walk through the architecture or sanity check an approach together.