Create item column_values with emails and other non-text fields

Hey guys. This post is for those who, like me, is confused about the monday create_item mutation, specifically the column_values parameter, allowing to set values for other columns than the default name column.

For me it worked just fine to set any text field like this; {"field": "value"}, and that’s as far as the Monday API documentation goes, but if you want to fill non-normal fields, like email or phone, the format is different, like this;

{"email": { "text": "text to appear in the column - often the email",  "email": "" }}

And for the phone field format, it should look like this;

{"phone": { "text": "text to appear in the column (phone numer...?)",  "phone": "+123123123" }}

Full cURL request for your convenience;

curl --location --request POST '' \
--header 'Content-Type: application/json' \
--header 'Authorization: {YOUR_KEY_HERE}' \
--data-raw '{"query":"mutation {\r\n  create_item(board_id: 611638622, item_name: \"My Item\", group_id: \"new_group\", column_values: \"{\\\"phone\\\":{\\\"text\\\": \\\"test\\\", \\\"phone\\\": \\\"14153685\\\"}}\") {\r\n    id\r\n  }\r\n}","variables":{}}'

Hope this helps someone not Google in vain.


awesome quick tip!

I just want to point out where you can find this in the docs:

There are two separate formats available for many of the column types: “simple” or “JSON” mode. You can find various references to the two different modes sprinkled throughout the docs, but there’s not really a central place that makes it clear. The best-documented place is probably the change_simple_column_value mutation oddly.

Hopefully this helps others, too!