Slack과 Gmail을 사용한 설치 예약 승인 워크플로
중급
이것은Ticket Management, Multimodal AI분야의자동화 워크플로우로, 13개의 노드를 포함합니다.주로 If, Set, Gmail, Slack, FormTrigger 등의 노드를 사용하며. Slack 및 Gmail 양식을 활용한 설치 예약 승인 자동화
사전 요구사항
- •Google 계정 및 Gmail API 인증 정보
- •Slack Bot Token 또는 Webhook URL
사용된 노드 (13)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "F3ZBYce4AMuybZcF",
"meta": {
"instanceId": "efe08e2da7cae43f565dfacaafdb0e67025886141ccd3ddbe001880f7b5ecf5b"
},
"name": "Installation Booking Approval Workflow with Slack and Gmail",
"tags": [],
"nodes": [
{
"id": "57b8a226-402b-42cf-b6bb-090195a862d9",
"name": "폼 트리거: 설치 예약",
"type": "n8n-nodes-base.formTrigger",
"position": [
-16,
496
],
"webhookId": "711021d0-5405-4e16-a638-16e32c093f39",
"parameters": {
"options": {},
"formTitle": "Installation Schedule Booking Form",
"formFields": {
"values": [
{
"fieldLabel": "Full Name",
"requiredField": true
},
{
"fieldType": "email",
"fieldLabel": "Email Address",
"requiredField": true
},
{
"fieldLabel": "Phone Number",
"requiredField": true
},
{
"fieldType": "=date",
"fieldLabel": "Booking Date",
"fieldOptions": {
"values": [
{}
]
},
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "Preferred Time (PST)",
"fieldOptions": {
"values": [
{
"option": "09:00"
},
{
"option": "11:00"
},
{
"option": "14:00"
},
{
"option": "16:00"
}
]
},
"requiredField": true
}
]
},
"formDescription": "Installation Schedule Booking Form"
},
"typeVersion": 2.2
},
{
"id": "9f165f71-d038-49d0-8277-41c42a8ab0af",
"name": "필드 설정: 구성 변수",
"type": "n8n-nodes-base.set",
"position": [
240,
496
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "1c5bdf30-d39c-42ac-a780-dc5c35a6aa17",
"name": "CUSTOMER_NAME",
"type": "string",
"value": "={{ $('Form Trigger: Installation Booking').item.json['Full Name'] }}"
},
{
"id": "3b70d00a-c884-4721-b9cb-018ed47e4818",
"name": "CUSTOMER_EMAIL",
"type": "string",
"value": "={{ $('Form Trigger: Installation Booking').item.json['Email Address'] }}"
},
{
"id": "4c70d00a-c884-4721-b9cb-018ed47e4819",
"name": "CUSTOMER_PHONE",
"type": "string",
"value": "={{ $('Form Trigger: Installation Booking').item.json['Phone Number'] }}"
},
{
"id": "5c70d00a-c884-4721-b9cb-018ed47e4820",
"name": "BOOKING_DATE",
"type": "string",
"value": "={{ $('Form Trigger: Installation Booking').item.json['Booking Date'] }}"
},
{
"id": "6c70d00a-c884-4721-b9cb-018ed47e4821",
"name": "BOOKING_TIME",
"type": "string",
"value": "={{ $('Form Trigger: Installation Booking').item.json['Preferred Time (PST)'] }}"
},
{
"id": "7c70d00a-c884-4721-b9cb-018ed47e4822",
"name": "SLACK_CHANNEL_ID",
"type": "string",
"value": "#installations"
},
{
"id": "8c70d00a-c884-4721-b9cb-018ed47e4823",
"name": "COMPANY_NAME",
"type": "string",
"value": "Your Company Name"
},
{
"id": "9c70d00a-c884-4721-b9cb-018ed47e4824",
"name": "CONTACT_PERSON",
"type": "string",
"value": "Your Name"
},
{
"id": "10c70d00a-c884-4721-b9cb-018ed47e4825",
"name": "RESCHEDULE_LINK",
"type": "string",
"value": "https://your-booking-form-url.com"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "9242d614-bc41-4dd9-9b68-ff2938d128d4",
"name": "Slack: 승인 요청",
"type": "n8n-nodes-base.slack",
"position": [
496,
496
],
"webhookId": "99741701-02dc-46e6-b578-d492b7de6983",
"parameters": {
"select": "channel",
"message": "=🔧 **New Installation Request**\n\n👤 **Customer:** {{ $json.CUSTOMER_NAME }}\n📧 **Email:** {{ $json.CUSTOMER_EMAIL }}\n📞 **Phone:** {{ $json.CUSTOMER_PHONE }}\n\n📅 **Requested Date/Time:** {{ $json.BOOKING_DATE }} at {{ $json.BOOKING_TIME }} PST\n\n❓ **Do we have an available installer for this slot?**",
"options": {},
"channelId": {
"__rl": true,
"mode": "list",
"value": ""
},
"operation": "sendAndWait",
"approvalOptions": {
"values": {
"approvalType": "double",
"disapproveLabel": "No installer available"
}
}
},
"typeVersion": 2.3
},
{
"id": "7331465f-d0d0-47a2-8451-5aab04607305",
"name": "조건문: 승인 상태 확인",
"type": "n8n-nodes-base.if",
"position": [
736,
496
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d0117e5a-8b9a-407a-8412-1c7decbdd759",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json.data.approved }}",
"rightValue": "Approve"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "a751b5f3-ed2e-4a93-b061-539688520478",
"name": "Gmail: 확인 이메일 전송",
"type": "n8n-nodes-base.gmail",
"position": [
992,
384
],
"webhookId": "3052ddc4-ba25-47ca-bb42-c7a55652901a",
"parameters": {
"sendTo": "={{ $('Set Fields: Configuration Variables').item.json.CUSTOMER_EMAIL }}",
"message": "=Hi {{ $('Set Fields: Configuration Variables').item.json.CUSTOMER_NAME }},\n\nGreat news! We've confirmed your installation appointment.\n\n📅 **Date:** {{ $('Set Fields: Configuration Variables').item.json.BOOKING_DATE }}\n⏰ **Time:** {{ $('Set Fields: Configuration Variables').item.json.BOOKING_TIME }} PST\n\nOur installer will contact you shortly to confirm final details and provide any preparation instructions.\n\nIf you need to make any changes, please contact us as soon as possible.\n\nBest regards,\n{{ $('Set Fields: Configuration Variables').item.json.CONTACT_PERSON }}\n{{ $('Set Fields: Configuration Variables').item.json.COMPANY_NAME }}",
"options": {},
"subject": "=✅ Installation Confirmed - {{ $('Set Fields: Configuration Variables').item.json.BOOKING_DATE }}",
"emailType": "text"
},
"typeVersion": 2.1
},
{
"id": "852c2a56-3558-44ac-9af9-1cd28bedb52b",
"name": "Gmail: 재예약 이메일 전송",
"type": "n8n-nodes-base.gmail",
"position": [
992,
592
],
"webhookId": "13839f70-e63f-4ec3-b526-00aa455fd899",
"parameters": {
"sendTo": "={{ $('Set Fields: Configuration Variables').item.json.CUSTOMER_EMAIL }}",
"message": "=Hi {{ $('Set Fields: Configuration Variables').item.json.CUSTOMER_NAME }},\n\nThank you for your interest in our installation services.\n\nUnfortunately, we don't have an installer available for your requested time slot:\n📅 **Date:** {{ $('Set Fields: Configuration Variables').item.json.BOOKING_DATE }}\n⏰ **Time:** {{ $('Set Fields: Configuration Variables').item.json.BOOKING_TIME }} PST\n\nPlease reschedule your appointment using this link:\n🔗 {{ $('Set Fields: Configuration Variables').item.json.RESCHEDULE_LINK }}\n\nWe apologize for any inconvenience and look forward to serving you at a different time.\n\nBest regards,\n{{ $('Set Fields: Configuration Variables').item.json.CONTACT_PERSON }}\n{{ $('Set Fields: Configuration Variables').item.json.COMPANY_NAME }}",
"options": {},
"subject": "=⏰ Please Reschedule Your Installation",
"emailType": "text"
},
"typeVersion": 2.1
},
{
"id": "665cac83-98f4-4789-ab7a-11754f9bc0fa",
"name": "스티커 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-48,
-208
],
"parameters": {
"width": 736,
"height": 672,
"content": "## 🔧 Installation Booking Approval Workflow\n\n**What this workflow does:**\nAutomates the approval process for installation bookings by collecting form submissions, requesting team approval via Slack, and sending automated email responses.\n\n**Who's it for:**\nService businesses that need to:\n- Collect installation booking requests\n- Get team approval before confirming appointments\n- Send automated email confirmations or reschedule requests\n\n**How it works:**\n1. Customer fills out installation booking form\n2. Team gets notified via Slack with approval buttons\n3. Based on approval/rejection, customer receives confirmation or reschedule email\n\n**Setup Requirements:**\n- Slack workspace with channel for notifications\n- Gmail account for sending emails\n- Form trigger URL to embed on your website\n\n**Configuration:**\nUpdate the variables in the \"Set Fields\" node:\n- SLACK_CHANNEL_ID: Your Slack channel\n- COMPANY_NAME: Your business name\n- CONTACT_PERSON: Your name\n- RESCHEDULE_LINK: Link to your booking form\n\n**Security Note:**\nNo API keys are hardcoded - all credentials are managed through n8n's secure connection system."
},
"typeVersion": 1
},
{
"id": "0abbb78d-aaac-41ca-aab5-ca1653b43b2c",
"name": "스티커 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-32,
672
],
"parameters": {
"width": 200,
"height": 140,
"content": "**Step 1**\nCustomer submits installation booking form with contact details and preferred date/time"
},
"typeVersion": 1
},
{
"id": "faf5a165-9a69-42c9-be57-abb67e209269",
"name": "스티커 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
224,
672
],
"parameters": {
"width": 200,
"height": 140,
"content": "**Step 2**\nSet up configuration variables that can be easily customized for your business"
},
"typeVersion": 1
},
{
"id": "a89a9974-8b5a-4c5c-b79f-88df7961493a",
"name": "스티커 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
464,
672
],
"parameters": {
"width": 200,
"height": 140,
"content": "**Step 3**\nSend formatted message to Slack channel with approval buttons for the team"
},
"typeVersion": 1
},
{
"id": "5cf683dc-bbdc-4f59-ac2b-aacb72efe823",
"name": "스티커 노트4",
"type": "n8n-nodes-base.stickyNote",
"position": [
720,
672
],
"parameters": {
"width": 200,
"height": 140,
"content": "**Step 4**\nCheck if the team approved or rejected the booking request"
},
"typeVersion": 1
},
{
"id": "4d48f4a4-d01b-4e39-b3f5-23e6d101bd06",
"name": "스티커 노트5",
"type": "n8n-nodes-base.stickyNote",
"position": [
976,
272
],
"parameters": {
"width": 200,
"height": 140,
"content": "**Step 5A**\nSend confirmation email if approved with appointment details"
},
"typeVersion": 1
},
{
"id": "c8f5c8fc-9fb0-481a-9070-5b4f285aa97e",
"name": "스티커 노트6",
"type": "n8n-nodes-base.stickyNote",
"position": [
976,
768
],
"parameters": {
"width": 200,
"height": 140,
"content": "**Step 5B**\nSend reschedule email if rejected with link to book new time"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "bb882f11-e83f-4520-ae9a-c62690c0abf2",
"connections": {
"9242d614-bc41-4dd9-9b68-ff2938d128d4": {
"main": [
[
{
"node": "7331465f-d0d0-47a2-8451-5aab04607305",
"type": "main",
"index": 0
}
]
]
},
"7331465f-d0d0-47a2-8451-5aab04607305": {
"main": [
[
{
"node": "a751b5f3-ed2e-4a93-b061-539688520478",
"type": "main",
"index": 0
}
],
[
{
"node": "852c2a56-3558-44ac-9af9-1cd28bedb52b",
"type": "main",
"index": 0
}
]
]
},
"57b8a226-402b-42cf-b6bb-090195a862d9": {
"main": [
[
{
"node": "9f165f71-d038-49d0-8277-41c42a8ab0af",
"type": "main",
"index": 0
}
]
]
},
"9f165f71-d038-49d0-8277-41c42a8ab0af": {
"main": [
[
{
"node": "9242d614-bc41-4dd9-9b68-ff2938d128d4",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 티켓 관리, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
의결 절차를 포함한 AI 광고 문구 생성기
OpenAI와 Slack을 사용하여 Meta와 TikTok 광고 문서 생성
If
Set
Slack
+
If
Set
Slack
20 노드Chris Rudy
콘텐츠 제작
자동화된 마케팅 에이전시 고객 온보딩: Typeform에서 GDrive + AI 연구까지
자동화된 마케팅 에이전시 고객 온보딩: Typeform에서 GDrive + OpenAI 연구까지
If
Gmail
Slack
+
If
Gmail
Slack
45 노드Chris Rudy
멀티모달 AI
Meta 광고 배치 도우미(구글 드라이브 및 Slack 알림 통합) V1.2
Google Drive와 Slack 알림을 통합한 Meta 광고 배치 스타트업
If
Set
Code
+
If
Set
Code
40 노드Chris Rudy
소셜 미디어
Gmail과 GPT 기반 AI 기반 이메일 분류 및 자동 응답 시스템
GPT-4.1-mini 분류와 Gmail 자동 회신을 사용한 이메일 분류 자동화
If
Set
Gmail
+
If
Set
Gmail
24 노드Giovanni Beggiato
티켓 관리
AI 기반 이메일 자동 응답기 (사람 확인 포함)
GPT와 인간 검증 루프를 사용한 Gmail 회신 자동화
If
Set
Code
+
If
Set
Code
20 노드Nick Canfield
티켓 관리
Claude AI와 자동 업그레이드를 사용하여 공감형 고객 답변 생성
사용하여 Claude AI와 자동 업그레이드를 통해 공감형 고객 답변 생성
If
Set
Code
+
If
Set
Code
21 노드Yusuke
티켓 관리
워크플로우 정보
난이도
중급
노드 수13
카테고리2
노드 유형6
저자
Chris Rudy
@chrisrudyDTC Marketing consultant with over 6 years of experience and over $25m in ad spend managed
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유