This workflow corresponds to n8n.io template #12479 — we link there as the canonical source.
This workflow follows the Gmail → Google Docs recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "mt9u876zDDmTYQTr",
"name": "Automate client onboarding: form to Asana projects, contracts & Slack",
"tags": [],
"nodes": [
{
"id": "37d58c0b-bad3-49c2-bea9-3b82ef14d325",
"name": "Workflow Overview",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1552,
-720
],
"parameters": {
"width": 380,
"height": 604,
"content": "## \ud83d\ude80 Client Onboarding Automation\n\n### How it works\nThis workflow automates the complete client onboarding process for service businesses. When a new client submits their intake form, the workflow creates a project in Asana with all necessary tasks, generates a customized service agreement from a Google Docs template, emails the contract to the client, and sets up communication channels. All client data is logged to Google Sheets for tracking.\n\n### Setup steps\n1. Connect your Asana, Google Docs, Google Drive, Gmail, Google Sheets, and Slack accounts\n2. Create a template project in Asana with your standard onboarding sections and tasks\n3. Set up a Google Docs template with placeholder text for contract generation\n4. Configure the webhook endpoint in your intake form\n5. Update template IDs and workspace references to match your setup\n6. Test with sample data to verify the flow"
},
"typeVersion": 1
},
{
"id": "3e81cdc7-2f5b-47b1-99dd-9de7745be778",
"name": "Section: Intake",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1552,
-48
],
"parameters": {
"color": 2,
"width": 408,
"height": 304,
"content": "## \ud83d\udce5 Webhook & Data Processing\n\nReceives client intake form data via webhook POST request and parses 70+ fields including contact info, business details, technical requirements, and service preferences."
},
"typeVersion": 1
},
{
"id": "42cccc9d-1a75-43e4-9c43-896c21a21dd2",
"name": "Section: Project",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1088,
-48
],
"parameters": {
"color": 2,
"width": 540,
"height": 340,
"content": "## \ud83d\udccb Asana Project Setup\n\nCreates a new Asana project for the client, copies sections from a template project, retrieves all tasks from each section, and assigns them to the new project to ensure consistent onboarding structure."
},
"typeVersion": 1
},
{
"id": "a886b332-84ea-4807-94f9-a67c73aee5e0",
"name": "Section: Contract",
"type": "n8n-nodes-base.stickyNote",
"position": [
-272,
-256
],
"parameters": {
"color": 2,
"width": 704,
"height": 596,
"content": "## \ud83d\udcc4 Contract Generation\n\nRetrieves a Google Docs template, replaces placeholders with client-specific information (name, fees, dates), downloads the personalized contract as PDF, then resets the template for the next client."
},
"typeVersion": 1
},
{
"id": "6a0334f9-d3ce-4e70-8b7b-e94af4733673",
"name": "Section: Email",
"type": "n8n-nodes-base.stickyNote",
"position": [
480,
-240
],
"parameters": {
"color": 2,
"width": 612,
"height": 380,
"content": "## \ud83d\udce7 Client Communication\n\nSends a personalized welcome email to the client with their contract attached, includes links to schedule an onboarding call and complete additional forms."
},
"typeVersion": 1
},
{
"id": "b5af3c12-c85a-4b3b-8b5c-7f2d2855da9b",
"name": "Section: Logging",
"type": "n8n-nodes-base.stickyNote",
"position": [
1120,
-224
],
"parameters": {
"color": 2,
"width": 496,
"height": 352,
"content": "## \ud83d\udcbe Data Logging & Team Setup\n\nLogs all client information to Google Sheets for centralized tracking and creates a dedicated Slack channel for team communication about the new client."
},
"typeVersion": 1
},
{
"id": "b573b682-2c0e-49be-86e9-2bff4f4202b7",
"name": "Credentials Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1664,
-32
],
"parameters": {
"color": 3,
"width": 300,
"height": 228,
"content": "## \ud83d\udd10 Credentials & Security\n\nRequired: Asana OAuth2, Google Docs/Drive/Sheets OAuth2, Gmail OAuth2, Slack API token. Replace all template IDs, workspace numbers, and email addresses with your own before publishing."
},
"typeVersion": 1
},
{
"id": "d9f1fe53-dfe3-4ff0-946b-cf0bae5d41fc",
"name": "Receive Client Form",
"type": "n8n-nodes-base.webhook",
"position": [
-1520,
112
],
"parameters": {
"path": "client-onboard",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2.1
},
{
"id": "b3e11653-440c-4c40-9ad3-893eb83706a5",
"name": "Create Slack Channel",
"type": "n8n-nodes-base.slack",
"position": [
1456,
-80
],
"parameters": {
"resource": "channel",
"channelId": "onboarding"
},
"typeVersion": 2.3
},
{
"id": "f4d5ea32-62ce-4392-8e42-0fe9bff47360",
"name": "Create Asana Project",
"type": "n8n-nodes-base.asana",
"position": [
-1072,
112
],
"parameters": {
"name": "={{ $json.primary_contact_name }} Onboarding ",
"team": "[YOUR_TEAM_ID]",
"resource": "project",
"operation": "create",
"workspace": "[YOUR_WORKSPACE_ID]",
"authentication": "oAuth2",
"additionalFields": {}
},
"typeVersion": 1
},
{
"id": "8d753db9-97e1-4ac9-a2ec-2562a94b8223",
"name": "Get Template Sections",
"type": "n8n-nodes-base.httpRequest",
"position": [
-848,
112
],
"parameters": {
"url": "=https://app.asana.com/api/1.0/projects/[TEMPLATE_PROJECT_ID]/sections",
"options": {},
"authentication": "predefinedCredentialType",
"nodeCredentialType": "asanaOAuth2Api"
},
"typeVersion": 4.2
},
{
"id": "acb2bf03-b1b9-4af2-9992-40379811b6fc",
"name": "Split Sections",
"type": "n8n-nodes-base.splitOut",
"position": [
-624,
112
],
"parameters": {
"options": {},
"fieldToSplitOut": "data"
},
"typeVersion": 1
},
{
"id": "51469d15-88cd-4ae7-9c3f-44cf23cbac0d",
"name": "Create Section in New Project",
"type": "n8n-nodes-base.httpRequest",
"position": [
-176,
112
],
"parameters": {
"url": "=https://app.asana.com/api/1.0/projects/{{ $('Create Asana Project').item.json.gid }}/sections",
"method": "POST",
"options": {},
"jsonBody": "={\n \"data\": {\n \"name\": \"{{ $json.name }}\"\n }\n}\n",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "asanaOAuth2Api"
},
"typeVersion": 4.2
},
{
"id": "528863c8-70ce-4284-a076-be34abcbbff2",
"name": "Loop Through Sections",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-400,
112
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "e47cf2cf-885d-4610-9422-64e1c65bad38",
"name": "Get Tasks from Template Section",
"type": "n8n-nodes-base.asana",
"position": [
64,
112
],
"parameters": {
"filters": {
"section": "={{ $('Loop Through Sections').item.json.gid }}"
},
"operation": "getAll",
"authentication": "oAuth2"
},
"typeVersion": 1
},
{
"id": "0f1d6dd5-f8f0-4d0b-975f-d48a31f1007b",
"name": "Add Task to New Project",
"type": "n8n-nodes-base.asana",
"position": [
288,
192
],
"parameters": {
"id": "={{ $json.gid }}",
"project": "={{ $('Create Section in New Project').item.json.data.project.gid }}",
"resource": "taskProject",
"authentication": "oAuth2",
"additionalFields": {
"section": "={{ $('Create Section in New Project').item.json.data.gid }}"
}
},
"typeVersion": 1
},
{
"id": "67a105b4-cadf-4659-9fba-8793e8be5478",
"name": "Send Welcome Email with Contract",
"type": "n8n-nodes-base.gmail",
"position": [
736,
-80
],
"parameters": {
"sendTo": "={{ $('Parse Client Data').item.json.primary_contact_email }}",
"message": "=Hi {{ $('Parse Client Data').item.json.primary_contact_name }},\n\nWelcome aboard! \ud83c\udf89\n\nYour onboarding project has been successfully created in Asana.\n\n\ud83d\udccc Project Name:\n {{ $('Parse Client Data').item.json.brand_name }} Onboarding\n\nOur team has already set up all phases and tasks to get you started smoothly.\n\n\ud83d\udcc5 Book Your Onboarding Call\nTo kick things off, please book a convenient time for your onboarding call using the link below:\n\ud83d\udc49 [YOUR_CALENDLY_LINK]\n\nPlease fill the form for additional details: [YOUR_FORM_LINK]\n\nIf you have any questions before the call, feel free to reply to this email \u2014 we're happy to help.\n\nLooking forward to working with you!\n\nBest regards, \n[Your Team Name]\n",
"options": {
"attachmentsUi": {
"attachmentsBinary": [
{}
]
}
},
"subject": "=Welcome to Your Onboarding Project {{ $('Parse Client Data').item.json.primary_contact_name }} \ud83c\udf89",
"emailType": "text"
},
"typeVersion": 2.1
},
{
"id": "037e36ab-75d7-4ba4-8793-03ed5a4acb02",
"name": "Wait for All Tasks",
"type": "n8n-nodes-base.aggregate",
"position": [
-176,
-80
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "success"
}
]
}
},
"typeVersion": 1
},
{
"id": "6eb823bd-b9b6-4826-a0ce-e8ef1def9c5d",
"name": "Parse Client Data",
"type": "n8n-nodes-base.set",
"position": [
-1296,
112
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "6bc865aa-8d24-42f2-8f8f-8dff56baf87d",
"name": "legal_business_name",
"type": "string",
"value": "={{ $json.body.legal_business_name }}"
},
{
"id": "c2ae1e36-9a43-4a74-a213-af8ea2e0fcbd",
"name": "brand_name",
"type": "string",
"value": "={{ $json.body.brand_name }}"
},
{
"id": "2133d1e2-8ecf-4a50-aedd-daca3c2059bf",
"name": "primary_contact_name",
"type": "string",
"value": "={{ $json.body.primary_contact_name }}"
},
{
"id": "a9aade76-364a-4cf7-a994-35686f03669f",
"name": "primary_contact_email",
"type": "string",
"value": "={{ $json.body.primary_contact_email }}"
},
{
"id": "e766aefb-e53e-4146-b843-9c373846f6b3",
"name": "primary_contact_role",
"type": "string",
"value": "={{ $json.body.primary_contact_role }}"
},
{
"id": "52e58b96-f55f-481d-b07a-73c0ddd3c4bf",
"name": "website",
"type": "string",
"value": "={{ $json.body.website }}"
},
{
"id": "13ffbfe1-1b5b-4dfb-ab56-49466532d7d8",
"name": "client_type",
"type": "string",
"value": "={{ $json.body.client_type }}"
},
{
"id": "9fa648a8-a577-403f-bd65-fe9fa50d1244",
"name": "new_or_existing",
"type": "string",
"value": "={{ $json.body.new_or_existing }}"
},
{
"id": "98209289-3bde-443b-aabb-602646df0d28",
"name": "state_of_entity",
"type": "string",
"value": "={{ $json.body.state_of_entity }}"
},
{
"id": "cc364854-3ebd-45b1-890a-f016719dc000",
"name": "terms_fees",
"type": "string",
"value": "={{ $json.body.terms_fees }}"
},
{
"id": "b1a8802b-c559-4791-8b7c-d696e0bad1b9",
"name": "services",
"type": "array",
"value": "={{ $json.body.services }}"
},
{
"id": "7a1f84f0-4954-415f-960a-8089ba2e9c13",
"name": "services_other",
"type": "string",
"value": "={{ $json.body.services_other }}"
},
{
"id": "7cf60e46-f362-49ee-96b1-23e8db7885e8",
"name": "additional_notes",
"type": "string",
"value": "={{ $json.body.additional_notes }}"
},
{
"id": "227fa6b1-8dff-415a-9d63-ce467a287d0f",
"name": "operations_lead_name",
"type": "string",
"value": "={{ $json.body.operations_lead_name }}"
},
{
"id": "4529f7a4-b6cc-45bb-a12c-1fd8e62a5350",
"name": "operations_lead_email",
"type": "string",
"value": "={{ $json.body.operations_lead_email }}"
},
{
"id": "92e4f53c-51d1-4446-a600-5ce31d47a26d",
"name": "clinical_lead_name",
"type": "string",
"value": "={{ $json.body.clinical_lead_name }}"
},
{
"id": "acc33eb5-8a7c-4085-80a8-e120f56ce440",
"name": "clinical_lead_email",
"type": "string",
"value": "={{ $json.body.clinical_lead_email }}"
},
{
"id": "fb5898ac-9de4-4652-b1cd-7c46a1b1594d",
"name": "technical_lead_name",
"type": "string",
"value": "={{ $json.body.technical_lead_name }}"
},
{
"id": "c7ed6732-7d8f-4edf-86f1-60e0996ccf9d",
"name": "technical_lead_email",
"type": "string",
"value": "={{ $json.body.technical_lead_email }}"
},
{
"id": "6d7d68ea-e94a-45e4-892d-d3eaa9e3f455",
"name": "billing_finance_contact_name",
"type": "string",
"value": "={{ $json.body.billing_finance_contact_name }}"
},
{
"id": "d400b58b-3422-4a6a-9282-ea8b20a55b02",
"name": "billing_finance_contact_email",
"type": "string",
"value": "={{ $json.body.billing_finance_contact_email }}"
},
{
"id": "cc2bba26-89a0-4973-b9fa-75ed717439da",
"name": "platform_tier",
"type": "string",
"value": "={{ $json.body.platform_tier }}"
},
{
"id": "07a6e7a8-1f57-491b-b033-b632885a4991",
"name": "existing_medical_director",
"type": "string",
"value": "={{ $json.body.existing_medical_director }}"
},
{
"id": "51548bca-ae2d-448e-8270-be0b4d9a0740",
"name": "existing_intake_forms_protocols",
"type": "string",
"value": "={{ $json.body.existing_intake_forms_protocols }}"
},
{
"id": "d087c773-9b12-414a-b0a3-60ea421abcec",
"name": "next_3_months_gfe_forecast",
"type": "number",
"value": "={{ $json.body.next_3_months_gfe_forecast }}"
},
{
"id": "4c2d9739-6f28-4184-b4a2-bc6f54734d64",
"name": "existing_subscription_model",
"type": "string",
"value": "={{ $json.body.existing_subscription_model }}"
},
{
"id": "ae28c329-5032-4fc5-a8cb-bc948f4e1151",
"name": "existing_customer_service_team",
"type": "string",
"value": "={{ $json.body.existing_customer_service_team }}"
},
{
"id": "baf47fc8-a983-48b0-a3db-6b62757abe77",
"name": "current_emr_systems",
"type": "string",
"value": "={{ $json.body.current_emr_systems }}"
},
{
"id": "9f13ada8-cd9f-4dcb-b05a-b09603401d56",
"name": "existing_website_intake",
"type": "string",
"value": "={{ $json.body.existing_website_intake }}"
},
{
"id": "a0c1c26a-7d38-40f5-bc47-3d3ce1340c36",
"name": "pharmacy_partner_name",
"type": "string",
"value": "={{ $json.body.pharmacy_partner_name }}"
},
{
"id": "21f3daa1-e49b-4ea0-8be8-2be86b656cc4",
"name": "pharmacy_pms_name",
"type": "string",
"value": "={{ $json.body.pharmacy_pms_name }}"
},
{
"id": "feae2c47-8ba9-459c-8a82-a06308011c04",
"name": "pharmacy_contact",
"type": "string",
"value": "={{ $json.body.pharmacy_contact }}"
},
{
"id": "a0bda643-1425-4baf-8097-d95c767c7a13",
"name": "legitscript_certified",
"type": "string",
"value": "={{ $json.body.legitscript_certified }}"
},
{
"id": "f115aebb-2871-4081-bd92-80931be25c91",
"name": "current_payment_processor",
"type": "string",
"value": "={{ $json.body.current_payment_processor }}"
},
{
"id": "f495f075-dfc5-476e-85b0-ce149b5d558f",
"name": "patient_portal_today",
"type": "string",
"value": "={{ $json.body.patient_portal_today }}"
},
{
"id": "b24a4c97-513c-4fd5-a57f-f583934147db",
"name": "portal_platform_vendor",
"type": "string",
"value": "={{ $json.body.portal_platform_vendor }}"
},
{
"id": "9b1830a0-6474-40b4-a6fe-4169b609dcb3",
"name": "portal_approach_launch",
"type": "string",
"value": "={{ $json.body.portal_approach_launch }}"
},
{
"id": "d19e578a-a7a2-4faf-b8f9-a38b6828d6ad",
"name": "intake_forms_today",
"type": "string",
"value": "={{ $json.body.intake_forms_today }}"
},
{
"id": "59f27094-dd3c-4b6f-adc9-5f578c422b7f",
"name": "intake_form_tools",
"type": "array",
"value": "={{ $json.body.intake_form_tools }}"
},
{
"id": "42608dd4-c3fd-408e-aa6b-12dd68e12c58",
"name": "intake_approach_launch",
"type": "string",
"value": "={{ $json.body.intake_approach_launch }}"
},
{
"id": "9c61018e-20ae-47ee-8a24-1f3a297790c3",
"name": "can_provide_field_export",
"type": "string",
"value": "={{ $json.body.can_provide_field_export }}"
},
{
"id": "f2b5b41d-7c3c-4e66-bb5d-4f68a5127ab5",
"name": "website_approach_launch",
"type": "string",
"value": "={{ $json.body.website_approach_launch }}"
},
{
"id": "dedb4927-2c2f-4170-a307-17bb31abaae4",
"name": "website_deploy_platform",
"type": "string",
"value": "={{ $json.body.website_deploy_platform }}"
},
{
"id": "e891095f-2c1e-4755-8cd9-e8c1a5eebee2",
"name": "payment_processing_approach",
"type": "string",
"value": "={{ $json.body.payment_processing_approach }}"
},
{
"id": "08299243-d1fd-4d7d-8fda-56ca355b7050",
"name": "merchant_of_record",
"type": "string",
"value": "={{ $json.body.merchant_of_record }}"
},
{
"id": "c03b7edd-ad83-4e39-b09f-e5ed471836ce",
"name": "subscription_billing_cadence",
"type": "string",
"value": "={{ $json.body.subscription_billing_cadence }}"
},
{
"id": "3f23a62b-bd8c-4c2d-b6e4-7991e98bc56b",
"name": "pharmacy_fulfillment_approach",
"type": "string",
"value": "={{ $json.body.pharmacy_fulfillment_approach }}"
},
{
"id": "263e4290-843e-4fab-b002-01f001624cb3",
"name": "pharmacy_list",
"type": "string",
"value": "={{ $json.body.pharmacy_list }}"
},
{
"id": "07aea03e-3519-4aec-8cf1-6703825f4d3d",
"name": "order_sender",
"type": "string",
"value": "={{ $json.body.order_sender }}"
},
{
"id": "8d587106-46cf-41f4-83ba-51422ea0a149",
"name": "order_status_updates_needed",
"type": "string",
"value": "={{ $json.body.order_status_updates_needed }}"
},
{
"id": "d413fd86-5be9-4989-9f05-ed146f6e0853",
"name": "need_wizlo_apis",
"type": "string",
"value": "={{ $json.body.need_wizlo_apis }}"
},
{
"id": "cea5aa44-856c-4149-a4b9-ca51aa108cd8",
"name": "api_integrations",
"type": "array",
"value": "={{ $json.body.api_integrations }}"
},
{
"id": "baef0806-052c-4099-9050-10effc2f7b83",
"name": "integration_direction",
"type": "array",
"value": "={{ $json.body.integration_direction }}"
},
{
"id": "80162884-1fcc-4efc-98e2-7698612e6b4c",
"name": "technical_owner_for_integration",
"type": "string",
"value": "={{ $json.body.technical_owner_for_integration }}"
},
{
"id": "04a9864f-6275-44c6-9c55-ecb363f72f7e",
"name": "data_migration_needed",
"type": "string",
"value": "={{ $json.body.data_migration_needed }}"
},
{
"id": "d3898441-fe6b-407a-9c21-37888b654df8",
"name": "migration_data_types",
"type": "array",
"value": "={{ $json.body.migration_data_types }}"
},
{
"id": "c0bfc4df-a226-4b20-94b0-66c4d5aadd5a",
"name": "reporting_notes",
"type": "string",
"value": "={{ $json.body.reporting_notes }}"
},
{
"id": "4f08ef83-2eca-445a-bf97-6965619b06aa",
"name": "special_reporting_requirements",
"type": "string",
"value": "={{ $json.body.special_reporting_requirements }}"
},
{
"id": "e3356fbf-f50b-4955-81ca-5698c88f5582",
"name": "top_metrics_definitions",
"type": "string",
"value": "={{ $json.body.top_metrics_definitions }}"
},
{
"id": "bb942c45-5cf8-4d5e-b5db-cc3283dc8dfc",
"name": "reporting_cadence",
"type": "string",
"value": "={{ $json.body.reporting_cadence }}"
},
{
"id": "c96673e5-a548-4104-a77a-eec5f54a98b6",
"name": "report_access_names",
"type": "string",
"value": "={{ $json.body.report_access_names }}"
},
{
"id": "8a960b92-b1a2-4358-8a61-7db24c03df64",
"name": "report_access_roles",
"type": "string",
"value": "={{ $json.body.report_access_roles }}"
},
{
"id": "daf8e1b9-a5a4-45b7-8f9d-163adc1635e3",
"name": "white_label_notes",
"type": "string",
"value": "={{ $json.body.white_label_notes }}"
},
{
"id": "d467d85c-5a09-428d-ba90-493777550cde",
"name": "patient_facing_domain",
"type": "string",
"value": "={{ $json.body.patient_facing_domain }}"
},
{
"id": "faf53a9b-5d64-41d9-9c15-73b1e89eace3",
"name": "dns_access",
"type": "string",
"value": "={{ $json.body.dns_access }}"
},
{
"id": "eba63335-2cde-40ce-9052-f4590f5bf652",
"name": "brand_assets_ready",
"type": "string",
"value": "={{ $json.body.brand_assets_ready }}"
},
{
"id": "61c83307-6d7c-419f-a712-737a3fdf7ba1",
"name": "brand_assets_link",
"type": "string",
"value": "={{ $json.body.brand_assets_link }}"
},
{
"id": "6b7a81b7-7a35-4452-aa6f-97d93c289f83",
"name": "crm_notifications_notes",
"type": "string",
"value": "={{ $json.body.crm_notifications_notes }}"
},
{
"id": "3805fc90-e44b-48d5-b329-d6e2ee19c176",
"name": "crm_marketing_tools",
"type": "string",
"value": "={{ $json.body.crm_marketing_tools }}"
},
{
"id": "76ffae8d-906e-409f-b849-eedd205e705b",
"name": "notification_trigger_events",
"type": "array",
"value": "={{ $json.body.notification_trigger_events }}"
},
{
"id": "877b8911-628e-4956-9442-bb481093ba0a",
"name": "preferred_notification_channels",
"type": "array",
"value": "={{ $json.body.preferred_notification_channels }}"
},
{
"id": "fa8c4e48-bd09-4cbd-9492-02d70ad4e5a3",
"name": "status",
"type": "string",
"value": "={{ $json.body.status }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "0df37207-d48f-4a99-99cc-d306efa7bbdb",
"name": "Get Contract Template",
"type": "n8n-nodes-base.googleDocs",
"position": [
64,
-80
],
"parameters": {
"simple": false,
"operation": "get",
"documentURL": "[YOUR_TEMPLATE_DOCUMENT_ID]"
},
"typeVersion": 2
},
{
"id": "140c921a-59ec-47c4-8fba-c9acc3cb7b28",
"name": "Populate Contract with Client Data",
"type": "n8n-nodes-base.googleDocs",
"position": [
288,
-80
],
"parameters": {
"actionsUi": {
"actionFields": [
{
"text": "Effective Date- ",
"action": "replaceAll",
"replaceText": "=Effective Date: {{ $now.format('DD') }}"
},
{
"text": "Client-",
"action": "replaceAll",
"replaceText": "=Client: {{ $('Parse Client Data').item.json.primary_contact_name }}"
},
{
"text": "Title-",
"action": "replaceAll",
"replaceText": "=Title: {{ $('Parse Client Data').item.json.primary_contact_role }}"
},
{
"text": "Name:",
"action": "replaceAll",
"replaceText": "=Name: {{ $('Parse Client Data').item.json.primary_contact_name }}"
},
{
"text": "Signature-",
"action": "replaceAll",
"replaceText": "=Signature: {{ $('Parse Client Data').item.json.primary_contact_name }}"
},
{
"text": "Date:",
"action": "replaceAll",
"replaceText": "=Date: {{ $now.format('DD') }}"
},
{
"text": "$(one-time)",
"action": "replaceAll",
"replaceText": "=${{ $('Parse Client Data').item.json.terms_fees }}(one-time) "
},
{
"text": "$month ",
"action": "replaceAll",
"replaceText": "=${{ $('Parse Client Data').item.json.next_3_months_gfe_forecast }}month "
},
{
"text": "Payment-processed-fee ",
"action": "replaceAll",
"replaceText": "=Payment {{ $('Parse Client Data').item.json.payment }}% "
},
{
"text": "per-prescription ",
"action": "replaceAll",
"replaceText": "=${{ $('Parse Client Data').item.json.pharmacy }} per prescription "
},
{
"text": "=asynchronous encounter",
"action": "replaceAll",
"replaceText": "=${{ $('Parse Client Data').item.json.asynchronous }} asynchronous encounter"
},
{
"text": "encounter ",
"action": "replaceAll",
"replaceText": "=${{ $('Parse Client Data').item.json.synchronous_visit }} encounter "
},
{
"text": "synchronous encounter",
"action": "replaceAll",
"replaceText": "=${{ $('Parse Client Data').item.json.synchronous }} synchronous encounter "
}
]
},
"operation": "update",
"documentURL": "[YOUR_TEMPLATE_DOCUMENT_ID]"
},
"typeVersion": 2
},
{
"id": "4bcbc69a-167e-4b02-9921-47fe124d39a6",
"name": "Download Contract as PDF",
"type": "n8n-nodes-base.googleDrive",
"position": [
512,
-80
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.documentId }}"
},
"options": {},
"operation": "download"
},
"typeVersion": 3
},
{
"id": "12204d19-89b5-43ae-a0b6-607f3ea1daf3",
"name": "Reset Template to Blanks",
"type": "n8n-nodes-base.googleDocs",
"position": [
960,
-80
],
"parameters": {
"actionsUi": {
"actionFields": [
{
"text": "=Effective Date: {{ $now.format('DD') }}",
"action": "replaceAll",
"replaceText": "=Effective Date- "
},
{
"text": "=Client: {{ $('Parse Client Data').item.json.Client_name }}",
"action": "replaceAll",
"replaceText": "=Client- "
},
{
"text": "=Title: {{ $('Parse Client Data').item.json[\"Title \"] }}",
"action": "replaceAll",
"replaceText": "=Title-"
},
{
"text": "=Name: {{ $('Parse Client Data').item.json.Client_name }}",
"action": "replaceAll",
"replaceText": "=Name: "
},
{
"text": "=Signature: {{ $('Parse Client Data').item.json.Signature }}",
"action": "replaceAll",
"replaceText": "=Signature- "
},
{
"text": "=Date: {{ $('Parse Client Data').item.json.Date }}",
"action": "replaceAll",
"replaceText": "=Date: "
},
{
"text": "=${{ $('Parse Client Data').item.json.onboarding }} (one-time) ",
"action": "replaceAll",
"replaceText": "=$(one-time) "
},
{
"text": "=${{ $('Parse Client Data').item.json.wizlo_platform }} month ",
"action": "replaceAll",
"replaceText": "=$month "
},
{
"text": "=Payment {{ $('Parse Client Data').item.json.payment }}% ",
"action": "replaceAll",
"replaceText": "=Payment-processed-fee "
},
{
"text": "=${{ $('Parse Client Data').item.json.pharmacy }} per prescription ",
"action": "replaceAll",
"replaceText": "=per-prescription "
},
{
"text": "=${{ $('Parse Client Data').item.json.asynchronous }} asynchronous encounter",
"action": "replaceAll",
"replaceText": "asynchronous encounter"
},
{
"text": "=${{ $('Parse Client Data').item.json.synchronous_visit }} encounter ",
"action": "replaceAll",
"replaceText": "=encounter "
},
{
"text": "=${{ $('Parse Client Data').item.json.synchronous }} synchronous encounter ",
"action": "replaceAll",
"replaceText": "=synchronous encounter"
}
]
},
"operation": "update",
"documentURL": "[YOUR_TEMPLATE_DOCUMENT_ID]"
},
"typeVersion": 2
},
{
"id": "39d45562-03bc-4d53-bc8e-b4633b60a58f",
"name": "Log to Tracking Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
1184,
-80
],
"parameters": {
"columns": {
"value": {
"status": "={{ $('Parse Client Data').item.json.status }}",
"website": "={{ $('Parse Client Data').item.json.website }}",
"services": "={{ $('Parse Client Data').item.json.services }}",
"brand_name": "={{ $('Parse Client Data').item.json.brand_name }}",
"dns_access": "={{ $('Parse Client Data').item.json.dns_access }}",
"terms_fees": "={{ $('Parse Client Data').item.json.terms_fees }}",
"client_type": "={{ $('Parse Client Data').item.json.client_type }}",
"order_sender": "={{ $('Parse Client Data').item.json.order_sender }}",
"pharmacy_list": "={{ $('Parse Client Data').item.json.pharmacy_list }}",
"platform_tier": "={{ $('Parse Client Data').item.json.platform_tier }}",
"services_other": "={{ $('Parse Client Data').item.json.services_other }}",
"need_wizlo_apis": "={{ $('Parse Client Data').item.json.need_wizlo_apis }}",
"new_or_existing": "={{ $('Parse Client Data').item.json.new_or_existing }}",
"reporting_notes": "={{ $('Parse Client Data').item.json.reporting_notes }}",
"state_of_entity": "={{ $('Parse Client Data').item.json.state_of_entity }}",
"additional_notes": "={{ $('Parse Client Data').item.json.operations_lead_name }}",
"api_integrations": "={{ $('Parse Client Data').item.json.api_integrations }}",
"pharmacy_contact": "={{ $('Parse Client Data').item.json.pharmacy_contact }}",
"brand_assets_link": "={{ $('Parse Client Data').item.json.brand_assets_link }}",
"intake_form_tools": "={{ $('Parse Client Data').item.json.intake_form_tools }}",
"pharmacy_pms_name": "={{ $('Parse Client Data').item.json.pharmacy_pms_name }}",
"reporting_cadence": "={{ $('Parse Client Data').item.json.reporting_cadence }}",
"white_label_notes": "={{ $('Parse Client Data').item.json.white_label_notes }}",
"brand_assets_ready": "={{ $('Parse Client Data').item.json.brand_assets_ready }}",
"clinical_lead_name": "={{ $('Parse Client Data').item.json.clinical_lead_name }}",
"intake_forms_today": "={{ $('Parse Client Data').item.json.intake_forms_today }}",
"merchant_of_record": "={{ $('Parse Client Data').item.json.merchant_of_record }}",
"clinical_lead_email": "={{ $('Parse Client Data').item.json.clinical_lead_email }}",
"crm_marketing_tools": "={{ $('Parse Client Data').item.json.crm_marketing_tools }}",
"current_emr_systems": "={{ $('Parse Client Data').item.json.current_emr_systems }}",
"legal_business_name": "={{ $('Parse Client Data').item.json.legal_business_name }}",
"report_access_names": "={{ $('Parse Client Data').item.json.report_access_names }}",
"report_access_roles": "={{ $('Parse Client Data').item.json.report_access_roles }}",
"technical_lead_name": "={{ $('Parse Client Data').item.json.technical_lead_name }}",
"migration_data_types": "={{ $('Parse Client Data').item.json.migration_data_types }}",
"operations_lead_name": "={{ $('Parse Client Data').item.json.operations_lead_name }}",
"patient_portal_today": "={{ $('Parse Client Data').item.json.patient_portal_today }}",
"primary_contact_name": "={{ $('Parse Client Data').item.json.primary_contact_name }}",
"primary_contact_role": "={{ $('Parse Client Data').item.json.primary_contact_role }}",
"technical_lead_email": "={{ $('Parse Client Data').item.json.technical_lead_email }}",
"data_migration_needed": "={{ $('Parse Client Data').item.json.data_migration_needed }}",
"integration_direction": "={{ $('Parse Client Data').item.json.integration_direction }}",
"legitscript_certified": "={{ $('Parse Client Data').item.json.legitscript_certified }}",
"operations_lead_email": "={{ $('Parse Client Data').item.json.operations_lead_email }}",
"patient_facing_domain": "={{ $('Parse Client Data').item.json.patient_facing_domain }}",
"pharmacy_partner_name": "={{ $('Parse Client Data').item.json.pharmacy_partner_name }}",
"primary_contact_email": "={{ $('Parse Client Data').item.json.primary_contact_email }}",
"intake_approach_launch": "={{ $('Parse Client Data').item.json.intake_approach_launch }}",
"portal_approach_launch": "={{ $('Parse Client Data').item.json.portal_approach_launch }}",
"portal_platform_vendor": "={{ $('Parse Client Data').item.json.portal_platform_vendor }}",
"crm_notifications_notes": "={{ $('Parse Client Data').item.json.crm_notifications_notes }}",
"existing_website_intake": "={{ $('Parse Client Data').item.json.existing_website_intake }}",
"top_metrics_definitions": "={{ $('Parse Client Data').item.json.top_metrics_definitions }}",
"website_approach_launch": "={{ $('Parse Client Data').item.json.website_approach_launch }}",
"website_deploy_platform": "={{ $('Parse Client Data').item.json.website_deploy_platform }}",
"can_provide_field_export": "={{ $('Parse Client Data').item.json.can_provide_field_export }}",
"current_payment_processor": "={{ $('Parse Client Data').item.json.current_payment_processor }}",
"existing_medical_director": "={{ $('Parse Client Data').item.json.existing_medical_director }}",
"next_3_months_gfe_forecast": "={{ $('Parse Client Data').item.json.next_3_months_gfe_forecast }}",
"existing_subscription_model": "={{ $('Parse Client Data').item.json.existing_subscription_model }}",
"notification_trigger_events": "={{ $('Parse Client Data').item.json.notification_trigger_events }}",
"order_status_updates_needed": "={{ $('Parse Client Data').item.json.order_status_updates_needed }}",
"payment_processing_approach": "={{ $('Parse Client Data').item.json.payment_processing_approach }}",
"billing_finance_contact_name": "={{ $('Parse Client Data').item.json.billing_finance_contact_name }}",
"subscription_billing_cadence": "={{ $('Parse Client Data').item.json.subscription_billing_cadence }}",
"billing_finance_contact_email": "={{ $('Parse Client Data').item.json.billing_finance_contact_email }}",
"pharmacy_fulfillment_approach": "={{ $('Parse Client Data').item.json.pharmacy_fulfillment_approach }}",
"existing_customer_service_team": "={{ $('Parse Client Data').item.json.existing_customer_service_team }}",
"special_reporting_requirements": "={{ $('Parse Client Data').item.json.special_reporting_requirements }}",
"existing_intake_forms_protocols": "={{ $('Parse Client Data').item.json.existing_intake_forms_protocols }}",
"preferred_notification_channels": "={{ $('Parse Client Data').item.json.preferred_notification_channels }}",
"technical_owner_for_integration": "={{ $('Parse Client Data').item.json.technical_owner_for_integration }}"
},
"schema": [
{
"id": "legal_business_name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "legal_business_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "brand_name",
"type": "string",
"display": true,
"required": false,
"displayName": "brand_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "primary_contact_name",
"type": "string",
"display": true,
"required": false,
"displayName": "primary_contact_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "primary_contact_email",
"type": "string",
"display": true,
"required": false,
"displayName": "primary_contact_email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "primary_contact_role",
"type": "string",
"display": true,
"required": false,
"displayName": "primary_contact_role",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "website",
"type": "string",
"display": true,
"required": false,
"displayName": "website",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "client_type",
"type": "string",
"display": true,
"required": false,
"displayName": "client_type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "new_or_existing",
"type": "string",
"display": true,
"required": false,
"displayName": "new_or_existing",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "state_of_entity",
"type": "string",
"display": true,
"required": false,
"displayName": "state_of_entity",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "terms_fees",
"type": "string",
"display": true,
"required": false,
"displayName": "terms_fees",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "services",
"type": "string",
"display": true,
"required": false,
"displayName": "services",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "services_other",
"type": "string",
"display": true,
"required": false,
"displayName": "services_other",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "additional_notes",
"type": "string",
"display": true,
"required": false,
"displayName": "additional_notes",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "operations_lead_name",
"type": "string",
"display": true,
"required": false,
"displayName": "operations_lead_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "operations_lead_email",
"type": "string",
"display": true,
"required": false,
"displayName": "operations_lead_email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "clinical_lead_name",
"type": "string",
"display": true,
"required": false,
"displayName": "clinical_lead_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "clinical_lead_email",
"type": "string",
"display": true,
"required": false,
"displayName": "clinical_lead_email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "technical_lead_name",
"type": "string",
"display": true,
"required": false,
"displayName": "technical_lead_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "technical_lead_email",
"type": "string",
"display": true,
"required": false,
"displayName": "technical_lead_email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "billing_finance_contact_name",
"type": "string",
"display": true,
"required": false,
"displayName": "billing_finance_contact_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "billing_finance_contact_email",
"type": "string",
"display": true,
"required": false,
"displayName": "billing_finance_contact_email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "platform_tier",
"type": "string",
"display": true,
"required": false,
"displayName": "platform_tier",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "existing_medical_director",
"type": "string",
"display": true,
"required": false,
"displayName": "existing_medical_director",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "existing_intake_forms_protocols",
"type": "string",
"display": true,
"required": false,
"displayName": "existing_intake_forms_protocols",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "next_3_months_gfe_forecast",
"type": "string",
"display": true,
"required": false,
"displayName": "next_3_months_gfe_forecast",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "existing_subscription_model",
"type": "string",
"display": true,
"required": false,
"displayName": "existing_subscription_model",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "existing_customer_service_team",
"type": "string",
"display": true,
"required": false,
"displayName": "existing_customer_service_team",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "current_emr_systems",
"type": "string",
"display": true,
"required": false,
"displayName": "current_emr_systems",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "existing_website_intake",
"type": "string",
"display": true,
"required": false,
"displayName": "existing_website_intake",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "pharmacy_partner_name",
"type": "string",
"display": true,
"required": false,
"displayName": "pharmacy_partner_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "pharmacy_pms_name",
"type": "string",
"display": true,
"required": false,
"displayName": "pharmacy_pms_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "pharmacy_contact",
"type": "string",
"display": true,
"required": false,
"displayName": "pharmacy_contact",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "legitscript_certified",
"type": "string",
"display": true,
"required": false,
"displayName": "legitscript_certified",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "current_payment_processor",
"type": "string",
"display": true,
"required": false,
"displayName": "current_payment_processor",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "patient_portal_today",
"type": "string",
"display": true,
"required": false,
"displayName": "patient_portal_today",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "portal_platform_vendor",
"type": "string",
"display": true,
"required": false,
"displayName": "portal_platform_vendor",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "portal_approach_launch",
"type": "string",
"display": true,
"required": false,
"displayName": "portal_approach_launch",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "intake_forms_today",
"type": "string",
"display": true,
"required": false,
"displayName": "intake_forms_today",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "intake_form_tools",
"type": "string",
"display": true,
"required": false,
"displayName": "intake_form_tools",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "intake_approach_launch",
"type": "string",
"display": true,
"required": false,
"displayName": "intake_approach_launch",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "can_provide_field_export",
"type": "string",
"display": true,
"required": false,
"displayName": "can_provide_field_export",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "website_approach_launch",
"type": "string",
"display": true,
"required": false,
"displayName": "website_approach_launch",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "website_deploy_platform",
"type": "string",
"display": true,
"required": false,
"displayName": "website_deploy_platform",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "payment_processing_approach",
"type": "string",
"display": true,
"required": false,
"displayName": "payment_processing_approach",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "merchant_of_record",
"type": "string",
"display": true,
"required": false,
"displayName": "merchant_of_record",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "subscription_billing_cadence",
"type": "string",
"display": true,
"required": false,
"displayName": "subscription_billing_cadence",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "pharmacy_fulfillment_approach",
"type": "string",
"display": true,
"required": false,
"displayName": "pharmacy_fulfillment_approach",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "pharmacy_list",
"type": "string",
"display": true,
"required": false,
"displayName": "pharmacy_list",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "order_sender",
"type": "string",
"display": true,
"required": false,
"displayName": "order_sender",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "order_status_updates_needed",
"type": "string",
"display": true,
"required": false,
"displayName": "order_status_updates_needed",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "need_wizlo_apis",
"type": "string",
"display": true,
"required": false,
"displayName": "need_wizlo_apis",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "api_integrations",
"type": "string",
"display": true,
"required": false,
"displayName": "api_integrations",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "integration_direction",
"type": "string",
"display": true,
"required": false,
"displayName": "integration_direction",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "technical_owner_for_integration",
"type": "string",
"display": true,
"required": false,
"displayName": "technical_owner_for_integration",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "data_migration_needed",
"type": "string",
"display": true,
"required": false,
"displayName": "data_migration_needed",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "migration_data_types",
"type": "string",
"display": true,
"required": false,
"displayName": "migration_data_types",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "reporting_notes",
"type": "string",
"display": true,
"required": false,
"displayName": "reporting_notes",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "special_reporting_requirements",
"type": "string",
"display": true,
"required": false,
"displayName": "special_reporting_requirements",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "top_metrics_definitions",
"type": "string",
"display": true,
"required": false,
"displayName": "top_metrics_definitions",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "reporting_cadence",
"type": "string",
"display": true,
"required": false,
"displayName": "reporting_cadence",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "report_access_names",
"type": "string",
"display": true,
"required": false,
"displayName": "report_access_names",
"defaultMatch": false,
"canBeUsedToMatch": true
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Streamline and standardize your entire client onboarding process with a single end-to-end automation. 🚀📋 This workflow captures detailed client intake data via webhook, automatically creates a fully structured Asana onboarding project, generates a personalized service contract…
Source: https://n8n.io/workflows/12479/ — original creator credit. Request a take-down →
More Email & Gmail workflows → · Browse all categories →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Who is this for? This template is ideal for event organizers, conference managers, and community teams who need an automated participant management system. Perfect for workshops, conferences, meetups,
Automate short-term trading research by generating high-quality trade ideas using MCP (Market Context Protocol) signals and AI-powered analysis. 📈🤖 This workflow evaluates market context, catalysts, m
Human Approval AI Response. Uses httpRequest, slack, gmail, googleSheets. Webhook trigger; 20 nodes.
Invoice_Workflow. Uses googleSheets, googleDrive, googleDocs, gmail. Webhook trigger; 19 nodes.
Hiring teams often struggle with document follow-ups, offer letter generation, and stakeholder communication. Manual checks, email back-and-forth, and missing files slow down hiring and create chaos d