0

Basically I have successfully setup a monday.com integration with Webhooks. Long story short, when a new item is posted on monday.com, an HTTP request is sent to a URL which is handled by a Google Cloud Function. This GCF parses the JSON passed in the request, and updates my table in Big Query.

However the issue is this:

Let us assume the following item is posted on the monday.com board: monday.com table entry screenshot

NOTE how the date is of the format Date-Time.

The JSON file (for the date-time field) that is being sent via the HTTP request is as such:

"date4":{
          "date":"2020-05-22",
          "icon":"None"
        },

NOTE how the Time is not included in the data being sent, only the Date.

Also, I can assert that on the monday.com board, the field type is of Date-Time.

I would like to know if this is an issue with the monday.com API or whether I am simply doing something wrong. I could not find any related issues upon researching the problem.

Thanks all in advance!

ItsCiccio
  • 1
  • 1

1 Answers1

0

I ran into the same problem, even worse: if you only change the time in the date/time field, you will not get a webhook callback at all!

This seems like a big oversight, so I got in touch with Monday.com support. Their reply:

At this time you are indeed correct that changes to the hours field of a Date column will not result in a webhook being thrown. Same thing with the hours field not populating the webhook data. This is a feature that our developers have yet to add to our webhooks configuration.

Instead, what if your team utilized an "Hour" column instead? This column will trigger a webhook when changed and can also store hour data.

I'm not too happy with the 'Hour' column solution since we have several date/time columns that would need to be split, leading to a lot more columns, and I'm not sure what the impact is on other parts.

Other solutions that could be considered:

Polling

Depending on how quickly you really need your callbacks, the old school way of syncing is simply polling for changes. This does require that you have a reference to the Monday pulse_id for your items (I do, so this might work for me).

Custom Monday App

I haven't looked into this too far yet, but Monday has an SDK that allows you to write apps that listen to changes and triggers in your data. But depending on how things work under the hood, it might suffer from the same shortcomings as the webhooks. Also, it requires a separate server for sending your own updates.

All-in-all I'm quite disappointed in the Monday webhooks, for several reasons:

  • This date/time issue
  • The documentation is very limited.
  • The data they send is inconsistent (e.g. for some callbacks the type is inside the event, for others outside)
  • There is no security on webhooks. The requests are not signed or authenticated. Anyone can send requests to your endpoint and there is no good way to check that it indeed came from Monday.
  • There are no webhooks for deletion.
robin
  • 466
  • 5
  • 11