오늘 마감인 작업에 대해 각 팀원에게 매일 이메일 알림을 보냅니다.
이 워크플로우는 일정에 따라 실행되며 다음을 수행합니다:
- 모든 워크스페이스 구성원을 가져옵니다
- 각 구성원을 순회합니다
- 각 구성원의 오늘 마감 작업을 찾습니다
- 개인화된 이메일을 작성해 전송합니다
단계별 설정
1단계: 트리거 구성
- Settings → Workflows로 이동해 새 워크플로우를 생성합니다
- 트리거로 On a Schedule를 선택합니다
- 매일 오전 8시에 실행되도록 다음 cron 표현식을 사용하세요:
0 8 * * *
2단계: 모든 워크스페이스 구성원 검색
- 레코드 검색 액션을 추가합니다
- 고급 객체(advanced objects) 아래의 Workspace Members를 선택합니다
- 필터는 필요 없습니다 — 모든 구성원이 반환됩니다
3단계: 이터레이터 추가
- Iterator 액션을 추가합니다
- 입력 배열을 이전 단계의 워크스페이스 구성원으로 설정합니다
- 이터레이터 내부의 모든 액션은 구성원당 한 번씩 실행됩니다
4단계: 오늘 마감 작업 검색(이터레이터 내부)
- 이터레이터 내부에 레코드 검색 액션을 추가합니다
- 객체로 Tasks를 선택합니다
- 필터 추가:
- Assignee = 현재 워크스페이스 구성원(이터레이터에서 가져옴)
- Due Date = 오늘
5단계: 작업을 이메일 본문 형식으로 정리(이터레이터 내부)
작업을 링크가 포함된 읽기 쉬운 목록으로 형식화하기 위해 Code 액션을 추가합니다:
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 };
};
yourSubDomain을 실제 Twenty 워크스페이스 서브도메인으로 바꾸세요.
6단계: 이메일 보내기(이터레이터 내부)
- Send Email 액션을 추가합니다(여전히 이터레이터 내부)
- 구성:
| 필드 | 값 |
|---|
| 받는 사람 | {{iterator.currentItem.userEmail}} (워크스페이스 구성원의 이메일) |
| 제목 | 오늘 마감인 작업 |
| 본문 | {{code.formattedTasks}} |
7단계: 테스트 및 활성화
- 워크플로우를 수동으로 실행하려면 Test를 클릭합니다
- 이메일이 도착했는지 받은편지함을 확인하세요
- 워크플로우를 활성화합니다
관련 항목