# Zapier와 Nodaro 연동

> Webhooks by Zapier로 Zap에서 Nodaro 워크플로를 시작하고, 완성된 이미지나 동영상을 두 번째 Zap에서 받으세요. Nodaro API 키는 필요 없습니다.

Source: https://nodaro.ai/ko/docs/guides/zapier-integration

**Zapier**는 Zap에서 어떤 Nodaro 워크플로든 시작하고, 완성된 이미지, 동영상, 오디오를 두 번째 Zap에서 받을 수 있습니다. 생성은 Nodaro가 맡습니다. 언제 실행할지, 결과를 다음에 어디로 보낼지는 Zapier가 정합니다. 워크플로 자체의 Webhook 주소가 실행을 시작하므로, 어느 방향에도 Nodaro API 키가 필요하지 않습니다.

## 시작하기 전에
이 페이지의 단계는 **Webhooks by Zapier**를 사용합니다. Zapier는 이를 프리미엄 앱으로 분류하며, 유료 요금제와 무료 체험 기간에만 사용할 수 있습니다. 만들기 전에 내 Zapier 요금제를 확인하세요.

## 연결 방식
1. 첫 번째 Zap에서 **Webhooks by Zapier** **POST** 액션이 프롬프트 같은 JSON 본문을 Nodaro 워크플로의 Webhook 주소로 보냅니다.
2. Nodaro 워크플로는 [Webhook 트리거](https://nodaro.ai/docs/nodes/automate/webhook-trigger)로 시작해 노드를 실행하고, [Webhook 출력](https://nodaro.ai/docs/nodes/publish/webhook-output)으로 끝납니다.
3. Webhook 출력이 결과를 **Catch Hook** 트리거로 POST하면, 이 트리거가 그 결과로 두 번째 Zap을 시작합니다.

Workflow: Nodaro 쪽 구성: Zap이 Webhook 트리거를 시작하고, Webhook 출력이 이미지 주소를 Zapier Catch Hook으로 보냅니다.

- Webhook 트리거 → 이미지 생성 (프롬프트)
- 이미지 생성 → Webhook 출력 (image_url)

## 1단계: Zapier에서 결과 받기
Nodaro 워크플로에 결과를 받을 주소가 필요하므로, 결과를 받는 Zap을 먼저 만드세요.

1. 트리거가 **Webhooks by Zapier › Catch Hook**인 Zap을 만드세요.
2. **Continue**를 클릭하세요. **Test** 탭에 Zapier가 내 Webhook URL을 표시합니다. **Copy**를 클릭하세요.
3. 테스트 화면은 열어 두세요. 2단계에서 첫 결과를 이곳으로 보냅니다.

## 2단계: Nodaro 워크플로 만들기
1. **Webhook 트리거** 노드를 추가하세요. **출력 파라미터**에서 이름이 `prompt`이고 유형이 **텍스트**인 파라미터를 추가하세요.
2. `prompt` 출력을 [이미지 생성](https://nodaro.ai/docs/nodes/image/generate-image) 노드나 결과를 만드는 다른 노드의 프롬프트 입력에 연결하세요.
3. **Webhook 출력** 노드를 추가하세요. Zapier Webhook URL을 **Webhook URL**에 붙여 넣으세요. **입력 파라미터**에서 유형이 **이미지 URL**인 `image_url`을 추가하고, 이미지를 여기에 연결하세요.
4. 워크플로를 저장하고 **실행**을 한 번 클릭하세요. 결과가 Catch Hook에 도착하면, Zapier에서 **Test trigger**를 클릭해 확인하세요.
5. Webhook 트리거를 선택하고 **Webhook URL** 아래의 주소를 복사하세요.

주소는 `https://app.nodaro.ai/v1/webhooks/<token>` 형식입니다. 토큰은 비밀번호처럼 작동합니다. 주소를 아는 사람은 누구나 워크플로를 시작할 수 있습니다.

결과를 사용하는 액션을 두 번째 Zap에 추가하고, Zap을 게시하세요.

## 3단계: Zapier에서 실행 시작하기
1. 실행을 시작할 Zap에 **Webhooks by Zapier › POST** 액션을 추가하세요.
2. Nodaro 주소를 **URL**에 붙여 넣고 **Payload Type**을 **json**으로 설정하세요.
3. **Data**에서 왼쪽에 키 `prompt`를 추가하고, 오른쪽에는 앞 단계의 값을 매핑하세요.
4. 단계를 테스트한 다음 Zap을 게시하세요.

Zapier는 Nodaro에 다음 본문을 보냅니다.

```json
{ "prompt": "A red kite over a green hill, morning light" }
```

## 돌아오는 응답
Nodaro는 아무것도 생성하기 전에 POST에 바로 응답합니다. 응답은 실행 ID가 담긴 `202`입니다.

```json
{ "executionId": "3f9e2b1a-7c6d-4e5f-8a9b-0c1d2e3f4a5b", "status": "pending" }
```

실행이 끝나면 Webhook 출력이 결과를 Catch Hook으로 POST합니다. 본문에는 입력 파라미터마다 키가 하나씩 있고, 미디어 값은 Nodaro에 있는 파일의 주소입니다.

```json
{ "image_url": "https://cdn.nodaro.ai/images/2538b658-d2e1-42ee-890a-72ce06089feb.png" }
```

두 번째 Zap에서는 `image_url`을 다른 필드처럼 매핑합니다.

## API 토큰으로 폴링하지 않는 이유
Zapier는 Webhook 단계의 헤더를 일반 텍스트로 보관하므로, Zap에 접근할 수 있는 사람은 누구나 헤더를 읽을 수 있습니다. 헤더에 넣은 개인 API 토큰도 같은 방식으로 노출됩니다. Webhook 출력 방식은 토큰이 필요 없으므로, Zapier에서는 이 방식을 사용하세요. 대신 내 코드에서 폴링하려면 [새 입력값으로 워크플로 실행](https://nodaro.ai/docs/developers/api/workflows#run-a-workflow-with-new-input-values)을 참고하세요.

## 미리 고려할 제한
| 제한 | 동작 | 대처 방법 |
| --- | --- | --- |
| 워크플로당 한 번에 하나의 실행 | 실행 중에 보낸 요청에는 진행 중인 실행의 `executionId`와 함께 `409`가 반환됩니다. | 이전 결과가 도착한 뒤 다음 요청을 보내거나, 워크플로를 복사하세요. |
| 주소당 분당 10개 요청 | 이를 넘는 요청에는 `429`가 반환됩니다. | 요청 사이에 간격을 두세요. |
| 전송 시도는 한 번 | Webhook 출력은 응답을 30초 동안 기다리며, 다시 시도하지 않습니다. 전송에 실패하면 노드가 실패합니다. | 결과를 받는 Zap을 게시된 상태로 유지하세요. |
| 빈 요청 | Zapier는 본문이 비어 있는 요청을 무시합니다. | Webhook 출력에 입력 파라미터를 하나 이상 지정하세요. |

## 비용
Webhook 트리거와 Webhook 출력은 무료입니다. 그 사이에 있는 노드의 크레딧을 편집기와 같은 가격으로 지불합니다. 위 예에서는 실행할 때마다 Nano Banana 2 이미지 한 장의 가격인 22크레딧이 듭니다. 실패한 노드에 예약된 크레딧은 자동으로 환불됩니다. Zapier는 자체 태스크를 Zapier 쪽에서 따로 집계합니다.

같은 방식은 [n8n](https://nodaro.ai/docs/guides/n8n-integration)과 [Make](https://nodaro.ai/docs/guides/make-integration)에서도 사용할 수 있습니다. 일정과 워크플로를 시작하는 그 밖의 방법은 [자동화](https://nodaro.ai/docs/guides/automations)에서 다룹니다.

## 자주 묻는 질문

### 무료 Zapier 요금제에서도 Nodaro를 사용할 수 있나요?

Webhook 단계로는 사용할 수 없습니다. Zapier는 Webhooks by Zapier를 프리미엄 앱으로 분류하며, 유료 요금제와 무료 체험 기간에만 사용할 수 있습니다. 또한 단계가 3개 이상인 Zap에도 유료 요금제가 필요합니다.

### Nodaro API 키가 필요한가요?

아니요. Webhooks by Zapier는 Nodaro 워크플로의 Webhook 주소로 실행을 시작하고, Webhook 출력 노드는 결과를 Zapier Catch Hook으로 보냅니다. 필요한 자격 증명은 Webhook 주소뿐입니다.

### Nodaro가 409를 반환하는 이유는 무엇인가요?

Nodaro 워크플로에서 이미 실행이 진행 중이며, 워크플로는 한 번에 하나의 요청만 실행합니다. 이전 결과가 도착한 뒤 다음 요청을 보내거나, 병렬로 실행하려면 워크플로의 사본을 만드세요.

### 비용은 얼마인가요?

Webhook 트리거와 Webhook 출력은 무료입니다. 그 사이에 있는 노드의 크레딧을 편집기와 같은 가격으로 지불합니다. Zapier는 자체 태스크를 Zapier 쪽에서 따로 집계합니다.
