> ## 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.

# 워크플로우 액션

> Twenty 워크플로에서 사용할 수 있는 동작에 대해 알아보세요.

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>;

## 동작 소개

트리거가 발생한 후의 동작 정의. 여러 동작을 서로 연결해 복잡한 자동화를 구축할 수 있습니다.

<Tip>
  * 변수 선택기(`(x+)` 아이콘)을 클릭하여 이전 단계의 사용 가능한 데이터를 탐색하세요.
  * 어떤 입력 필드 위에 마우스를 올려두면 변수가 어느 단계에서 왔는지 확인할 수 있습니다 — 동일한 필드(예: ID)가 여러 이전 단계에 존재하는 경우 유용합니다.
  * 유지 관리를 쉽게 하려면 각 동작에 설명적인 이름을 지정하세요.
</Tip>

## 레코드 동작

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

### 레코드 생성

선택된 객체에 새 레코드 추가.

**구성**:

* 대상 객체 선택
* 필수 및 선택 필드 작성
* 이전 단계의 데이터를 사용하거나 값을 수동으로 입력하여 필드를 채우세요.

**출력**: 새로 생성된 레코드 데이터는 다음 단계에서 사용 가능.

### 레코드 업데이트

선택된 객체에서 기존 레코드 수정.

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

**구성**:

* 대상 객체 선택
* 업데이트할 특정 레코드 선택.
  * 사용 가능한 모든 레코드를 표시하는 드롭다운 메뉴에서 고정된 레코드를 선택할 수도 있습니다.
  * 또는 `(x+)`를 사용해 이전 단계에서 찾은 레코드를 지정하여 레코드를 동적으로 선택하도록 할 수 있습니다. 이 단계에서는 서로 다른 기준으로 레코드를 검색할 수 없습니다. 아직 레코드를 식별하지 못한 경우, 이 `Update Record` 단계 전에 `Search Record` 단계를 추가하세요.
* 수정할 필드 선택 및 새 값 입력

**출력**: 업데이트된 레코드 데이터는 다음 단계에서 사용 가능.

### 레코드 삭제

선택된 객체에서 레코드를 제거.

**구성**:

* 대상 객체 선택
* 삭제할 특정 레코드 선택

**출력**: 삭제된 레코드 데이터는 다음 단계에서 사용 가능.

### 레코드 검색

필터 조건을 사용하여 선택된 객체 내에서 레코드 찾기.

**구성**:

* 검색할 객체 선택
* 결과 범위를 좁히기 위한 필터 기준 설정
* 정렬 및 제한 구성

**출력**: 매칭된 레코드를 반환하여 다음 단계에서 사용 가능.

<Note>
  **제한**: Search Records는 최대 **200개 레코드**를 반환합니다. 더 많이 처리해야 하는 경우, 결과를 줄이기 위해 특정 필터를 추가하거나 예약된 워크플로를 사용해 배치로 처리하세요.
</Note>

**모범 사례**: Search Records 이후 [분기](/l/ko/user-guide/workflows/capabilities/workflow-branches)를 사용하여 "발견됨" vs "찾을 수 없음" 시나리오를 처리하세요.

### 레코드 업서트

일치 기준에 따라 새 레코드를 생성하거나 기존 레코드를 업데이트합니다. 레코드가 이미 존재하는지 확실하지 않을 때 유용합니다.

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

**구성**:

* 대상 객체 선택
* 일치에 사용할 수 있는 필드를 확인하세요: People에는 이메일, Companies에는 도메인, 모든 오브젝트에는 ID, 또는 고유(Unique)로 표시된 임의의 필드. 아래 항목 중 최소 하나는 채워야 합니다.
* 필드 값을 입력하세요. 고유 식별자 중 최소 하나는 반드시 입력하세요.

<Note>
  **고유 식별자를 하나만 추가하면 일치가 더 잘 작동하는 경우가 많습니다.** 예를 들어 아래 스크린샷은 도메인을 기준으로 회사를 일치시킵니다. ID가 반드시 필요한 것은 아닙니다.
</Note>

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

* 이전 단계의 데이터를 사용하여 필드 채우기

**작동 원리**:

1. 조건에 맞는 레코드를 검색합니다
2. 찾으면 → 기존 레코드를 업데이트합니다
3. 찾지 못하면 → 새 레코드를 생성합니다

**출력**: 생성되었거나 업데이트된 레코드 데이터를 이후 단계에서 사용할 수 있습니다.

## 플로우 작업

### 반복자

**이전 단계에서 반환된 레코드 배열을 반복 처리**하여 각 레코드에 대해 개별적으로 작업을 수행할 수 있습니다.

**구성**:

* 이전 단계의 레코드 배열을 선택합니다(예: Search Records 결과, 대량 사용이 가능한 수동 트리거, 코드 노드).
* 반복 내에서 각 레코드에 대해 수행할 액션 정의.

<Note>
  - 이터레이터 내에 여러 작업을 추가할 수 있습니다.
  - 이터레이터 내부에 분기를 사용할 때, 각 분기의 마지막 단계가 루프를 닫도록 이터레이터로 다시 연결되는지 확인하세요.
</Note>

* `Current Item` 필드에 접근: 현재 처리 중인 레코드의 필드를 사용하려면 **Iterator** 단계에서 **Current item**을 선택하세요. 해당 레코드에서 사용 가능한 필드 목록이 표시되며, 이후 작업에서 사용하도록 선택할 수 있습니다.

<VimeoEmbed videoId="1146577247" title="동영상 시연" />

### 필터

지정한 조건에 따라 레코드를 필터링하여 기준을 충족하는 레코드만 통과시킵니다.

**구성**:

* 필터링할 레코드를 선택합니다
* 필터 조건 및 기준 정의
* 다음 단계로 전달할 레코드 구성

<Note>
  1. **출력**: 필터 노드는 데이터를 반환하지 않으며 게이트 역할을 합니다. 조건을 충족하면 워크플로우가 계속됩니다. 그렇지 않으면 해당 분기에서 워크플로우가 중지됩니다.
  2. 숫자 필드에서 `IS` 연산자를 사용할 수 있습니다. 이는 `EQUAL`과 동일하게 동작합니다.
</Note>

### 지연

지정한 기간 또는 특정 날짜/시간까지 워크플로우 실행을 일시 중지합니다.

**지연 유형**:

| 유형        | 설명                          |
| --------- | --------------------------- |
| **기간**    | 지정한 시간(일, 시간, 분, 초)만큼 기다립니다 |
| **예약 날짜** | 특정 날짜와 시간까지 기다립니다           |

**기간 설정**:

* 일, 시간, 분 및/또는 초를 설정합니다
* 여러 단위를 조합할 수 있습니다(예: 2일 4시간).

**예약 날짜 설정**:

* 날짜와 시간을 선택합니다
* 이전 단계의 날짜 필드를 참조할 수 있습니다(예: 회의 3일 후에 후속 조치).

**사용 사례**:

* 후속 이메일을 보내기 전에 24시간 대기
* 영업 기회의 마감일까지 일시 중지
* 영업시간에 작업을 예약

<Note>
  예약 날짜는 과거일 수 없습니다. 이전 단계의 날짜 필드를 사용했고 그 날짜가 이미 지났다면, 워크플로우가 실패합니다.
</Note>

**제한 및 크레딧**:

* **최대 기간 제한 없음**—분, 일, 주 또는 그 이상으로 지연을 설정할 수 있습니다
* 지속 시간과 무관하게 Delay 노드가 실행될 때 **크레딧 1개가 소모됩니다**
* 대기 중에는 **크레딧이 소모되지 않습니다**—5분 지연과 5일 지연의 비용은 동일합니다

## 커뮤니케이션 작업

### 이메일 보내기

워크플로우에서 이메일 전송. 템플릿이 있는 그룹 이메일에 적합합니다. 이메일은 사용자의 메일함에서 보내는 이메일과 동일하게 보입니다.
풍부한 서식이 필요한 뉴스레터나 자동 이메일 시퀀스에는 적합하지 않습니다.

**필수 조건**: 설정 > 계정에 이메일 계정 추가

**구성**:

* 발신 이메일 계정을 선택합니다

<Note>
  자신의 Twenty 계정과 동기화된 메일함에서만 이메일을 보낼 수 있습니다. 다른 팀원의 메일함(예: 계정 소유자의 이메일)에서 보내는 기능은 향후 지원 예정입니다.
</Note>

이후 모든 단계에서 개인화를 위해 이전 단계의 변수를 참조할 수 있습니다.

* 수신자 이메일 주소 입력.

<Note>
  현재는 수신자를 한 명만 지정할 수 있습니다.
</Note>

* 제목 설정.
* 메시지 본문 작성. 링크 서식 지정, 번호 매기기 목록 및 글머리 기호 목록 생성, 첨부 파일 추가가 가능합니다.

<Note>
  현재는 HTML 서명을 추가할 수 없습니다.
</Note>

### 양식

워크플로우 실행 중에 양식을 표시하여 사용자 입력을 수집합니다. 이 응답은 이후 단계에서 입력을 기반으로 레코드 생성, 이메일 전송 또는 기타 작업 수행에 사용할 수 있습니다.

<Warning>
  **양식은 수동 트리거 전용으로 설계되었습니다**. 다른 트리거 (레코드 생성, 업데이트 등)와 함께하는 워크플로우의 경우, 형식은 워크플로우 실행 인터페이스를 통해서만 접근 가능하여 기대와 달라짐. 2026년 자동 워크플로우에서 양식을 적절히 지원하기 위한 알림 센터가 출시될 예정입니다.
</Warning>

**구성**:

* 사용자가 입력해야 할 필드를 구성합니다. 각 필드에 대해 다음을 선택합니다
  * 텍스트, 숫자, 날짜, 지정된 레코드, 선택 필드 중 유형 모든 오브젝트의 선택 필드를 사용할 수 있습니다.
  * 라벨
  * `Placeholder` 아래의 기본값(선택 사항)
* 양식 제목 편집

**출력**: 양식 응답은 다음 단계에서 사용 가능.

**예시**: "Quick Lead" 워크플로우는 모든 워크스페이스에서 기본으로 제공되며, 명령 메뉴 `Cmd + K` 어디에서나 사용할 수 있습니다.

**양식 작성 방법**:

* 명령 메뉴 `Cmd K`에서 수동 워크플로우를 트리거하세요
* 사이드 패널에 표시된 양식을 작성하고 `Submit`을 클릭하세요.

<Note>
  필드를 필수로 지정할 수 없습니다.
</Note>

<VimeoEmbed videoId="1147277989" title="동영상 시연" />

## 통합 작업

### 코드

워크플로우 내에서 사용자 정의 JavaScript를 실행합니다.

**구성**:

* 이전 단계의 변수에 접근. 변수 이름을 동적으로 편집할 수 있습니다.

<VimeoEmbed videoId="1147281795" title="동영상 시연" />

* 에디터에서 자바스크립트 코드 작성
* 다음 단계에서 사용할 변수를 반환
* 해당 단계에서 코드를 직접 테스트하세요

<Note>
  코드에서 외부 API 키를 사용해야 하는 경우, 함수 본문에 직접 입력해야 합니다. You cannot configure API keys elsewhere and reference them in the logic function.
</Note>

<Tip>
  **배열을 다루고 있나요?** 외부 시스템이나 이전 단계에서 전달된 배열이 문자열로 올 수 있습니다. 해결 방법은 [Code 액션에서 배열 처리하기](/l/ko/user-guide/workflows/how-tos/advanced-configurations/handle-arrays-in-code-actions)를 참조하세요.
</Tip>

<Tip>
  코드 편집기 오른쪽 상단의 사각형 아이콘을 클릭하여 전체 화면으로 표시하세요 — 기본 편집기 너비가 제한되어 있어 유용합니다.
</Tip>

### HTTP 요청

워크플로우의 일부로 외부 API에 요청을 보냅니다.

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

**구성**:

* API 엔드포인트 URL 입력. 이전 단계의 매개변수를 사용할 수 있습니다.
* HTTP 메소드 선택 (GET, POST, PUT, PATCH, DELETE)
* 필수 헤더 및 값 추가
* 구조 미리보기를 위한 샘플 응답 제공

## AI 작업

### AI 에이전트 - 곧 제공 예정

워크플로우 내에서 AI 에이전트를 실행하여 지능형 작업을 수행합니다.

**구성**:

* **Agent**: 기존 AI 에이전트를 선택하거나 기본 에이전트를 사용합니다
* **Prompt**: AI 에이전트에 대한 지시문을 작성합니다
* 프롬프트에서 이전 단계의 변수를 참조합니다.

**AI 에이전트가 할 수 있는 일**:

* 데이터를 분석하고 요약합니다
* 레코드를 분류하거나 범주화합니다
* 텍스트 콘텐츠를 생성합니다
* 데이터를 기반으로 의사결정을 내립니다
* 도구를 사용하여 CRM 데이터와 상호작용합니다

**출력**: AI 에이전트의 응답을 이후 단계에서 사용할 수 있습니다. 에이전트에 구조화된 출력 스키마가 있는 경우 응답은 해당 형식을 따릅니다.

<Note>
  AI 에이전트 작업은 사용된 AI 모델에 따라 워크플로우 크레딧을 소모합니다. 자세한 내용은 [워크플로우 크레딧](/l/ko/user-guide/workflows/capabilities/workflow-credits)을 참조하세요.
</Note>

<Note>
  AI 에이전트는 역할 기반 권한을 준수합니다. **설정 → 역할**에서 에이전트에 특정 역할을 할당해, 액세스할 수 있는 데이터를 제어할 수 있습니다. 자세한 내용은 [권한](/l/ko/user-guide/permissions-access/capabilities/permissions)을 참조하세요.
</Note>
