> ## Documentation Index
> Fetch the complete documentation index at: https://docs.get-clara.tech/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'
}}>
    <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%',
  borderRadius: '16px',
  border: '2px solid black'
}} title={title} />
  </div>;

<img src="https://mintcdn.com/clara-1b8b12e1/sHXKG8rWt8DAIbvx/images/user-guide/workflows/email_tasks_due.png?fit=max&auto=format&n=sHXKG8rWt8DAIbvx&q=85&s=f90bcc5e6a2812cfe85fb098b9a34503" style={{width:'100%'}} width="2140" height="3252" data-path="images/user-guide/workflows/email_tasks_due.png" />

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

## Обзор

Этот рабочий процесс запускается по расписанию и:

1. Получает всех участников рабочего пространства
2. Последовательно обрабатывает каждого участника
3. Находит их задачи, срок выполнения которых сегодня
4. Форматирует и отправляет персонализированное письмо

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

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

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

1. Перейдите в **Настройки → Рабочие процессы** и создайте новый рабочий процесс
2. Выберите **On a Schedule** в качестве триггера
3. Используйте выражение cron для ежедневного запуска в 8:00: `0 8 * * *`

### Шаг 2: Поиск всех участников рабочего пространства

1. Добавьте действие **Search Records**
2. Выберите **Workspace Members** (в разделе расширенных объектов)
3. Фильтры не требуются — это вернет всех участников

### Шаг 3: Добавьте итератор

1. Добавьте действие **Iterator**
2. Укажите в качестве входного массива участников рабочего пространства из предыдущего шага
3. Все действия внутри итератора выполнятся один раз для каждого участника

### Шаг 4: Поиск задач со сроком на сегодня (внутри итератора)

1. Внутри итератора добавьте действие **Search Records**
2. Выберите **Задачи** в качестве объекта
3. Добавьте фильтры:
   * **Assignee** = текущий участник рабочего пространства (из итератора)
   * **Due Date** = сегодня

### Шаг 5: Отформатируйте задачи в текст письма (внутри итератора)

Добавьте действие **Code**, чтобы отформатировать задачи в удобочитаемый список со ссылками:

```javascript theme={null}
export const main = async (params: {
  tasksDue?: Array<{ id: string; title: string }> | null | string;
}) => {
  const tasksDue =
    typeof params.tasksDue === "string"
      ? JSON.parse(params.tasksDue)
      : params.tasksDue;

  if (!Array.isArray(tasksDue) || tasksDue.length === 0) {
    return {
      formattedTasks: "No tasks due today."
    };
  }

  const formattedTasks = tasksDue
    .map(
      t =>
        `${t.title}\nhttps://yourSubDomain.twenty.com/object/task/${t.id}`
    )
    .join("\n\n");

  return { formattedTasks };
};
```

<Note>
  Замените `yourSubDomain` на фактический поддомен рабочего пространства Twenty.
</Note>

### Шаг 6: Отправьте письмо (внутри итератора)

1. Добавьте действие **Send Email** (по-прежнему внутри итератора)
2. Настроить:

| Поле      | Значение                                                                                 |
| --------- | ---------------------------------------------------------------------------------------- |
| **Кому**  | `{{iterator.currentItem.userEmail}}` (электронная почта участника рабочего пространства) |
| **Тема**  | Ваши задачи на сегодня                                                                   |
| **Текст** | `{{code.formattedTasks}}`                                                                |

### Шаг 7: Протестируйте и активируйте

1. Нажмите **Test**, чтобы запустить рабочий процесс вручную
2. Проверьте входящие на наличие писем
3. Активируйте рабочий процесс

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

* [Действия рабочего процесса](/l/ru/user-guide/workflows/capabilities/workflow-actions)
* [Отправка писем из рабочих процессов](/l/ru/user-guide/workflows/capabilities/send-emails-from-workflows)
* [Обработка массивов в действиях Code](/l/ru/user-guide/workflows/how-tos/advanced-configurations/handle-arrays-in-code-actions)
