Antigravity 자동화 클라이언트 온보딩 워크플로우 구축 가이드: 인테이크 폼, 문서 생성, CRM 연동
Antigravity로 자동화 클라이언트 온보딩 워크플로우 구축하기
신규 클라이언트 온보딩은 반복적이면서도 정확성이 요구되는 핵심 비즈니스 프로세스입니다. Antigravity의 워크플로우 엔진을 활용하면 인테이크 폼 제출부터 문서 자동 생성, CRM 데이터 동기화까지 전체 온보딩 파이프라인을 코드 기반으로 자동화할 수 있습니다. 이 가이드에서는 실무에서 바로 적용할 수 있는 완전한 온보딩 워크플로우를 단계별로 구축합니다.
사전 준비사항
- Node.js 18 이상 설치- Antigravity 계정 및 API 키 발급- CRM 시스템 접근 권한 (Salesforce, HubSpot 등)
Step 1: Antigravity CLI 설치 및 프로젝트 초기화
터미널에서 Antigravity CLI를 설치하고 새 워크플로우 프로젝트를 생성합니다.
# Antigravity CLI 전역 설치
npm install -g @antigravity/cli
버전 확인
antigravity —version
새 워크플로우 프로젝트 초기화
antigravity init client-onboarding —template workflow
cd client-onboarding
API 키 설정
antigravity config set apiKey YOUR_API_KEY
antigravity config set region ap-northeast-2
Step 2: 인테이크 폼 트리거 설정
클라이언트가 인테이크 폼을 제출하면 워크플로우가 자동으로 시작되도록 트리거를 정의합니다. workflows/onboarding.yml 파일을 생성합니다.
# workflows/onboarding.yml
name: client-onboarding
version: "1.0"
trigger:
type: form_submission
form_id: intake-form-001
fields:
- name: company_name
type: string
required: true
- name: contact_email
type: email
required: true
- name: contact_name
type: string
required: true
- name: service_tier
type: enum
options: [starter, professional, enterprise]
required: true
- name: industry
type: string
required: false
steps:
id: validate_input action: antigravity/validate params: rules: - field: contact_email validator: email_format - field: company_name validator: not_empty인테이크 폼을 Antigravity 호스팅 형태로 배포합니다.
# 인테이크 폼 배포 antigravity forms deploy intake-form-001 —config workflows/onboarding.yml
배포된 폼 URL 확인
antigravity forms info intake-form-001
Step 3: 문서 자동 생성 파이프라인 구성
인테이크 데이터를 기반으로 환영 문서, 계약서 초안, 서비스 안내서를 자동 생성하는 단계를 추가합니다. workflows/onboarding.yml의 steps 섹션에 다음을 추가합니다.
- id: generate_welcome_doc
action: antigravity/document-generate
params:
template_id: welcome-packet-v2
output_format: pdf
variables:
client_name: "{{trigger.company_name}}"
contact_person: "{{trigger.contact_name}}"
tier: "{{trigger.service_tier}}"
onboard_date: "{{now | date:'YYYY-MM-DD'}}"
output: welcome_document
-
id: generate_contract action: antigravity/document-generate params: template_id: service-agreement-{{trigger.service_tier}} output_format: pdf variables: company_name: “{{trigger.company_name}}” contact_email: “{{trigger.contact_email}}” effective_date: “{{now | date:‘YYYY-MM-DD’}}” output: contract_document
id: send_documents action: antigravity/email-send depends_on: [generate_welcome_doc, generate_contract] params: to: “{{trigger.contact_email}}” subject: “{{trigger.company_name}}님, 온보딩 문서를 확인해주세요” template_id: onboarding-email-template attachments: - “{{steps.generate_welcome_doc.output.file_url}}” - “{{steps.generate_contract.output.file_url}}“문서 템플릿은 Antigravity 대시보드에서 관리하거나 CLI로 업로드할 수 있습니다.
# 문서 템플릿 업로드 antigravity templates upload ./templates/welcome-packet-v2.html —id welcome-packet-v2 antigravity templates upload ./templates/service-agreement-starter.html —id service-agreement-starter
템플릿 목록 확인
antigravity templates list
Step 4: CRM 동기화 단계 연결
생성된 클라이언트 정보를 CRM에 자동으로 동기화합니다. 워크플로우 파일에 CRM 연동 단계를 추가합니다.
- id: crm_create_contact
action: antigravity/crm-sync
params:
provider: hubspot
credentials_key: HUBSPOT_API_KEY
operation: upsert_contact
data:
email: "{{trigger.contact_email}}"
firstname: "{{trigger.contact_name | split:' ' | first}}"
lastname: "{{trigger.contact_name | split:' ' | last}}"
company: "{{trigger.company_name}}"
lifecycle_stage: customer
output: crm_contact
-
id: crm_create_deal action: antigravity/crm-sync depends_on: [crm_create_contact] params: provider: hubspot credentials_key: HUBSPOT_API_KEY operation: create_deal data: deal_name: “{{trigger.company_name}} - {{trigger.service_tier}} 온보딩” stage: onboarding contact_id: “{{steps.crm_create_contact.output.contact_id}}” properties: service_tier: “{{trigger.service_tier}}” onboarding_status: in_progress output: crm_deal
id: notify_team action: antigravity/webhook depends_on: [crm_create_deal, send_documents] params: url: “{{env.SLACK_WEBHOOK_URL}}” method: POST body: text: “새 클라이언트 온보딩 시작: {{trigger.company_name}} ({{trigger.service_tier}}) - CRM Deal: {{steps.crm_create_deal.output.deal_id}}“CRM 인증 정보를 안전하게 등록합니다.
# CRM 인증 정보 등록 (암호화 저장) antigravity secrets set HUBSPOT_API_KEY YOUR_HUBSPOT_API_KEY antigravity secrets set SLACK_WEBHOOK_URL YOUR_SLACK_WEBHOOK_URL
등록된 시크릿 확인
antigravity secrets list
Step 5: 워크플로우 배포 및 테스트
# 워크플로우 유효성 검사
antigravity workflow validate workflows/onboarding.yml
# 스테이징 환경에 배포
antigravity workflow deploy workflows/onboarding.yml --env staging
# 테스트 데이터로 실행
antigravity workflow test workflows/onboarding.yml --data '{
"company_name": "테스트 주식회사",
"contact_email": "test@example.com",
"contact_name": "김테스트",
"service_tier": "professional",
"industry": "IT"
}'
# 실행 로그 확인
antigravity workflow logs --last 1 --verbose
# 프로덕션 배포
antigravity workflow deploy workflows/onboarding.yml --env production
전체 워크플로우 아키텍처 요약
| 단계 | 액션 | 설명 |
|---|---|---|
| 1. 트리거 | form_submission | 인테이크 폼 제출 시 워크플로우 자동 시작 |
| 2. 검증 | validate | 입력 데이터 유효성 검사 |
| 3. 문서 생성 | document-generate | 환영 패킷 및 계약서 PDF 자동 생성 |
| 4. 이메일 발송 | email-send | 생성 문서를 클라이언트에게 발송 |
| 5. CRM 동기화 | crm-sync | 연락처 및 딜 자동 생성/업데이트 |
| 6. 팀 알림 | webhook | Slack으로 온보딩 시작 알림 |
service_tier 값에 따라 다른 문서 템플릿과 CRM 파이프라인을 적용하려면 condition 키를 사용하세요. 예: condition: "{{trigger.service_tier}} == 'enterprise'"- **재시도 정책 설정:** CRM API 호출 실패에 대비하여 각 단계에 retry: { max_attempts: 3, backoff: exponential }를 추가하세요.- **병렬 실행 최적화:** depends_on이 없는 독립 단계들은 자동으로 병렬 실행됩니다. 문서 생성과 CRM 연락처 생성을 동시에 실행하면 전체 소요 시간을 40% 이상 단축할 수 있습니다.- **워크플로우 버전 관리:** antigravity workflow history onboarding 명령으로 배포 이력을 추적하고, 문제 발생 시 antigravity workflow rollback onboarding --to v1.2로 즉시 롤백하세요.- **커스텀 변환 필터:** 템플릿 변수에 | uppercase, | truncate:50 등 내장 필터를 체이닝하여 데이터를 변환할 수 있습니다.
## Troubleshooting: 일반적인 오류 해결
| 오류 메시지 | 원인 | 해결 방법 |
|---|---|---|
TRIGGER_FORM_NOT_FOUND | 폼 ID가 배포된 폼과 불일치 | antigravity forms list로 정확한 form_id를 확인하고 워크플로우 파일을 수정하세요. |
TEMPLATE_RENDER_ERROR | 템플릿 변수명과 트리거 필드 불일치 | 변수명의 오타를 확인하고, antigravity templates preview 로 렌더링을 테스트하세요. |
CRM_AUTH_FAILED | CRM API 키 만료 또는 권한 부족 | antigravity secrets update HUBSPOT_API_KEY로 키를 갱신하고, CRM 대시보드에서 API 스코프 권한을 확인하세요. |
STEP_TIMEOUT | 외부 API 응답 지연 (기본 30초) | 해당 단계에 timeout: 60을 추가하거나, CRM/이메일 서비스의 상태를 확인하세요. |
WORKFLOW_VALIDATION_ERROR | YAML 구문 오류 또는 필수 필드 누락 | antigravity workflow validate 출력의 라인 번호를 확인하고 YAML 들여쓰기를 점검하세요. |
Q1: Antigravity 온보딩 워크플로우에서 HubSpot 외에 다른 CRM도 지원하나요?
네, Antigravity의 crm-sync 액션은 HubSpot, Salesforce, Pipedrive, Zoho CRM 등 주요 CRM 플랫폼을 기본 지원합니다. provider 파라미터 값만 변경하면 동일한 워크플로우 구조로 다른 CRM에 연결할 수 있습니다. 지원 목록에 없는 CRM의 경우 antigravity/http-request 액션으로 REST API를 직접 호출하여 커스텀 연동이 가능합니다.
Q2: 인테이크 폼 제출 후 워크플로우가 실행되지 않을 때 어떻게 디버깅하나요?
antigravity workflow logs —filter trigger=intake-form-001 —last 10 명령으로 트리거 이벤트 수신 로그를 먼저 확인하세요. 이벤트가 기록되지 않았다면 폼 배포 상태를 antigravity forms info intake-form-001로 점검합니다. 이벤트가 수신되었으나 단계 실행이 안 되면 —verbose 플래그를 추가하여 각 단계의 입력값과 조건 평가 결과를 확인할 수 있습니다.
Q3: 워크플로우 실행 도중 특정 단계가 실패하면 어떻게 되나요?
기본적으로 단계 실패 시 해당 단계와 의존 단계가 중지되며, 독립적인 다른 단계는 계속 실행됩니다. 실패 처리를 커스터마이즈하려면 각 단계에 on_failure 블록을 추가하여 대체 동작(알림 전송, 수동 검토 큐 이동 등)을 정의할 수 있습니다. 또한 retry 설정으로 일시적 오류에 대한 자동 재시도를 구성하는 것을 권장합니다.