The email column allows you to attach anΒ email address to an item and send emails to that contact with a single click. Our API fully supports the email column, so you can filter, read, update, and clear it via the API.
Filtering the email column
Using the items_page
object, you can easily filter a board's items by specific columns or column values. The table below contains the email column's supported operators and compare values.
Operators | Compare values |
---|---|
any_of | "" (blank values) |
not_any_of | "" (blank values) |
is_empty | null |
is_not_empty | null |
contains_text | The partial or whole email or display text value to filter by* |
not_contains_text | The partial or whole email or display text value to filter by* |
*Please note that you can use either the email or display text when using the any_of
, not_any_of
, contains_text
, or not_contains_text
operators, but it must match whatever is in the UI. For example, if the item just has an email without display text, you can search by email. If display text is present, you must search by that and not the email.
_Pro tip
items_page
is only available in API version2023-10
for now.
The following example returns all items on the specified board without "@gmail" in their email address. Please note that if the column had display text values, the query would have to utilize those instead of the email value.
query {
boards (ids: 1234567890) {
items_page (query_params: {rules: [{column_id: "email", compare_value: ["@gmail"], operator:not_contains_text}]}) {
items {
id
name
}
}
}
}
Reading the email column
You can query the email column using the column_values
object. The object has different fields based on which API version you are using. Column values v2 fields will be available in API versions 2023-10
and later, while column values v1 fields are only supported in versions 2023-07
and 2023-04
.
Column values v2
The column_values
object enables you to return column-specific subfields by sending a fragment in your query. Values for the email column are of the EmailValue
type.
Pro tip
column_values
v2 fields are only available in API version2023-10
.
query {
items (ids:[1234567890, 9876543210]) {
column_values {
... on EmailValue {
email
updated_at
}
}
}
}
Fields
Field | Description |
---|---|
column Column! | The column the value belongs to. |
email String | The column's email value. |
id ID! | The column's unique identifier. |
label String | The column's text value. Please note that this may be the same as the email value if the user didn't enter any text. |
text String | The column's value as text. |
type ColumnType! | The column's type. |
updated_at Date | The column's last updated date. |
value JSON | The column's JSON-formatted raw value. |
Column values v1
You can return the data in an email column in two different formats when you query by column values. The text
field will return the email address as a simple string. The value
field will return metadata about the column as a JSON string.
Removing column values v1 support
column_values
v1 fields will no longer be supported in API versions2023-10
and later.
{
"text": "[email protected]",
"value": "{\"text\":\"[email protected]\",\"email\":\"[email protected]\",\"changed_at\":\"2022-07-21T12:00:00.000Z\"}"
}
Updating the email column
You can update an email column using the change_simple_column_value
mutation and sending a simple string in the value
argument. You can also use the change_multiple_column_values
mutation and pass a JSON string in the column_values
argument.
Simple strings
To update an email column, send both the email address and display text as a string separated by a space. You can also include spaces in the display text.
mutation {
change_simple_column_value (item_id:9876543210, board_id:1234567890, column_id:"email", value: "exa[email protected] This is an example email") {
id
}
}
fetch ("https://api.monday.com/v2", {
method: 'post',
headers: {
'Content-Type': 'application/json',
'Authorization' : 'YOUR_API_KEY_HERE'
},
body: JSON.stringify({
query : "mutation ($myBoardId:Int!, $myItemId:Int!, $myColumnValue: String!, $columnId: String!) { change_simple_column_value (item_id:$myItemId, board_id:$myBoardId, column_id: $columnId, value: $myColumnValue) { id } }",
variables : JSON.stringify({
myBoardId: 1234567890,
myItemId: 9876543210,
columnId: "email",
myColumnValue: "[email protected] This is an example email"
})
})
})
JSON
To update an email column with JSON, you can send the email address in the email key and display text in the text key. Check out this mutation in action in our Postman library or follow along with these code samples!
Pro tip
You can mix both string and JSON values in the
change_multiple_column_values
mutation.
mutation {
change_multiple_column_values (item_id:9876543210, board_id:1234567890, column_values: "{\"email\":{\"email\":\"[email protected]\",\"text\":\"This is an example email\"}}") {
id
}
}
fetch ("https://api.monday.com/v2", {
method: 'post',
headers: {
'Content-Type': 'application/json',
'Authorization' : 'YOUR_API_KEY'
},
body: JSON.stringify({
query : `mutation ($myBoardId:Int!, $myItemId:Int!, $myColumnValues:JSON!) {
change_multiple_column_values(item_id:$myItemId, board_id:$myBoardId, column_values: $myColumnValues) {
id
}
}`,
variables : JSON.stringify({
myBoardId: 1234567890,
myItemId: 9876543210,
myColumnValues: JSON.stringify({
email : {email : "[email protected]","text":"This is an example email"}
})
})
})
})
Clearing the email column
You have two options to clear an email column. First, you can use the change_multiple_column_values
mutation and pass null
, an empty string, or an empty object in the column_values
argument.
mutation {
change_multiple_column_values(item_id:9876543210, board_id:1234567890, column_values: "{\"email\" : null}") {
id
}
}
fetch ("https://api.monday.com/v2", {
method: 'post',
headers: {
'Content-Type': 'application/json',
'Authorization' : 'YOUR_API_KEY_HERE'
},
body: JSON.stringify({
query : "mutation ($myBoardId:Int!, $myItemId:Int!, $myColumnValues:JSON!) { change_multiple_column_values(item_id:$myItemId, board_id:$myBoardId, column_values: $myColumnValues) { id } }",
variables : JSON.stringify({
myBoardId: 1234567890,
myItemId: 9876543210,
myColumnValues: "{\"email\" : null}"
})
})
})
You can also use the change_simple_column_value
mutation and pass an empty string in the value
argument.
mutation {
change_simple_column_value(item_id:9876543210, board_id:1234567890, column_id: "email", value: "") {
id
}
}
fetch ("https://api.monday.com/v2", {
method: 'post',
headers: {
'Content-Type': 'application/json',
'Authorization' : 'YOUR_API_KEY_HERE'
},
body: JSON.stringify({
query : "mutation ($myBoardId:Int!, $myItemId:Int!, $myColumnValue: String!, $columnId: String!) { change_simple_column_value (item_id:$myItemId, board_id:$myBoardId, column_id: $columnId, value: $myColumnValue) { id } }",
variables : JSON.stringify({
myBoardId: 1234567890,
myItemId: 9876543210,
columnId: "email",
myColumnValue: ""
})
})
})
Join our developer community!
We've created a community specifically for our devs where you can search through previous topics to find solutions, ask new questions, hear about new features and updates, and learn tips and tricks from other devs. Come join in on the fun! π
Updated 17 days ago