This workflow follows the Form Trigger → Gmail 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 →
{
"name": "Gerador de Contratos",
"nodes": [
{
"parameters": {
"formTitle": "Formul\u00e1rio de Contrato \u2013 KabukiTech Agreement Systems",
"formDescription": "Por favor, preencha todos os campos com aten\u00e7\u00e3o, fornecendo informa\u00e7\u00f5es corretas e completas para que a KabukiTech Agreement Systems possa elaborar seu contrato com precis\u00e3o e formalizar o acordo entre as partes envolvidas. Campos obrigat\u00f3rios est\u00e3o indicados com *.",
"formFields": {
"values": [
{
"fieldLabel": "Nome do Cliente",
"placeholder": "Digite o nome do cliente",
"requiredField": true
},
{
"fieldLabel": "CPF CNPJ do Cliente",
"requiredField": true
},
{
"fieldLabel": "Quais objetos do contrato",
"fieldType": "dropdown",
"fieldOptions": {
"values": [
{
"option": "Automa\u00e7\u00e3o com IA"
},
{
"option": "Desenvolvimento de Aplicativos (Android e iOS)"
},
{
"option": "Desenvolvimento de Site"
},
{
"option": "Automa\u00e7\u00e3o ChatBot"
}
]
},
"multiselect": true,
"requiredField": true
},
{
"fieldLabel": "Descri\u00e7\u00e3o do Servi\u00e7o",
"fieldType": "textarea",
"placeholder": "Descreva sobre o servi\u00e7o que ser\u00e1 realizado"
},
{
"fieldLabel": "Endere\u00e7o cliente",
"requiredField": true
},
{
"fieldLabel": "Forma de pagamento",
"fieldType": "dropdown",
"fieldOptions": {
"values": [
{
"option": "PIX"
},
{
"option": "Transfer\u00eancia banc\u00e1ria"
},
{
"option": "Cart\u00e3o de cr\u00e9dito"
}
]
},
"requiredField": true
},
{
"fieldLabel": "Valor do servi\u00e7o",
"fieldType": "number",
"placeholder": "Valor do servi\u00e7o",
"requiredField": true
},
{
"fieldLabel": "Cidade",
"placeholder": "Nome da cidade do cliente",
"requiredField": true
},
{
"fieldLabel": "Estado",
"placeholder": "Nome do estado do cliente",
"requiredField": true
},
{
"fieldLabel": "Data inicio",
"fieldType": "date",
"requiredField": true
},
{
"fieldLabel": "Dura\u00e7\u00e3o do projeto em dias",
"requiredField": true
},
{
"fieldLabel": "Email do cliente",
"placeholder": "Digite o email do cliente",
"requiredField": true
}
]
},
"options": {}
},
"type": "n8n-nodes-base.formTrigger",
"typeVersion": 2.2,
"position": [
0,
0
],
"id": "639f107b-95ae-4570-abd4-722b1311d965",
"name": "On form submission"
},
{
"parameters": {
"operation": "get",
"documentURL": "https://docs.google.com/document/d/11oNAfjfpRfhz7crzenmKMhgZGGtij1KR196G52py7nw/edit?usp=sharing"
},
"type": "n8n-nodes-base.googleDocs",
"typeVersion": 2,
"position": [
220,
0
],
"id": "97a3199c-ae90-4e4c-8f85-ea6adaca685c",
"name": "Get a document",
"credentials": {
"googleDocsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "copy",
"fileId": {
"__rl": true,
"value": "11oNAfjfpRfhz7crzenmKMhgZGGtij1KR196G52py7nw",
"mode": "list",
"cachedResultName": "service-agreement",
"cachedResultUrl": "https://docs.google.com/document/d/11oNAfjfpRfhz7crzenmKMhgZGGtij1KR196G52py7nw/edit?usp=drivesdk"
},
"name": "=Contrato - {{ $('On form submission').item.json['Nome do Cliente'] }}",
"options": {}
},
"type": "n8n-nodes-base.googleDrive",
"typeVersion": 3,
"position": [
440,
0
],
"id": "059fbc2b-3939-42b9-8e64-18c54c4cf2d0",
"name": "Copy file",
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "update",
"documentURL": "={{ $json.id }}",
"actionsUi": {
"actionFields": [
{
"action": "replaceAll",
"text": "{{nome_cliente}}",
"replaceText": "={{ $('On form submission').item.json['Nome do Cliente'] }}"
},
{
"action": "replaceAll",
"text": "{{cpf_cnpj}}",
"replaceText": "={{ $('On form submission').item.json['CPF CNPJ do Cliente'] }}"
},
{
"action": "replaceAll",
"text": "{{endereco_cliente}}",
"replaceText": "={{ $('On form submission').item.json['Endere\u00e7o cliente'] }}"
},
{
"action": "replaceAll",
"text": "{{descricao_servicos}}",
"replaceText": "={{ $('On form submission').item.json['Descri\u00e7\u00e3o do Servi\u00e7o'] }}"
},
{
"action": "replaceAll",
"text": "{{servicos}}",
"replaceText": "={{ $('On form submission').item.json['Quais objetos do contrato'].map(item => `${item}`).join('\\n') }}"
},
{
"action": "replaceAll",
"text": "{{data_inicio}}",
"replaceText": "={{ new Date($('On form submission').item.json['Data inicio']).toLocaleDateString(\"pt-BR\") }}"
},
{
"action": "replaceAll",
"text": "{{dias}}",
"replaceText": "={{ $('On form submission').item.json['Dura\u00e7\u00e3o do projeto em dias'] }}"
},
{
"action": "replaceAll",
"text": "{{valor_total}}",
"replaceText": "={{ String($('On form submission').item.json['Valor do servi\u00e7o']) }}"
},
{
"action": "replaceAll",
"text": "{{forma_pagamento}}",
"replaceText": "={{ $('On form submission').item.json['Forma de pagamento'] }}"
},
{
"action": "replaceAll",
"text": "{{cidade}}",
"replaceText": "={{ $('On form submission').item.json.Cidade }}"
},
{
"action": "replaceAll",
"text": "{{estado}}",
"replaceText": "={{ $('On form submission').item.json.Estado }}"
},
{
"action": "replaceAll",
"text": "{{data}}",
"replaceText": "={{ new Date($('On form submission').item.json.submittedAt).toLocaleDateString(\"pt-BR\") }}"
}
]
}
},
"type": "n8n-nodes-base.googleDocs",
"typeVersion": 2,
"position": [
660,
0
],
"id": "dcfbf385-589e-4dd1-ac22-3516f03f16d9",
"name": "Update a document",
"credentials": {
"googleDocsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"content": "# Gerador de Contratos - KabukiTech Agreement Systems",
"height": 80,
"width": 960
},
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
-200
],
"typeVersion": 1,
"id": "8e55f98c-d8f4-4362-9c2e-8941df043c8c",
"name": "Sticky Note1"
},
{
"parameters": {
"operation": "share",
"fileId": {
"__rl": true,
"value": "={{ $json.documentId }}",
"mode": "id"
},
"permissionsUi": {
"permissionsValues": {
"role": "reader",
"type": "anyone"
}
},
"options": {}
},
"type": "n8n-nodes-base.googleDrive",
"typeVersion": 3,
"position": [
880,
0
],
"id": "a6841e1b-d47d-4350-8b4f-b1a33ef9a6f2",
"name": "Share file",
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "19506cd0-8563-490c-a3ca-02f4f7740d36",
"leftValue": "={{ $('On form submission').item.json['Email do cliente'] }}",
"rightValue": "",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
1100,
0
],
"id": "6aab2b00-3954-489a-b017-66e6e20c3cef",
"name": "If"
},
{
"parameters": {
"sendTo": "={{ $('On form submission').item.json['Email do cliente'] }}",
"subject": "=KabukiTech Agreement Systems \u2013 Pr\u00e9via do Contrato de Presta\u00e7\u00e3o de Servi\u00e7o para {{ $('On form submission').item.json['Nome do Cliente'] }}",
"message": "=<!DOCTYPE html>\n<html lang=\"pt-BR\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Pr\u00e9via do Contrato - KabukiTech Agreement Systems</title>\n<style>\n body {\n font-family: Arial, sans-serif;\n color: #333;\n line-height: 1.6;\n padding: 20px;\n }\n .botao {\n display: inline-block;\n background-color: #4CAF50;\n color: white;\n text-decoration: none;\n padding: 10px 20px;\n border-radius: 4px;\n }\n</style>\n</head>\n<body>\n <p>Ol\u00e1 <strong>{{ $('On form submission').item.json['Nome do Cliente'] }}</strong>, tudo bem?</p>\n\n <p>Estamos enviando o link para que voc\u00ea possa conferir a pr\u00e9via do seu contrato referente ao servi\u00e7o contratado junto \u00e0 <strong>KabukiTech Agreement Systems</strong>.</p>\n\n <p>Por favor, revise o documento com aten\u00e7\u00e3o. Caso tenha alguma d\u00favida, sugest\u00e3o de altera\u00e7\u00e3o ou ajuste necess\u00e1rio, fique \u00e0 vontade para responder a este e-mail ou entrar em contato diretamente conosco.</p>\n\n <p style=\"margin: 30px 0;\">\n <a href=\"{{ 'https://docs.google.com/document/d/' + $('Update a document').item.json.documentId + '/view' }}\" \n role=\"button\" aria-label=\"Acessar a pr\u00e9via do contrato\"\n style=\"display: inline-block; background-color: #4CAF50; color: white; text-decoration: none; padding: 10px 20px; border-radius: 4px;\">\n \ud83d\udcc4 Acessar a Pr\u00e9via do Contrato\n </a>\n </p>\n\n <p>Atenciosamente,</p>\n <p><em>Equipe KabukiTech Agreement Systems</em></p>\n</body>\n</html>",
"options": {
"appendAttribution": false
}
},
"type": "n8n-nodes-base.gmail",
"typeVersion": 2.1,
"position": [
1320,
-100
],
"id": "fadcf627-c33c-430a-a868-7ed33841c735",
"name": "Send a message",
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"content": "A KabukiTech Agreement Systems oferece solu\u00e7\u00f5es tecnol\u00f3gicas para cria\u00e7\u00e3o e automa\u00e7\u00e3o de contratos digitais, garantindo efici\u00eancia, seguran\u00e7a e conformidade. Unimos inova\u00e7\u00e3o e tecnologia para facilitar a gest\u00e3o contratual de empresas modernas, com agilidade e confiabilidade.",
"height": 320,
"width": 180
},
"type": "n8n-nodes-base.stickyNote",
"position": [
-280,
-200
],
"typeVersion": 1,
"id": "ae616f36-5e91-4d70-ac34-3ab2e7cc7bb3",
"name": "Sticky Note"
}
],
"connections": {
"On form submission": {
"main": [
[
{
"node": "Get a document",
"type": "main",
"index": 0
}
]
]
},
"Get a document": {
"main": [
[
{
"node": "Copy file",
"type": "main",
"index": 0
}
]
]
},
"Copy file": {
"main": [
[
{
"node": "Update a document",
"type": "main",
"index": 0
}
]
]
},
"Update a document": {
"main": [
[
{
"node": "Share file",
"type": "main",
"index": 0
}
]
]
},
"Share file": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"If": {
"main": [
[
{
"node": "Send a message",
"type": "main",
"index": 0
}
]
]
}
},
"active": true,
"settings": {
"executionOrder": "v1"
},
"versionId": "8d7f891b-2be3-43ae-b2f1-f15afe0c9253",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "l7jOJHrdYK94I8A7",
"tags": []
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
gmailOAuth2googleDocsOAuth2ApigoogleDriveOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Gerador de Contratos. Uses formTrigger, googleDocs, googleDrive, gmail. Event-driven trigger; 9 nodes.
Source: https://github.com/0nF1REy/n8n-workspace/blob/3e5a49f4d7db15a964a1596b51ef2f5883fb6e84/examples/02_gerador_de_contratos/Gerador_de_Contratos.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This n8n template demonstrates automating an appointment letter creation process using a template and then having the HR approve before emailing the appointment letter to the candidate.
Gerador de Contratos Chácara - Limpo. Uses formTrigger, googleDrive, gmail, googleDocs. Event-driven trigger; 7 nodes.
🎥 Analyze YouTube Video for Summaries, Transcripts & Content + Google Gemini AI. Uses stickyNote, httpRequest, googleDrive, gmail. Event-driven trigger; 33 nodes.
Client Form → Draft → Approve → Sign → Deliver, fully automated
This workflow automates the full offer letter lifecycle, from generation to final candidate response tracking. When a new row with a Pending status is added to Google Sheets, it creates a personalized