The email column allows you to attach an email address to an item and send emails to that contact with a single click. You can filter, read, update, and clear the email column 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.

OperatorsCompare values
any_of
  • "" (blank values)
  • The whole email or display text value to filter by*
  • not_any_of
  • "" (blank values)
  • The whole email or display text value to filter by*
  • is_emptynull
    is_not_emptynull
    contains_textThe partial or whole email or display text value to filter by*
    not_contains_textThe 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.

    Examples

    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 that enables you to return column-specific subfields by sending a fragment in your query. Values for the email column are of the EmailValue type.

    query {
      items (ids:[1234567890, 9876543210]) {
        column_values {
          ... on EmailValue {
            email
            updated_at
          }
        }
      }
    }
    

    Fields

    FieldDescription
    column Column!The column the value belongs to.
    email StringThe column's email value.
    id ID!The column's unique identifier.
    label StringThe 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 StringThe column's value as text. This field will return "" if the column has an empty value.
    type ColumnType!The column's type.
    updated_at DateThe column's last updated date.
    value JSONThe column's JSON-formatted raw value.

    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: "[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 should send the email address in the email key and display text in the text key. Both keys are required.

    👍

    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: "{\"my_email_column\":{\"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! 😎