Kolumna e-mail pozwala przypisać adres e-mail do elementu i wysłać wiadomość do tej osoby jednym kliknięciem. Każda wartość przechowuje adres e-mail oraz wyświetlaną etykietę tekstową.
Za pomocą API kolumna e-mail obsługuje odczytywanie, filtrowanie, aktualizowanie i czyszczenie wartości.
| Typ kolumny | Typ implementacji | Obsługiwane operacje |
|---|---|---|
email |
EmailValue |
|
Zapytania
Kolumny e-mail można odpytywać za pomocą pola column_values w obiekcie items, korzystając z wbudowanego fragmentu dla EmailValue.
query {
items(ids: [1234567890, 9876543210]) {
name
column_values {
... on EmailValue {
id
email
label
text
value
updated_at
}
}
}
}
const query = `
query ($itemIds: [ID!], $columnType: [ColumnType!]) {
items(ids: $itemIds) {
name
column_values(types: $columnType) {
... on EmailValue {
id
email
label
text
value
updated_at
}
}
}
}
`;
const variables = {
itemIds: [1234567890, 9876543210],
columnType: "email"
};
const response = await mondayApiClient.request(query, variables);
Pola
Możesz użyć następujących pól, aby określić, jakie informacje zwróci implementacja EmailValue.
| Pole | Opis |
|---|---|
column Column! |
Kolumna, do której należy wartość, wraz z jej id i title. |
email String |
Adres e-mail. Zwraca null, jeśli kolumna jest pusta. |
id ID! |
Unikalny identyfikator kolumny. |
label String |
Wyświetlana etykieta tekstowa. Jeśli użytkownik nie ustawi osobnego tekstu do wyświetlenia, jej wartość będzie taka sama jak wartość email. Zwraca null, jeśli kolumna jest pusta. |
text String |
Połączona reprezentacja tekstowa w formacie "label - email". Zwraca "", jeśli kolumna jest pusta. |
type ColumnType! |
Typ kolumny (email). |
updated_at Date |
Data ostatniej aktualizacji kolumny. |
value JSON |
Surowa wartość kolumny jako ciąg JSON zawierający klucze email, text i changed_at. Zwraca null, jeśli kolumna jest pusta. |
Przykładowa odpowiedź
{
"data": {
"items": [
{
"name": "Task A",
"column_values": [
{
"id": "email",
"email": "test@example.com",
"label": "Test Contact",
"text": "Test Contact - test@example.com",
"value": "{\"email\":\"test@example.com\",\"text\":\"Test Contact\",\"changed_at\":\"2026-03-21T08:42:31.539Z\"}",
"updated_at": null
}
]
}
]
}
}
Filtrowanie
Możesz filtrować elementy według wartości e-mail za pomocą obiektu items_page. Kolumna e-mail obsługuje następujące operatory:
| Operator | Wartość porównania | Opis |
|---|---|---|
any_of |
Tablica wyświetlanych wartości tekstowych (np. ["Test Contact"]) |
Zwraca elementy, w których wyświetlany tekst kolumny e-mail jest zgodny z jedną z podanych wartości. Porównuje pole label, a nie surowy adres e-mail. |
not_any_of |
Tablica wyświetlanych wartości tekstowych (np. ["Test Contact"]) |
Pomija elementy, w których wyświetlany tekst kolumny e-mail jest zgodny z którąkolwiek z podanych wartości. |
contains_text |
Fragment lub cały ciąg tekstowy (np. ["@example.com"]) |
Zwraca elementy, których adres e-mail lub wyświetlany tekst zawiera podany ciąg. |
not_contains_text |
Fragment lub cały ciąg tekstowy (np. ["@gmail"]) |
Pomija elementy, których adres e-mail lub wyświetlany tekst zawiera podany ciąg. |
is_empty |
[] |
Zwraca elementy z pustą (nieustawioną) wartością e-mail. |
is_not_empty |
[] |
Zwraca elementy, dla których ustawiono wartość e-mail. |
Operatory any_of i not_any_of porównują wyświetlany tekst kolumny (label), a nie surowy adres e-mail. Jeśli wyświetlany tekst jest taki sam jak adres e-mail (czyli użytkownik nie ustawił osobnego tekstu do wyświetlenia), adres e-mail będzie pasować. Użyj contains_text, jeśli chcesz wyszukiwać konkretnie według adresu e-mail.
Przykłady
Filtrowanie według wyświetlanego tekstu
Ten przykład zwraca wszystkie elementy, w których wyświetlany tekst kolumny e-mail jest zgodny z wartością „Test Contact”.
query {
boards(ids: 1234567890) {
items_page(
query_params: {
rules: [
{
column_id: "email"
compare_value: ["Test Contact"]
operator: any_of
}
]
}
) {
items {
id
name
column_values {
... on EmailValue {
email
label
}
}
}
}
}
}
Filtrowanie według domeny e-mail
Ten przykład zwraca wszystkie elementy, których adres e-mail lub wyświetlany tekst zawiera „@example.com”.
query {
boards(ids: 1234567890) {
items_page(
query_params: {
rules: [
{
column_id: "email"
compare_value: ["@example.com"]
operator: contains_text
}
]
}
) {
items {
id
name
}
}
}
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });
const query = `
query ($boardId: [ID!], $columnId: ID!, $operator: ItemsQueryRuleOperator!, $compareValue: CompareValue!) {
boards(ids: $boardId) {
items_page(
query_params: {
rules: [{
column_id: $columnId,
compare_value: $compareValue,
operator: $operator
}]
}
) {
items {
id
name
}
}
}
}
`;
const variables = {
boardId: 1234567890,
columnId: "email",
compareValue: ["@example.com"],
operator: "contains_text",
};
const response = await mondayApiClient.request(query, variables);
Filtrowanie według pustych wartości
Ten przykład zwraca wszystkie elementy z pustą kolumną e-mail.
query {
boards(ids: 1234567890) {
items_page(
query_params: {
rules: [
{
column_id: "email"
compare_value: []
operator: is_empty
}
]
}
) {
items {
id
name
}
}
}
}
Mutacje
Aktualizowanie
Możesz zaktualizować kolumnę e-mail za pomocą change_simple_column_value lub change_multiple_column_values. W zależności od wybranej mutacji możesz przesłać wartości jako zwykłe ciągi tekstowe lub obiekty JSON.
change_simple_column_value
Prześlij adres e-mail i wyświetlany tekst jako jeden ciąg, rozdzielone spacją. Pierwszy element to adres e-mail, a wszystko po pierwszej spacji to wyświetlany tekst. Obie wartości są wymagane.
mutation {
change_simple_column_value(
item_id: 9876543210
board_id: 1234567890
column_id: "email"
value: "example@example.com This is an example email"
) {
id
}
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });
const query = `
mutation (
$boardId: ID!,
$itemId: ID!,
$columnId: String!,
$columnValue: String!
) {
change_simple_column_value(
item_id: $itemId,
board_id: $boardId,
column_id: $columnId,
value: $columnValue
) {
id
}
}
`;
const variables = {
boardId: 1234567890,
itemId: 9876543210,
columnId: "email",
columnValue: "example@example.com This is an example email",
};
const response = await mondayApiClient.request(query, variables);
change_multiple_column_values
Prześlij klucze email i text jako obiekt JSON w column_values. Oba klucze są wymagane.
mutation {
change_multiple_column_values(
item_id: 9876543210
board_id: 1234567890
column_values: "{\"email\": {\"email\": \"example@example.com\", \"text\": \"This is an example email\"}}"
) {
id
}
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });
const query = `
mutation (
$boardId: ID!,
$itemId: ID!,
$columnValues: JSON!
) {
change_multiple_column_values(
item_id: $itemId,
board_id: $boardId,
column_values: $columnValues
) {
id
}
}
`;
const variables = {
boardId: 1234567890,
itemId: 9876543210,
columnValues: JSON.stringify({
email: {
email: "example@example.com",
text: "This is an example email"
}
}),
};
const response = await mondayApiClient.request(query, variables);
Ustawianie adresu e-mail podczas tworzenia elementu
Możesz ustawić wartość e-mail podczas tworzenia elementu, przekazując wartość kolumny e-mail w argumencie column_values.
mutation {
create_item(
board_id: 1234567890
item_name: "New contact"
column_values: "{\"email\": {\"email\": \"contact@example.com\", \"text\": \"Main Contact\"}}"
) {
id
name
}
}
Czyszczenie
Możesz wyczyścić kolumnę e-mail za pomocą change_simple_column_value lub change_multiple_column_values.
change_simple_column_value
Przekaż pusty ciąg w value.
mutation {
change_simple_column_value(
item_id: 9876543210
board_id: 1234567890
column_id: "email"
value: ""
) {
id
}
}
change_multiple_column_values
Przekaż null w column_values.
mutation {
change_multiple_column_values(
item_id: 9876543210
board_id: 1234567890
column_values: "{\"email\": null}"
) {
id
}
}
Odczytywanie konfiguracji kolumny
Aby sprawdzić ustawienia kolumny e-mail, wykonaj zapytanie o pole settings kolumny.
Pole settings_str jest przestarzałe od wersji API 2025-10. Zamiast niego użyj typowanego obiektu settings, który zwraca uporządkowany obiekt JSON, a nie ciąg zakodowany w formacie JSON.
query {
boards(ids: 1234567890) {
columns(ids: ["email"]) {
id
title
settings
}
}
}
Struktura odpowiedzi settings
Pole settings zwraca typowany obiekt JSON. W przypadku domyślnej kolumny e-mail będzie to pusty obiekt {}. Jeśli kolumna jest skonfigurowana, obiekt może zawierać:
| Klucz | Typ | Opis |
|---|---|---|
includePulseInSubject |
boolean |
Określa, czy nazwa elementu ma się znaleźć w temacie wiadomości. |
ccPulse |
boolean |
Określa, czy adres e-mail elementu ma być dodawany do pola DW wysyłanych wiadomości. |
Przykładowa odpowiedź settings (ustawienia domyślne)
{}
Przykładowa odpowiedź settings (skonfigurowane ustawienia)
{
"includePulseInSubject": true,
"ccPulse": true
}
Pobieranie schematu typu kolumny
Możesz programowo pobrać schemat JSON ustawień kolumny e-mail za pomocą zapytania get_column_type_schema. Zwraca ono strukturę, reguły walidacji i dostępne właściwości konfiguracji kolumny.
query {
get_column_type_schema(
type: email
)
}
{
"data": {
"get_column_type_schema": {
"schema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"settings": {
"type": "object",
"description": "Column specific settings",
"properties": {
"includePulseInSubject": {
"type": "boolean",
"description": "Whether to include the item name in the email subject"
},
"ccPulse": {
"type": "boolean",
"description": "Whether to CC the item email address"
}
},
"additionalProperties": false
}
}
}
}
}
}
Odpowiedź zawiera nazwy właściwości, typy, ograniczenia (takie jak maksymalna długość i dozwolone wartości) oraz opisy poszczególnych ustawień. Możesz użyć tych informacji do sprawdzania poprawności ustawień kolumn, dynamicznego generowania interfejsów użytkownika lub przekazywania kontekstu agentom AI. Dowiedz się więcej o formacie odpowiedzi schematu.