폴더 웹훅
외부에서 보내는 파일을 지정한 폴더로 자동으로 받아올 수 있습니다. 폴더마다 고유한 수신 주소가 만들어지고, 외부에서 그 주소로 데이터를 보내면 폴더에 자동으로 저장됩니다.
시작하기 전에
- 관리자 설정: 웹훅 정책 설정하기에서 워크스페이스의 웹훅 사용을 켜야 합니다.
폴더에 웹훅 만들기
- 웹훅을 받을 폴더의 이름 옆 설정(⚙️) 아이콘을 선택합니다.

자동 수신(웹훅)탭에서추가버튼을 선택합니다.- 인증 방식과 충돌 정책을 선택합니다. 두 값 모두 아래에서 자세히 설명합니다.

생성버튼을 선택하면 폴더만의 고유한 수신 주소(URL)가 만들어집니다.Secure를 선택했다면 서명 키(signing secret)도 함께 만들어집니다. 이 값들은 지금만 표시되고 나중에는 다시 확인할 수 없으니, 안전한 곳에 복사해 둡니다.
- 화면에 표시된 수신 주소와 예시 가이드에 따라 외부 시스템에서 웹훅을 설정합니다. 인증 방식별 요청 예시는 아래 "인증 방식 선택하기"에서 확인합니다.
- 웹훅이 설정된 폴더는 아이콘이 보입니다.
인증 방식 선택하기
웹훅을 만들 때 Simple과 Secure 중 하나를 선택합니다.
| 인증 방식 | 동작 |
|---|---|
Simple | 수신 주소(URL) 자체가 인증 정보입니다. 별도 서명 없이 발급된 주소로 POST 요청만 보내면 파일이 저장됩니다. |
Secure | 요청마다 X-Webhook-Timestamp, X-Webhook-Nonce, X-Webhook-Signature 헤더에 HMAC 서명을 계산해서 함께 보내야 합니다. 수신 주소가 외부에 노출되더라도 서명 없이는 요청이 거부됩니다. |
Simple로 만든 웹훅은 URL만으로 요청을 보낼 수 있습니다.
# Upload a file via multipart
curl -i -X POST "https://<수신 주소>?filename=photo.jpg" \
-F "file=@./photo.jpg"
Secure로 만든 웹훅은 요청 본문(멀티파트 바디 전체를 경계·파트 헤더까지 포함해 SHA-256으로 해시한 값)을 서명에 포함해야 합니다.

# Upload a file via multipart (with HMAC signature)
TS=$(date +%s)
NONCE=$(cat /proc/sys/kernel/random/uuid)
BOUNDARY="------------------------$(cat /proc/sys/kernel/random/uuid)"
TMP=$(mktemp /tmp/multipart.XXXXXX)
# Build the raw multipart body first, then hash that body.
printf -- --%s$'\r\n' "$BOUNDARY" > "$TMP"
printf 'Content-Disposition: form-data; name="file"; filename="photo.jpg"' >> "$TMP"
printf $'\r\n' >> "$TMP"
printf 'Content-Type: application/octet-stream' >> "$TMP"
printf $'\r\n\r\n' >> "$TMP"
cat ./photo.jpg >> "$TMP"
printf $'\r\n' >> "$TMP"
printf -- --%s--$'\r\n' "$BOUNDARY" >> "$TMP"
BODY_SHA=$(sha256sum "$TMP" | awk '{print $1}')
SIG=$(printf 'POST\n<수신 경로>\n%s\n%s\n%s' "$TS" "$NONCE" "$BODY_SHA" \
| openssl dgst -sha256 -hmac "$SECRET" -binary | xxd -p -c 256)
curl -i -X POST "https://<수신 주소>?filename=photo.jpg" \
-H "Content-Type: multipart/form-data; boundary=$BOUNDARY" \
-H "X-Webhook-Timestamp: $TS" \
-H "X-Webhook-Nonce: $NONCE" \
-H "X-Webhook-Signature: sha256=$SIG" \
--data-binary @"$TMP"
rm -f "$TMP"
충돌 정책 선택하기
같은 이름의 파일을 다시 받았을 때 처리할 방법을 정합니다. 웹훅을 만들 때 선택하며, 생성한 뒤에도 같은 화면에서 다시 조정하고 적용을 선택해 바꿀 수 있습니다.
| 정책 | 동작 |
|---|---|
거부 | 같은 이름의 파일이 있으면 새로 받은 파일을 저장하지 않습니다. |
덮어쓰기 | 기존 파일을 새로 받은 파일로 바꿉니다. |
이름 변경 | 기존 파일은 그대로 두고, 새로 받은 파일을 다른 이름으로 저장합니다. |
파일명 지정하기
업로드하는 파일의 이름은 다음 두 가지 방법 중 하나로 지정합니다.
- 쿼리 파라미터:
?filename=report.json - HTTP 헤더:
X-Webhook-Filename: report.json

받은 데이터 확인
외부에서 보낸 데이터는 폴더에 파일로 쌓입니다. 폴더를 열어 수신 내역을 확인합니다.
웹훅 일시정지 및 삭제
- 폴더에서, 웹훅을 일시정지하거나 삭제할 수 있습니다. 목록에서 웹훅에 마우스를 올리면 일시정지·삭제 버튼이 나타납니다.

- 내가 어느 폴더에 웹훅을 설정했는지를
계정 설정의내 웹훅탭에서 한눈에 볼 수 있습니다. 이 목록에서도 웹훅을 일시정지하거나 삭제할 수 있습니다.

이렇게 쓰면 좋아요
- 홈페이지/화면 모니터링: Zapier, n8n, Make 등에서 정기적으로 캡처한 홈페이지 스크린샷을 자동으로 폴더에 쌓아 변경 이력을 추적할 수 있습니다.
- 업무 자동화 결과물 저장: RPA·자동화 툴에서 생성한 보고서, 인보이스, PDF 등을 사람 개입 없이 바로 폴더에 저장합니다.
- 폼 제출 첨부파일 수집: 구글 폼, Typeform 등에서 제출된 첨부파일을 자동으로 한 폴더에 모을 수 있습니다.
- 빌드/배포 산출물 저장: CI/CD 파이프라인에서 생성된 빌드 아티팩트나 테스트 리포트를 자동으로 전달받을 수 있습니다.