> ## Documentation Index
> Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Отображение количества полученных электронных писем

> Создайте рабочий процесс для автоматического подсчета и отображения количества электронных писем, полученных от каждого контакта.

export const VimeoEmbed = ({videoId, title = 'Video'}) => <div style={{
  padding: '69.01% 0 0 0',
  position: 'relative',
  margin: '32px 0px',
  borderRadius: '16px',
  overflow: 'hidden',
  border: '2px solid black'
}}>
    <iframe src={`https://player.vimeo.com/video/${videoId}?autoplay=1&loop=1&autopause=0&background=1&app_id=58479`} frameBorder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write" style={{
  position: 'absolute',
  top: 0,
  left: 0,
  width: '100%',
  height: '100%',
  transform: 'scale(1.1)'
}} title={title} />
  </div>;

<img src="https://mintcdn.com/twenty/9Kj1cPoIfysPjSEH/images/user-guide/workflows/workflow-number-of-emails-received.png?fit=max&auto=format&n=9Kj1cPoIfysPjSEH&q=85&s=662e63b2058fdf12b9901c5ce9e7e930" style={{width:'100%'}} width="3640" height="4740" data-path="images/user-guide/workflows/workflow-number-of-emails-received.png" />

## Обзор

Этот рабочий процесс срабатывает каждый раз при получении нового электронного письма и обновляет пользовательское поле в записи контакта значением общего количества писем от этого отправителя.

## Требования

Прежде чем настраивать этот рабочий процесс, создайте пользовательское поле в объекте **Контакты**:

1. Перейдите в **Настройки → Модель данных → Контакты**
2. Добавьте новое поле **Число**
3. Назовите его, например, "Количество писем, полученных от этого контакта"

## Пошаговая настройка

<VimeoEmbed videoId="1148700336" title="Видеодемонстрация" />

### Шаг 1: Настройте триггер

1. Перейдите в **Рабочие процессы** и создайте новый рабочий процесс
2. Выберите **Запись создана** в качестве триггера
3. Выберите **Участники сообщений** (доступно в разделе «Дополнительные объекты»)

<Note>
  Участник сообщения — это комбинация идентификатора сообщения и идентификатора контакта, создающая одну уникальную запись на каждое сообщение. Это проще отслеживать, чем работать напрямую с объектом Messages, потому что мы можем получить доступ к полю `handle`, которое содержит адрес электронной почты отправителя (или получателя).
</Note>

### Шаг 2: Фильтр по роли

1. Добавьте действие **Фильтр**
2. Задайте условие: **Role** равно **FROM**

Это гарантирует, что вы считаете только сообщения, отправленные этим контактом, а не сообщения, отправленные ему.

### Шаг 3: Поиск всех участников сообщений с тем же handle

1. Добавьте действие **Search Records**
2. Выберите **Участники сообщений** в качестве объекта
3. Добавьте фильтры: **Handle** равен значению handle из триггера (адрес электронной почты отправителя) и **Role** равно **FROM**
4. Увеличьте **Limit** с 1 до **200** (максимум)

Это позволит найти все письма с этого адреса электронной почты, чтобы получить общее количество.

<Note>
  Действие Search Records ограничено возвратом максимум 200 записей. Однако, поскольку вы используете только значение `totalCount` (а не отдельные записи), этот шаг вернет общее количество писем, отправленных этим контактом.
</Note>

### Шаг 4: Обновите запись контакта с помощью действия Create or Update Record

1. Добавьте действие **Create or Update Record**

<Warning>
  Используйте **Upsert Record** вместо **Update Record** здесь. Это позволит идентифицировать контакт по его адресу электронной почты (поле `handle`), а не требовать ID записи из предыдущего шага.
</Warning>

2. Выберите **Контакты** в качестве объекта
3. Найдите контакт, сопоставив его адрес электронной почты со значением `handle` из участника сообщения
4. Установите значение вашего пользовательского поля "Количество полученных писем" равным `{{searchRecords.totalCount}}`

Значение `totalCount` из действия Search Records представляет общее количество писем, полученных от этого контакта.

## Связанные материалы

* [Действия рабочего процесса](/l/ru/user-guide/workflows/capabilities/workflow-actions)
* [Как создать пользовательские поля](/l/ru/user-guide/data-model/how-tos/customize-your-data-model)
* [Действие Search Records](/l/ru/user-guide/workflows/capabilities/workflow-actions#search-records)
