AutomationFlowsAI & RAG › Standardize Daily Construction Reports with Openai, Gmail and Google Sheets

Standardize Daily Construction Reports with Openai, Gmail and Google Sheets

ByAlysson Neves @alysson on n8n.io

Standardize Daily Construction Reports (DCR) with AI by capturing raw site inputs via chat and automatically generating structured Work Performance Data.

Chat trigger trigger★★★★☆ complexityAI-powered17 nodesChat TriggerGuardrailsGmailChatAgentOpenAI ChatGoogle Sheets
AI & RAG Trigger: Chat trigger Nodes: 17 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #11907 — we link there as the canonical source.

This workflow follows the Agent → Chat Trigger 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 →

Download .json
{
  "id": "ywK094hI6ARCoVH4",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "04.AI-driven daily construction report",
  "tags": [],
  "nodes": [
    {
      "id": "62384871-8d9a-4748-8475-c9465537cc1c",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        48
      ],
      "parameters": {
        "color": 7,
        "width": 976,
        "height": 752,
        "content": "## 1. Capture and validate daily site input"
      },
      "typeVersion": 1
    },
    {
      "id": "6b428e63-8932-4ade-8b6b-42360659ec94",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1088,
        48
      ],
      "parameters": {
        "color": 7,
        "width": 304,
        "height": 752,
        "content": "## 2. AI-Powered DCR standardization"
      },
      "typeVersion": 1
    },
    {
      "id": "da3b60e1-7c70-48d3-9122-f8c92cc92f5c",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1424,
        48
      ],
      "parameters": {
        "color": 7,
        "width": 464,
        "height": 752,
        "content": "## 3. Distribute and log work performance data"
      },
      "typeVersion": 1
    },
    {
      "id": "a5fc8d58-5697-4538-a893-95f8d3b23a41",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -432,
        48
      ],
      "parameters": {
        "width": 480,
        "height": 752,
        "content": "## AI-driven daily construction report\n\n### How It Works\n\n1. **Capture:** Site personnel submit raw DCR content through the chat interface trigger.  \n2. **Validate:** A guardrail AI checks input for adversarial or unsafe patterns and blocks suspicious submissions (alerts stakeholders by email).  \n3. **Standardize:** An AI agent reformats and consolidates the raw notes into a strict DCR template, preserving facts and numbers.  \n4. **Record:** The formatted DCR is appended to a Google Sheets log (work performance data) and emailed to configured stakeholders.  \n5. **Confirm:** The user receives an in-chat confirmation when processing and distribution succeed.  \n\n### Setup\n\n- [ ] Publish the chat interface for field submissions  \n- [ ] Connect OpenAI (or preferred LLM) credentials  \n- [ ] Connect Google Sheets and select the log spreadsheet  \n- [ ] Connect Gmail and set the sender account  \n- [ ] Set email recipients and subject prefixes in Config  \n- [ ] Review and adapt the standardized DCR template fields  \n- [ ] Test a full submission, validation block, and success flow\n"
      },
      "typeVersion": 1
    },
    {
      "id": "6951ff10-86cb-4d69-a167-7340d2d621de",
      "name": "Chat: Capture DCR Input",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        128,
        160
      ],
      "parameters": {
        "public": true,
        "options": {
          "title": "Chat Interface for Daily Construction Report (DCR)",
          "subtitle": "Alysson Neves (https://n8n.io/creators/alysson)",
          "customCss": ":root {\n  /* Paleta de cores principal */\n  --chat--color-primary: #e74266;\n  --chat--color-primary-shade-50: #db4061;\n  --chat--color-primary-shade-100: #cf3c5c;\n  --chat--color-secondary: #20b69e;\n  --chat--color-secondary-shade-50: #1ca08a;\n  --chat--color-white: #ffffff;\n  --chat--color-light: #f2f4f8;\n  --chat--color-light-shade-50: #e6e9f1;\n  --chat--color-light-shade-100: #c2c5cc;\n  --chat--color-medium: #d2d4d9;\n  --chat--color-dark: #101330;\n  --chat--color-disabled: #d2d4d9;\n  --chat--color-typing: #404040;\n\n  /* Layout base */\n  --chat--spacing: 1rem;\n  --chat--border-radius: 0.25rem;\n  --chat--transition-duration: 0.15s;\n  --chat--font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\n\n  /* Dimens\u00f5es da janela do chat */\n  --chat--window--width: 400px;\n  --chat--window--height: 600px;\n  --chat--window--bottom: var(--chat--spacing);\n  --chat--window--right: var(--chat--spacing);\n  --chat--window--z-index: 9999;\n  --chat--window--border: 1px solid var(--chat--color-light-shade-50);\n  --chat--window--border-radius: var(--chat--border-radius);\n  --chat--window--margin-bottom: var(--chat--spacing);\n\n  /* Estilos do cabe\u00e7alho */\n  --chat--header-height: auto;\n  --chat--header--padding: var(--chat--spacing);\n\n  /*\n    Fundo do cabe\u00e7alho:\n    - Imagem alinhada \u00e0 direita, centralizada verticalmente\n    - Altura da imagem = 100% da altura do cabe\u00e7alho\n  */\n  --chat--header--background: url(\"https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png\")\n    right center / auto 100% no-repeat\n    var(--chat--color-dark);\n\n  --chat--header--color: var(--chat--color-light);\n  --chat--header--border-top: none;\n  --chat--header--border-bottom: none;\n  --chat--header--border-left: none;\n  --chat--header--border-right: none;\n  --chat--heading--font-size: 1.2rem;/*2em;*/\n  --chat--subtitle--font-size: inherit;\n  --chat--subtitle--line-height: 1.8;\n\n  /* Estilos das mensagens */\n  --chat--message--font-size: 1rem;\n  --chat--message--padding: var(--chat--spacing);\n  --chat--message--border-radius: var(--chat--border-radius);\n  --chat--message-line-height: 1.5;\n  --chat--message--margin-bottom: calc(var(--chat--spacing) * 1);\n  --chat--message--bot--background: var(--chat--color-white);\n  --chat--message--bot--color: var(--chat--color-dark);\n  --chat--message--bot--border: none;\n  --chat--message--user--background: var(--chat--color-secondary);\n  --chat--message--user--color: var(--chat--color-white);\n  --chat--message--user--border: none;\n  --chat--message--pre--background: rgba(0, 0, 0, 0.05);\n  --chat--messages-list--padding: var(--chat--spacing);\n\n  /* Bot\u00e3o de toggle do chat */\n  --chat--toggle--size: 64px;\n  --chat--toggle--width: var(--chat--toggle--size);\n  --chat--toggle--height: var(--chat--toggle--size);\n  --chat--toggle--border-radius: 50%;\n  --chat--toggle--background: var(--chat--color-primary);\n  --chat--toggle--hover--background: var(--chat--color-primary-shade-50);\n  --chat--toggle--active--background: var(--chat--color-primary-shade-100);\n  --chat--toggle--color: var(--chat--color-white);\n\n  /* \u00c1rea de input */\n  --chat--textarea--height: 50px;\n  --chat--textarea--max-height: 30rem;\n  --chat--input--font-size: inherit;\n  --chat--input--border: 0;\n  --chat--input--border-radius: 0;\n  --chat--input--padding: 0.8rem;\n  --chat--input--background: var(--chat--color-white);\n  --chat--input--text-color: initial;\n  --chat--input--line-height: 1.5;\n  --chat--input--placeholder--font-size: var(--chat--input--font-size);\n  --chat--input--border-active: 0;\n  --chat--input--left--panel--width: 2rem;\n\n  /* Bot\u00f5es gerais */\n  --chat--button--color: var(--chat--color-light);\n  --chat--button--background: var(--chat--color-primary);\n  --chat--button--padding: calc(var(--chat--spacing) * 1 / 2) var(--chat--spacing);\n  --chat--button--border-radius: var(--chat--border-radius);\n  --chat--button--hover--color: var(--chat--color-light);\n  --chat--button--hover--background: var(--chat--color-primary-shade-50);\n  --chat--close--button--color-hover: var(--chat--color-primary);\n\n  /* Bot\u00f5es de envio e anexos */\n  --chat--input--send--button--background: var(--chat--color-white);\n  --chat--input--send--button--color: var(--chat--color-secondary);\n  --chat--input--send--button--background-hover: var(--chat--color-primary-shade-50);\n  --chat--input--send--button--color-hover: var(--chat--color-secondary-shade-50);\n  --chat--input--file--button--background: var(--chat--color-white);\n  --chat--input--file--button--color: var(--chat--color-secondary);\n  --chat--input--file--button--background-hover: var(--chat--input--file--button--background);\n  --chat--input--file--button--color-hover: var(--chat--color-secondary-shade-50);\n  --chat--files-spacing: 0.25rem;\n\n  /* Corpo e rodap\u00e9 do chat */\n  --chat--body--background: var(--chat--color-light);\n  --chat--footer--background: var(--chat--color-light);\n  --chat--footer--color: var(--chat--color-dark);\n}\n\n/* Limita a largura das mensagens no bal\u00e3o */\n.chat-message {\n  max-width: 50%;\n}\n\n/* Fonte do cabe\u00e7alho (t\u00edtulo + subt\u00edtulo) em Arial */\n.chat-header,\n.chat-header * {\n  font-family: Arial, Helvetica, sans-serif !important;\n}\n",
          "responseMode": "responseNodes",
          "inputPlaceholder": "Enter the information here..."
        },
        "initialMessages": "\ud83e\udd16 Enter all the following information for the generation of the Daily Construction Report (DCR):\n1. Basic DCR identification / 2. General conditions of the day / 3. Human resources / 4. Equipment and machinery / 5. Activities performed / 6. Materials / 7. Quality, Safety, and Environment (QHSE) / 8. Interferences, constraints, and special occurrences / 9. Any other information deemed necessary"
      },
      "typeVersion": 1.4
    },
    {
      "id": "17508335-3a59-4c63-acd8-b8d4eb1415ef",
      "name": "Guardrail: Validate Input",
      "type": "@n8n/n8n-nodes-langchain.guardrails",
      "position": [
        576,
        160
      ],
      "parameters": {
        "text": "={{ $('Chat: Capture DCR Input').item.json.chatInput }}",
        "guardrails": {
          "jailbreak": {
            "value": {
              "threshold": 0.7,
              "customizePrompt": true
            }
          }
        },
        "customizeSystemMessage": true
      },
      "typeVersion": 2
    },
    {
      "id": "f6d0c050-4acd-4437-b161-271b020000ba",
      "name": "Gmail: Jailbreak Alert",
      "type": "n8n-nodes-base.gmail",
      "position": [
        864,
        352
      ],
      "parameters": {
        "sendTo": "={{ $('Config').item.json.emailTo }}",
        "message": "=Message sent:\n\n{{ $json.guardrailsInput }}",
        "options": {},
        "subject": "={{ $('Config').item.json.emailErrorSubjectPrefix }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a0407237-ce3f-4120-8eaf-ddac07e5da80",
      "name": "Chat: Block Notice",
      "type": "@n8n/n8n-nodes-langchain.chat",
      "position": [
        592,
        608
      ],
      "parameters": {
        "message": "=\u26a0\ufe0f Alert \u2013 Jailbreak Attempt\n\nMessage received:\n\n{{ $('Guardrail: Validate Input').item.json.guardrailsInput }}",
        "options": {},
        "waitUserReply": false
      },
      "typeVersion": 1
    },
    {
      "id": "5783bddc-d419-4d39-bd57-874871744a92",
      "name": "AI: Standardize DCR",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1120,
        144
      ],
      "parameters": {
        "options": {
          "systemMessage": "Agent Role\nYou are an AI agent specialized in the analysis, consolidation, and standardization of Daily Construction Reports (DCR). Your objective is to transform raw, disorganized, or extensive information into a clear, objective, and standardized summary, maintaining full fidelity to the provided data.\n\n\ud83c\udfaf Main Objectives\n\nUnderstand all information provided in the DCR.\n\nEliminate redundancies, informal language, or irrelevant content.\n\nPreserve facts, numbers, dates, occurrences, and responsibilities.\n\nOrganize the content according to the standard format defined below.\n\nDo not invent, infer, or assume information that is not explicitly provided.\n\nUse technical, clear, and professional language appropriate to the engineering/construction context.\n\n\ud83e\uddfe Standard Output Format (Mandatory)\n\nAlways respond exclusively in the following format:\n\n\ud83d\udcc5 DCR Date:\n\n[Provide date or \"Not informed\"]\n\n\ud83c\udfd7\ufe0f Project / Construction Site:\n\n[Project name or \"Not informed\"]\n\n\ud83d\udc77 Field Team:\n\n[Number of workers and roles, if informed]\n\n\ud83d\udea7 Activities Performed:\n\n[Objective summary of activities carried out during the day]\n\n\u23f1\ufe0f Working Hours:\n\nStart: [time or \"Not informed\"]\n\nEnd: [time or \"Not informed\"]\n\n\ud83c\udf26\ufe0f Weather Conditions:\n\n[Description or \"Not informed\"]\n\n\u26a0\ufe0f Occurrences / Issues:\n\n[Accidents, delays, technical problems, visits, inspections, etc.]\n\nIf none exist, write: \"No relevant occurrences.\"\n\n\ud83d\udce6 Materials / Equipment:\n\n[Materials received, used, or equipment mobilized]\n\n\ud83d\udcca Physical Progress (if informed):\n\n[Percentage or description]\n\n\ud83d\udcdd General Remarks:\n\n[Additional relevant information]\n\n\ud83d\udc64 Person Responsible for the Record:\n\n[Name, position, or \"Not informed\"]\n\n\ud83d\udccf Important Rules\n\nIf any field is not present in the received information, use \u201cNot informed\u201d.\n\nDo not mix fields or change the order of the format.\n\nDo not use emojis outside the titles already defined.\n\nDo not include personal opinions, suggestions, or conclusions.\n\nDo not use colloquial language.\n\n\u2705 Expected Behavior Example\n\nInput: long text, WhatsApp messages, loose notes, lists, or informal language.\n\nOutput: technical, organized, and standardized summary, strictly following the template."
        },
        "promptType": "guardrails"
      },
      "typeVersion": 3
    },
    {
      "id": "f52fb94b-478f-4b59-bf48-5d225075660a",
      "name": "Guardrail Chat Model: OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        608,
        352
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {},
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "73965d87-bed5-491a-bc70-8739708dea0f",
      "name": "AI Chat Model: OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1168,
        352
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {},
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "414dec0f-b0a7-4dae-bca6-d898fda8dd76",
      "name": "Sheets: Append DCR Log",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1488,
        144
      ],
      "parameters": {
        "columns": {
          "value": {
            "Report": "={{ $json.output }}",
            "Date/Time": "={{ $('Config').item.json.runTimestamp }}"
          },
          "schema": [
            {
              "id": "Date/Time",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Date/Time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Report",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Report",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $('Config').item.json.logSheetName }}"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Config').item.json.logSpreadsheetId }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "403a783d-a858-4e05-bc9c-4a4a86e3836b",
      "name": "Gmail: Send DCR Report",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1728,
        144
      ],
      "parameters": {
        "sendTo": "={{ $('Config').item.json.emailTo }}",
        "message": "={{ $('AI: Standardize DCR').item.json.output }}",
        "options": {},
        "subject": "={{ $('Config').item.json.emailSuccessSubjectPrefix }} - {{ $('Config').item.json.runTimestamp }}",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "ee94ba52-8423-48e2-a55e-4e7b29326a29",
      "name": "Chat: Success Notice",
      "type": "@n8n/n8n-nodes-langchain.chat",
      "position": [
        1472,
        400
      ],
      "parameters": {
        "message": "\u2705 Your information has been successfully recorded!",
        "options": {},
        "waitUserReply": false
      },
      "typeVersion": 1
    },
    {
      "id": "c77b5e4d-ed55-4f59-8196-9cee73d8f8cd",
      "name": "End: Guardrail Block",
      "type": "n8n-nodes-base.noOp",
      "position": [
        864,
        608
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6e9d88a1-7c55-443e-853c-a4d905bf8b00",
      "name": "End: Success",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1696,
        400
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f47e24fb-21c6-40f3-b3fc-664d6d72d141",
      "name": "Config",
      "type": "n8n-nodes-base.set",
      "position": [
        352,
        160
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "6c7dcd53-f3cd-42b9-bdc5-6718a395fbc0",
              "name": "runTimestamp",
              "type": "string",
              "value": "={{ DateTime.now().setZone('America/Sao_Paulo').toFormat('dd/MM/yyyy HH:mm:ss') }}"
            },
            {
              "id": "db0a1b01-0a81-431e-a90a-164df25521fe",
              "name": "reportLanguage",
              "type": "string",
              "value": "English"
            },
            {
              "id": "44000c1a-9579-413a-8243-7be33d9e3fd5",
              "name": "emailTo",
              "type": "string",
              "value": "user@example.com"
            },
            {
              "id": "0d65e791-1+1234567890e05-e4b2e173a9aa",
              "name": "emailErrorSubjectPrefix",
              "type": "string",
              "value": "Alert \u2013 Jailbreak Attempt"
            },
            {
              "id": "f7978f47-0c52-445a-a23d-5f9e667dfc66",
              "name": "emailSuccessSubjectPrefix",
              "type": "string",
              "value": "=Daily Construction Report"
            },
            {
              "id": "e4b248b1-fc05-4de8-86e6-3a3cdd3c2afc",
              "name": "logSpreadsheetId",
              "type": "string",
              "value": "REPLACE_WITH_SPREADSHEET_ID"
            },
            {
              "id": "8dccf478-25b3-4939-9daf-abe791a1e243",
              "name": "logSheetName",
              "type": "string",
              "value": "P\u00e1gina1"
            }
          ]
        }
      },
      "typeVersion": 3.4
    }
  ],
  "active": true,
  "settings": {
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "c2b91c93-a605-4298-912e-14d2a836cc88",
  "connections": {
    "Config": {
      "main": [
        [
          {
            "node": "Guardrail: Validate Input",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Chat: Block Notice": {
      "main": [
        [
          {
            "node": "End: Guardrail Block",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI: Standardize DCR": {
      "main": [
        [
          {
            "node": "Sheets: Append DCR Log",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Chat: Success Notice": {
      "main": [
        [
          {
            "node": "End: Success",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Chat Model: OpenAI": {
      "ai_languageModel": [
        [
          {
            "node": "AI: Standardize DCR",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Gmail: Jailbreak Alert": {
      "main": [
        [
          {
            "node": "Chat: Block Notice",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gmail: Send DCR Report": {
      "main": [
        [
          {
            "node": "Chat: Success Notice",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sheets: Append DCR Log": {
      "main": [
        [
          {
            "node": "Gmail: Send DCR Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Chat: Capture DCR Input": {
      "main": [
        [
          {
            "node": "Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Guardrail: Validate Input": {
      "main": [
        [
          {
            "node": "AI: Standardize DCR",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Gmail: Jailbreak Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Guardrail Chat Model: OpenAI": {
      "ai_languageModel": [
        [
          {
            "node": "Guardrail: Validate Input",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}

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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Standardize Daily Construction Reports (DCR) with AI by capturing raw site inputs via chat and automatically generating structured Work Performance Data.

Source: https://n8n.io/workflows/11907/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Who is this workflow for? This workflow is designed for SEO analysts, content creators, marketing agencies, and developers who need to index a website and then interact with its content as if it were

Agent, OpenAI Chat, Memory Buffer Window +10
AI & RAG

This Chatbot automates the process of discovering job openings and generating tailored job application emails.

Chat Trigger, OpenAI Chat, Mcp Client Tool +12
AI & RAG

This workflow creates a fully interactive AI-powered Sales CRM Chatbot inside n8n, capable of understanding user queries, searching Google Sheets for CRM data, and responding intelligently based on re

Chat Trigger, OpenAI Chat, Google Sheets Tool +4
AI & RAG

Streamline the final stage of your content production workflow by automating publishing, formatting, metadata generation, and approval routing. This AI-powered subworkflow pulls optimized drafts from

Google Sheets Tool, Memory Buffer Window, Agent +6
AI & RAG

Let your team create, track, and manage project tasks through natural conversation. This workflow uses an AI Project Manager Agent that chats with users, gathers the task details it needs, and automat

Chat Trigger, Agent, OpenAI Chat +4