공부/it 개발

zapier(자피어)로 웹훅 사용하기

묵묵님 2025. 2. 18. 07:56
반응형

Zapier는 다양한 웹 애플리케이션과 서비스를 서로 연결해주는 자동화 플랫폼입니다. 사용자는 코드를 작성하지 않고도 서로 다른 앱 간에 데이터를 주고받거나 작업을 자동으로 수행할 수 있도록 워크플로우(“Zap”)를 만들 수 있습니다.

주요 특징

  1. 노코드(No-Code) 자동화
    • 프로그래밍 지식 없이도 여러 앱 간의 자동화 워크플로우를 구성할 수 있습니다.
    • 직관적인 인터페이스를 통해 트리거와 액션을 설정합니다.
  2. 다양한 앱 통합
    • Gmail, Slack, Google Sheets, Trello, Salesforce 등 수천 개의 앱과 서비스와 연동이 가능합니다.
    • 앱 간에 데이터를 전달하거나 특정 이벤트 발생 시 자동으로 작업을 실행할 수 있습니다.
  3. 트리거와 액션
    • 트리거(Trigger): 특정 앱에서 이벤트가 발생할 때 워크플로우가 시작됩니다. 예를 들어, 이메일 수신, 신규 예약 생성 등이 있습니다.
    • 액션(Action): 트리거에 의해 시작된 워크플로우가 실행할 작업입니다. 예를 들어, 데이터를 다른 앱으로 전송하거나 Slack 메시지를 보내는 등의 작업을 설정할 수 있습니다.
  4. 유연한 설정과 커스터마이징
    • Zapier 내의 필터, 포맷터, 코드 스텝(Code by Zapier) 등을 활용하여 복잡한 조건이나 데이터 변환 작업도 자동화할 수 있습니다.
  5. 비즈니스 프로세스 자동화
    • 반복적인 업무를 줄이고, 여러 시스템 간의 데이터를 자동으로 동기화하여 업무 효율성을 높일 수 있습니다.
    • 이메일 알림, 데이터 업데이트, 파일 백업 등 다양한 작업에 활용할 수 있습니다.

 

웹훅(Webhook)은 애플리케이션 간에 실시간으로 데이터를 전달할 수 있도록 HTTP 요청(보통 POST)을 사용하는 방식입니다. 주로 어떤 이벤트가 발생할 때 다른 시스템에 알림을 보내거나 데이터를 전달하는 데 사용됩니다.

주요 특징

  1. 실시간 데이터 전달
    • 특정 이벤트(예: 예약 완료, 주문 생성, 사용자 가입 등)가 발생하면, 웹훅을 통해 미리 지정된 URL로 데이터를 자동으로 전송합니다.
  2. HTTP 기반 통신
    • 일반적으로 HTTP POST 요청을 사용하며, JSON과 같은 포맷으로 데이터를 전달합니다.
  3. 자동화 및 통합
    • 다른 시스템이나 서비스와의 연동을 자동화할 수 있어, 별도의 폴링 없이도 실시간 업데이트가 가능합니다.
    • 예를 들어, Zapier, IFTTT 등의 서비스는 웹훅을 이용해 다양한 앱 간의 자동화 워크플로우를 구성할 수 있습니다.
  4. 비동기적 처리
    • 이벤트가 발생하면 해당 정보를 즉시 외부 시스템에 전달하지만, 이 요청은 비동기적으로 처리되므로 원래 애플리케이션의 흐름에 큰 영향을 주지 않습니다.

 

Zapier(자피어)로 웹훅 사용

저는 되는시간 서비스에서 자피어로 연동을 한 후 자피어에서 웹훅을 사용해 데이터를 받아오는 작업을 하였습니다.

되는시간 서비스를 기준으로 과정은 크게 스케줄 생성과 POST이며, 아래와 같습니다.

 

스케줄 생성

1. 스케줄을 생성한 후 되는시간(연결할 앱)을 선택한다.

2. 트리거 이벤트를 선택한다. (저는 미팅 예약/취소를 각각 트리거로 선택했습니다)

3. 되는시간에서 자피어 연동된 계정 정보를 입력한다.

4. 설정값을 입력 후 테스트를 진행하면 샘플 데이터를 제공해줍니다.

자피어 스케줄 생성

 

POST

1. action event를 post로 선택한다.

2. 연결할 url을 입력한다. (웹훅을 받아오기 위한 api) --> 로컬에서 테스트를 하신다면 ngrok으로 외부에서 로컬 서버 접속하기

3. payload type을 입력한다. (주로 Json)

4. 사용할 데이터 값을 연결한다.

5. 인증이나 헤더에 추가로 사용할 값을 입력한다.

6. 설정이 끝난 후 테스트를 진행하면 원하는 데이터 값을 가져올 수 있습니다.

 

위와 같이 한 후 데이터를 받아와서 원하는 로직을 구성해주면 됩니다 :)