Table of Contents
- 1 The Business Situation
- 2 The Existing Process
- 3 What the New System Needed to Do
- 4 Implementation Approaches Considered
- 4.1 Google Workspace only
- 4.2 Microsoft 365
- 4.3 Airtable, Google Workspace, and Make
- 4.4 Dedicated service-management software
- 5 The Selected Solution
- 6 System Architecture and Data Flow
- 7 Data Structure
- 8 Workflow Statuses and Ownership
- 9 Step-by-Step Implementation
- 9.1 Step 1: Prepare the Accounts and Permissions
- 9.2 Step 2: Build the Intake
- 9.3 Step 3: Create the System of Record
- 9.4 Step 4: Connect the Tools
- 9.5 Step 5: Build the Core Automation
- 9.6 Step 6: Add Approvals, Reminders, and Escalations
- 9.7 Step 7: Add Documents and File Management
- 9.8 Step 8: Add Reporting and Operational Views
- 9.9 Step 9: Add Security and Governance Controls
- 9.10 Step 10: Deploy and Test
- 10 Code and Configuration
- 10.1 Airtable formulas
- 10.2 Make scenario configuration
- 10.3 Duplicate-search configuration
- 10.4 Email templates
- 11 Failure Handling and Operational Reliability
- 12 A Complete Example
- 13 Implementation Cost
- 14 Estimated Time and Cost Savings
- 15 Adding AI to the Automation
- 15.1 The Recommended AI Enhancement
- 15.2 Benefits of the AI Enhancement
- 15.3 What Remains Rule-Based or Human-Controlled
- 15.4 Estimating the Additional Value of AI
- 16 Testing Checklist
- 17 Ongoing Maintenance
- 18 When to Move to Dedicated Software
- 19 Implementation Checklist
The Business Situation
Linden Forge Components is a fictional 85-person light manufacturing business operating from one production and office site. Its employees regularly need help from IT, human resources, finance, facilities, procurement, and production support.
Note: This case study is provided as a representative example of the types of AI integration and digital transformation solutions Intelligex designs and delivers. Actual engagements are tailored to each client’s goals, constraints, existing systems, timeline, and available resources, so the approach, tools, and outcomes may vary.
The business receives approximately 180 internal requests each month. About 55 concern IT, 25 concern HR, 30 concern finance, 25 concern facilities, 20 concern procurement, and 25 concern production operations.
Employees were submitting those requests through personal email, shared mailboxes, chat messages, hallway conversations, paper notes, and separate Google Sheets. Urgent work sometimes reached the correct person quickly, but there was no consistent way to distinguish a genuinely urgent issue from an ordinary request.
The operating group included an operations coordinator who became the system owner, an office administrator who served as the backup owner, and six queue owners:
- An IT coordinator for equipment, software, account, and access requests
- A People Operations manager for HR and policy requests
- A finance administrator for reimbursements, invoice questions, and reporting requests
- A facilities supervisor for building and maintenance requests
- A purchasing coordinator for procurement requests
- A production support coordinator for operational issues
Department managers and the finance manager remained responsible for approvals. Requesters remained responsible for supplying missing information and confirming when appropriate that an issue had been resolved.
Linden Forge Components already used Google Workspace. The selected implementation retained Google Forms, Google Sheets, Google Drive, and Gmail while adding Airtable as the operational system of record and Make as the automation layer.
The Existing Process
The original request process followed no single path, but a typical request moved through these steps:
- An employee sent an email, chat message, or verbal request to the person they believed could help.
- The recipient decided whether the request belonged to them. If not, they forwarded it or asked the employee to contact someone else.
- The eventual owner copied some requests into a personal or departmental spreadsheet.
- Supporting documents remained attached to email, stored in personal Drive folders, or linked from chat.
- Approvals were requested in separate email threads.
- The owner manually followed up when information was missing.
- The requester asked for status updates because there was no common status record.
- Managers assembled monthly reports from inbox searches and spreadsheets.
| Existing issue | Practical business effect |
|---|---|
| Requests arrived through different channels | Employees did not know where to submit work, and queue owners had to monitor multiple locations. |
| Information was unstructured | Owners repeatedly asked for asset numbers, cost centers, amounts, required dates, or production areas. |
| Requests were copied into spreadsheets | Duplicate entry consumed time and introduced inconsistent status and ownership information. |
| Priority was described in free text | Words such as urgent were applied inconsistently and could not be reported reliably. |
| Approvals remained in email | It was difficult to prove who approved a purchase, when approval occurred, or which amount was approved. |
| No universal request identifier existed | Email threads, files, and spreadsheet rows could not be matched confidently. |
| Reminders depended on individuals | Work could remain unattended when an owner was busy or absent. |
| Sensitive details were forwarded broadly | HR and finance information could be exposed to people who did not need it. |
| Reporting required reconciliation | Managers could not reliably measure volume, aging, overdue work, or processing time. |
| Knowledge articles were disconnected | Employees waited for common answers that already existed in internal documentation. |
The problem was not simply that requests were slow. The business could not see the complete workload, assign clear ownership, establish consistent service targets, or identify which recurring issues should be prevented.
What the New System Needed to Do
The project team defined the requirements before selecting the final tools.
| Requirement | Expected behavior |
|---|---|
| Central intake | Employees must submit from a desktop or mobile device through one internal form. |
| Conditional questions | The form must request different information for IT, HR, finance, facilities, procurement, and operations. |
| Validation | Required fields, dates, amounts, email addresses, and allowed choices must be checked before processing. |
| Unique identification | Every accepted request must receive an immutable request ID and retain its source submission key. |
| Routing | Category, subtype, site area, amount, access risk, and safety indicators must determine the queue and owner. |
| Ownership | Every active request must have an owning team and an individual owner or appear in a manual-review queue. |
| Status control | Statuses must have defined entry and exit conditions rather than relying on free-text updates. |
| Approvals | Purchases and sensitive access requests must follow recorded approval rules. |
| Notifications | Requesters, owners, and approvers must receive relevant confirmations and action messages. |
| Reminders and escalation | Open requests must be reminded before their due time and escalated when overdue. |
| Documents | Files must remain in organization-controlled Google Drive storage and be linked to the request. |
| Knowledge links | Confirmation messages should include approved internal guidance when a routing rule has a matching article. |
| Exceptions | Invalid, duplicate, or failed records must be visible and recoverable without creating another request. |
| Reporting | Managers need current volume, aging, ownership, exception, and completion-time views. |
| Permissions | Employees should see their submissions, while sensitive queues remain restricted to authorized staff. |
| Audit evidence | Status changes, approvals, reminders, reassignments, and automation failures must be timestamped. |
| Manual override | Authorized queue owners must be able to correct routing, priority, due dates, and ownership with a recorded reason. |
| Human control | Payment release, access approval, HR decisions, safety decisions, and policy exceptions must remain human-controlled. |
The form was explicitly not designed for emergencies. The introduction directs employees to call the designated supervisor for immediate safety risks, suspected security incidents, or production conditions requiring an immediate shutdown.
Implementation Approaches Considered
| Approach | Connected tools | Strengths | Limitations | Fit |
|---|---|---|---|---|
| Google Workspace only | Google Forms, Sheets, Drive, Gmail, Apps Script | Retains familiar tools and can be customized with code. | Row-level permissions, workflow views, related records, and audit controls require significant scripting. | Reasonable for a smaller, low-sensitivity process with a technical script owner. |
| Microsoft 365 workflow | Microsoft Forms, SharePoint, Power Automate, Outlook, Teams, Power BI | Strong fit for businesses already standardized on Microsoft identity and collaboration tools. | Would introduce a second productivity suite and duplicate identity, licensing, and administration in this scenario. | Good alternative when Microsoft 365 is already the primary environment. |
| Airtable with Google Workspace and Make | Google Forms, Sheets, Drive, Airtable, Make, Gmail | Structured records, flexible interfaces, native connectors, related tables, and configurable routing. | Requires careful permission design, automation monitoring, and eventual volume review. | Selected for the representative 180-request monthly volume. |
| Dedicated service-management platform | Service portal, workflow engine, knowledge base, email, identity provider | Provides mature queues, service targets, portals, audit features, and service-management practices. | Higher administration effort and more process change than the initial requirement justified. | Appropriate when formal service management, regulatory controls, or much higher volume is required. |
Google Workspace only
A Google-only implementation could store form responses in Sheets and use Google Apps Script for routing, reminders, approvals, and reporting. It was not selected because the script would have to implement record relationships, restricted operational views, retry controls, and substantial audit behavior.
Microsoft 365
Microsoft Forms, SharePoint, Power Automate, Outlook, and Power BI could support the process. This was a technically credible option, but Linden Forge Components already used Google Workspace. Introducing Microsoft 365 solely for this workflow would have increased identity and support overhead.
Airtable, Google Workspace, and Make
This approach retained the familiar employee-facing form and email tools while introducing a structured operational database and configurable automation. It provided enough workflow control for the expected volume without requiring a custom application.
Dedicated service-management software
A dedicated platform would become more attractive if the business needed a customer-style service portal, formal service-level management, configuration management, on-call scheduling, complex asset relationships, or a larger support organization. Those requirements were not part of the initial scope.
The Selected Solution
The selected solution used Google Forms for intake, a linked Google Sheet as a durable response buffer, Make for integration and scheduling, Airtable for operational records and reporting, Google Drive for documents, and Gmail for communication.
| Tool | Responsibility |
|---|---|
| Google Forms | Provides mobile and desktop intake, conditional sections, validation, file uploads, and approval-response forms. |
| Google Sheets | Stores immutable form responses, row numbers, processing state, generated request IDs, and recovery information. |
| Make | Validates submissions, checks duplicates, looks up routing rules, creates records, sends email, monitors deadlines, and records failures. |
| Airtable | Acts as the system of record for requests, routing rules, approvals, activity history, knowledge links, and operational dashboards. |
| Google Drive | Stores uploaded files and request folders under organization-controlled permissions. |
| Gmail | Sends confirmations, owner alerts, approval requests, reminders, escalations, and failure notifications. |
| Optional approved AI service | Suggests categories, summaries, missing fields, and knowledge tags for non-sensitive requests classified as Unsure. |
The implementation removed manual spreadsheet entry, informal routing, most status inquiries, and individually scheduled reminders. Google Workspace remained the employee-facing environment, reducing training requirements.
Human decisions were deliberately retained. Queue owners could correct a route, managers approved qualifying purchases, IT approved access, finance released payments, HR handled employment decisions, and supervisors assessed safety or production risks.
System Architecture and Data Flow
- Intake: Google Forms with conditional request sections and optional file upload
- System of record: Airtable Requests, Routing Rules, Team Members, Approval Events, Activity Log, and Knowledge Articles tables
- Automation layer: Make scenarios triggered by new Google Sheets rows and scheduled monitoring intervals
- Document storage: Google Drive with restricted folders and links recorded in Airtable
- Notifications: Gmail sent from a delegated automation mailbox
- Reporting: Airtable views and Interfaces using current request records and calculated fields
- AI layer: Optional constrained triage assistant for eligible, non-sensitive Unsure requests
- Submission: An authenticated employee submits the Google Form. Google Forms validates required questions and writes a row to its linked response sheet. An incomplete form cannot be submitted. A form-level failure remains visible to the user and creates no operational record.
- Trigger: Make monitors the response sheet for new rows. It receives the submission timestamp, row number, requester details, category fields, description, and file links.
- Source key creation: Make combines the spreadsheet identifier and row number into a source key such as
GF-YOUR_SPREADSHEET_ID-442. This key supports idempotency, meaning the same source event can be processed repeatedly without creating duplicate requests. - Duplicate check: Make searches Airtable for the source key. If a matching request exists, it records the existing request ID in the response sheet and stops the create branch.
- Validation and transformation: Make normalizes email addresses, converts amount fields to numbers, converts dates to ISO date values, maps form labels to controlled Airtable values, and checks category-specific requirements.
- Routing: Make searches the Airtable Routing Rules table using request type, subtype, location, and risk flags. It receives the owner, service target, approver rule, escalation owner, and knowledge link.
- Record creation: Make creates the Airtable request. Airtable returns its record identifier and calculates the human-readable request ID. Make reads the completed record and writes both identifiers back to the source sheet.
- Document handling: If files were uploaded, Make creates a request folder in Google Drive, moves or copies permitted files into it, and saves the folder and file links in Airtable. If file processing fails, the request still exists but is marked with a document exception.
- Communication: Gmail sends a confirmation to the requester and an assignment alert to the owner. A relevant approved knowledge link is included when one is present in the routing rule.
- Ongoing monitoring: Scheduled Make scenarios search Airtable for due reminders, overdue work, pending approvals, failed automation, and completed requests awaiting closure. Each notification is logged before the next reminder time is calculated.
- Resolution: The owner marks the request Resolved in an Airtable Interface. The requester receives a final message. The record moves to Closed after confirmation or after the defined closure period.
- Failure path: A failed module updates either the source sheet or the Airtable request with the error, retry count, last run time, and recovery status. The system owner receives a failure message after automated retries are exhausted.
Data Structure
The Airtable base contains one primary Requests table and five related tables. One request can have many approval events and activity-log entries. Each request links to one active routing rule, one owning team, and zero or more knowledge articles.
| Field | Type and requirement | Source or allowed values | Purpose |
|---|---|---|---|
| Request ID | Formula, required | Generated from creation date and Airtable record ID | Human-readable identifier used in email, folders, and reports. |
| Source Key | Single-line text, required | Spreadsheet ID plus response row number | Prevents duplicate creation. |
| External System ID | Single-line text | Google Sheets row reference or later downstream ID | Supports reconciliation with the source system. |
| Created Date | Created-time field, required | Airtable | Records when the operational record was created. |
| Last Updated | Last-modified-time field, required | Airtable | Supports monitoring and audit review. |
| Submission Timestamp | Date and time, required | Google Forms | Preserves the original intake time. |
| Requester Name | Single-line text, required | Google Forms | Identifies the employee requesting help. |
| Requester Email | Email, required | Collected authenticated email | Used for confirmation and follow-up. |
| Department | Single select, required | Production, Sales, Finance, People, Supply Chain, Leadership, Other | Supports routing and reporting. |
| Request Type | Single select, required | IT, HR, Finance, Facilities, Procurement, Operations, Unsure | Defines the primary queue. |
| Request Subtype | Single select, required after validation | Controlled values defined for each request type | Selects the detailed routing rule. |
| Subject | Single-line text, required | Google Forms, 120-character operating limit | Provides a concise request label. |
| Description | Long text, required | Google Forms | Explains the request and business impact. |
| Requested Priority | Single select, required | Low, Normal, High, Urgent | Captures the employee’s assessment. |
| Priority | Single select, required | Low, Normal, High, Urgent | Stores the validated operational priority. |
| Owner Team | Linked record, required | Routing Rules | Identifies the responsible queue. |
| Owner | Linked Team Member record | Active team members only | Identifies the person currently responsible. |
| Owner Email | Lookup, required for assignment | Team Members | Provides a controlled notification address. |
| Status | Single select, required | New, Manual Review, Assigned, Awaiting Info, Pending Approval, In Progress, Resolved, Closed, Rejected, Exception | Controls the request lifecycle. |
| Target Hours | Number, required | Routing rule | Provides the calendar-hour service target for the pilot. |
| Due Date | Date and time, required for active work | Calculated by Make | Drives reminders and overdue reporting. |
| Approval Status | Single select, required | Not Required, Pending, Approved, Rejected, More Information | Records the current approval state. |
| Current Approver Email | Routing rule or manager lookup | Validates approval-form submissions. | |
| Approval Level | Integer | 0, 1, or 2 in the initial workflow | Controls sequential approval. |
| Amount | Currency | Finance or procurement form section | Determines approval thresholds. |
| Cost Center | Single-line text | Finance or procurement section | Supports approval and reporting. |
| Exception Type | Single select | Missing Data, No Route, Duplicate, Document Failure, Notification Failure, Authentication, Invalid Approval, Other | Classifies records needing intervention. |
| Document Link | Long text or URL | Google Forms and Drive | Preserves links to submitted documents. |
| Drive Folder Link | URL | Make and Google Drive | Links the request to its managed folder. |
| Knowledge Link | URL lookup | Routing Rules or Knowledge Articles | Includes approved self-service guidance. |
| Automation Status | Single select, required | Pending, Processing, Complete, Failed, Needs Review | Separates workflow status from automation health. |
| Last Automation Run | Date and time | Make | Shows when the integration last processed the record. |
| Retry Count | Integer, default 0 | Make | Limits automatic retry attempts. |
| Error Message | Long text | Make error handler | Stores a sanitized operational error. |
| Reminder Count | Integer, default 0 | Make | Prevents repeated identical reminders. |
| Next Reminder At | Date and time | Make | Schedules the next owner notification. |
| Escalation Level | Integer, default 0 | Make | Tracks overdue escalation. |
| Resolved At | Date and time | Make or authorized owner | Supports processing-time reporting. |
| Notes | Long text | Authorized owner | Records operational notes that are appropriate for the shared workflow. |
| Table | Key fields | Relationship |
|---|---|---|
| Routing Rules | Rule ID, type, subtype, risk flag, owner team, owner, target hours, approval rule, escalation owner, knowledge link, active | One rule can route many requests. |
| Team Members | Name, work email, team, manager, backup owner, active, approval authority | One person can own many requests or approvals. |
| Approval Events | Event key, request, level, approver email, decision, comments, submitted time, source row | Many immutable approval events can relate to one request. |
| Activity Log | Event key, request, event type, previous value, new value, actor, timestamp, details | Many workflow and automation events can relate to one request. |
| Knowledge Articles | Article ID, title, category, approved URL, owner, review date, active | Approved articles can be linked to routing rules and requests. |
Workflow Statuses and Ownership
| Status | Meaning and owner | Entry and exit conditions | Reminder and escalation |
|---|---|---|---|
| New | Record has been created. Make owns processing. | Entered after creation. Exits after validation and routing. | Alert the system owner if it remains New for more than 15 minutes. |
| Manual Review | Routing is uncertain. Operations coordinator owns it. | Entered when no rule matches, AI confidence is low, or data conflicts. Exits after correction and assignment. | Reminder after four hours; escalation to the backup owner after eight hours. |
| Assigned | A queue and owner are identified. | Entered after successful routing. Exits when work starts, approval is required, or information is missing. | Reminder before the due time based on target length. |
| Awaiting Info | The requester must provide missing information. Owner remains accountable. | Entered when the owner requests clarification. Exits when information arrives or the request is withdrawn. | Requester reminder after two business days; owner review after five business days. |
| Pending Approval | The current approver owns the decision. | Entered when an approval rule applies. Exits on approval, rejection, or request for more information. | Approver reminder after 24 hours and escalation after 48 hours. |
| In Progress | The assigned owner is actively working. | Entered when work begins or final approval is granted. Exits to Resolved, Awaiting Info, or Exception. | Due reminder and overdue escalation remain active. |
| Resolved | The owner believes the work is complete. | Entered with a resolution note and timestamp. Exits to Closed or returns to In Progress if reopened. | Closure reminder to requester after two business days. |
| Closed | No further action is expected. | Entered after requester confirmation or the configured closure period. | No reminders. |
| Rejected | An approver declined the request. | Entered from Pending Approval with a recorded approval event and reason. | No operational reminders. Requester receives the decision. |
| Exception | A data, document, integration, or policy problem blocks normal processing. | Entered by validation or an error handler. Exits after manual correction and controlled reprocessing. | System-owner alert immediately and backup-owner escalation after four hours. |
Records can move backward. A resolved request can return to In Progress if the requester reports that the problem remains. Pending Approval can return to Awaiting Info. Manual Review can return to New only through a controlled retry process.
Step-by-Step Implementation
Step 1: Prepare the Accounts and Permissions
- Create an organization-owned Google Form for request intake and a separate approval-response form. Do not create them under an employee’s personal account.
- Link each form to an organization-controlled Google Sheet. Protect raw response columns from normal editing.
- Create a dedicated automation mailbox such as
YOUR_REQUEST_HUB_EMAIL_ADDRESS. Use Google Workspace delegation or another approved shared-mailbox pattern rather than sharing a password. - Create an Airtable workspace and base owned by an organizational administrator. The account must support the required Interfaces, automation access, and permission model. Verify current vendor features before purchasing a subscription.
- Create a Make organization, production folder, and separate test folder. Restrict scenario editing to the system owner and backup owner.
- Connect Make to Google Sheets, Google Drive, Gmail, and Airtable using organization-controlled connections. Use OAuth where supported or a scoped Airtable personal access token. Do not use legacy or personal credentials.
- Limit the Airtable credential to the request-hub base and required record scopes. Limit Google access to the mailbox, forms, response sheets, and document locations required by the workflow.
- Create a restricted Google Drive root folder named
Internal Request Hub. Grant access to the system owner, backup owner, and automation identity. Queue-specific subfolders receive narrower permissions. - Create test identities representing an employee, queue owner, approver, unauthorized user, system owner, and absent approver.
- Build first in a test Airtable base, test forms, test sheets, and test Drive folder. Production connections should not be enabled until user acceptance testing is complete.
The Google connections request access to read response sheets, manage designated Drive files, and send Gmail messages. The Airtable connection requires permission to read routing data and create or update records. Administrators should review the actual consent screen because scopes can change as connectors are updated.
Step 2: Build the Intake
Create one Google Form titled Internal Request Hub. Restrict it to authenticated employees where the Google Workspace configuration permits this. Collect the authenticated email address rather than relying only on an employee-typed address.
The first section contains the common questions. The Request Type question is a multiple-choice field configured to send respondents to the corresponding category section.
| Field | Required | Validation or choices |
|---|---|---|
| Requester Name | Yes | Short text; employee display name |
| Department | Yes | Controlled dropdown matching Airtable values |
| Manager Email | Yes | Email-format validation |
| Request Type | Yes | IT, HR, Finance, Facilities, Procurement, Operations, Unsure |
| Subject | Yes | Short text; instruction to keep it concise and omit confidential details |
| Requested Priority | Yes | Low, Normal, High, Urgent with definitions in the help text |
| Needed By | No | Date; does not replace the system-calculated due date |
| Description and Business Impact | Yes | Paragraph; instruction not to include passwords, authentication codes, medical details, or bank information |
| Supporting Files | No | File upload for approved file types, subject to current Google Forms and Drive limits |
| Acknowledgment | Yes | Confirms the form is not for emergencies and prohibits secrets in submissions |
Configure conditional sections as follows:
- IT: issue type, affected system, asset tag, number of users affected, access request indicator, privileged access indicator, and work stopped indicator
- HR: request subtype, desired response date, confidentiality indicator, and whether the request concerns the requester or a team
- Finance: finance subtype, amount, vendor or payee, cost center, related invoice number, and required date
- Facilities: building area, issue type, safety concern indicator, equipment affected, and access-window information
- Procurement: item or service, estimated amount, supplier, cost center, needed-by date, and whether an existing contract applies
- Operations: production area, work center, product or job reference, downtime indicator, quality impact, and supervisor notified indicator
- Unsure: affected team, desired outcome, and any known deadline
Use numeric validation for amounts and email validation for manager addresses. Required category-specific questions should prevent submission when they are blank. Make performs a second validation because source sheets can still be edited and because conditional requirements may be more complex than form-level rules.
Google Forms file upload normally requires the respondent to sign in. Confirm where uploaded files are stored and whether the organization’s shared-drive configuration supports the intended process. If those controls are unsuitable, replace file upload with a required organization-controlled Drive link.
The confirmation message should state that the request has been received and that a separate email will provide the request ID. Google Forms cannot display the Airtable request ID because Airtable processing occurs after submission.
Step 3: Create the System of Record
Create the Requests, Routing Rules, Team Members, Approval Events, Activity Log, and Knowledge Articles tables described earlier. Use controlled single-select values rather than free text for status, priority, type, approval status, and exception type.
In Routing Rules, create one active rule for every supported type and subtype combination. A representative rule contains:
- Rule ID:
IT-EQUIPMENT-HIGH - Request Type: IT
- Request Subtype: Equipment Issue
- Risk Condition: Work Stopped equals Yes
- Owner Team: IT
- Default Owner: IT coordinator
- Priority: High
- Target Hours: 8
- Approval Rule: None
- Escalation Owner: Operations manager
- Knowledge Article: Approved printer and workstation troubleshooting article
- Active: Yes
Use calendar-hour targets during the pilot because they are easier to calculate and audit consistently. If the organization requires business calendars, holidays, shifts, or site-specific coverage, add an approved calendar service or dedicated service-management platform rather than embedding increasingly complex date rules.
Create filtered Airtable views for each queue and for each lifecycle state. Base editors should be limited to administrators. Queue users should work through restricted Interfaces or another permission-controlled view that does not expose unrelated sensitive records.
Record history in Airtable is useful, but the Activity Log is still required. It creates an explicit event trail for automated reminders, approvals, reassignments, and key status changes.
Step 4: Connect the Tools
| Source field | Transformation in Make | Airtable destination |
|---|---|---|
| Response timestamp | Parse using the sheet timezone and convert to an ISO date-time value | Submission Timestamp |
| Response row number | Combine with spreadsheet ID | Source Key and External System ID |
| Collected email | Trim whitespace and convert to lowercase | Requester Email |
| Department | Map form label to the exact controlled value | Department |
| Request Type | Map to allowed type; invalid values enter Manual Review | Request Type |
| Category-specific subtype | Select the populated subtype column | Request Subtype |
| Requested Priority | Preserve the submitted value, then apply routing rules to operational priority | Requested Priority and Priority |
| Amount | Remove permitted formatting and convert to a number | Amount |
| Needed-by date | Parse as a date in the organization timezone | Needed By |
| File-upload response | Split multiple links, extract Drive identifiers, and preserve original URLs | Document Link and Drive Folder Link |
Configure the source and destination connections as follows:
- Google Sheets to Make: Use a new-row trigger on the linked form-response worksheet. Select the sheet by identifier, not by a user-maintained copy.
- Make to Airtable: Use the approved Airtable connection to search Routing Rules, search Requests by Source Key, create Requests, create Activity Log records, and update processing fields.
- Make to Google Drive: Create the request folder and move or copy uploaded files when permitted. Capture the returned Drive folder and file identifiers.
- Make to Gmail: Send from the automation mailbox. Map requester, owner, approver, request ID, subject, status, due time, and approved links into controlled templates.
- Make to Google Sheets: Update the source row with Processing Status, Request ID, Airtable Record ID, Last Attempt, Retry Count, and Error Summary.
Connector module labels may vary as Make and the source products update their interfaces. The required pattern remains trigger, validation, duplicate search, routing lookup, destination creation, returned-ID capture, source update, and error handling.
Step 5: Build the Core Automation
Automation 1: Intake and record creation
- Trigger: A new row appears in the Google Forms response sheet.
- Conditions: Processing Status is blank or Failed, required common values are present, and the row has not already produced an Airtable request.
- Actions: Generate Source Key, validate data, search for duplicates, select the routing rule, create the request, retrieve the calculated Request ID, create an activity event, update the source row, create the Drive folder, and send email.
- Fields updated: Source Key, Request ID, owner, status, priority, due date, automation status, folder link, and processing fields.
- Notification: Requester confirmation and owner assignment message.
- Exception: Missing data, no routing rule, document failure, or notification failure creates a classified exception.
The exact action order is important:
- Read the row and reject rows without a stable row number or submission timestamp.
- Build
GF-YOUR_SPREADSHEET_ID-ROW_NUMBER. - Search Airtable Requests for the exact Source Key.
- If found, write the existing Request ID to the source sheet and stop.
- Normalize email, date, number, and controlled-choice fields.
- Check category-specific required values.
- Search active Routing Rules for the exact type and subtype.
- If multiple rules match, apply the most specific risk rule and flag the record if ambiguity remains.
- Create the Airtable request with Automation Status set to Processing.
- Capture the returned Airtable record ID.
- Read the created record so the Request ID formula is available.
- Calculate Due Date from creation time and Target Hours.
- Calculate the first Next Reminder At value.
- Create the Drive folder and process file links.
- Create an Activity Log entry with event key
CREATE:AIRTABLE_RECORD_ID. - Update the request to Assigned, Pending Approval, Manual Review, or Exception.
- Send requester and owner messages.
- Set Automation Status to Complete and write the result back to Google Sheets.
Automation 2: Assignment changes
- Trigger: A scheduled Make scenario finds an Airtable request with Reassignment Needed set to Yes.
- Conditions: The new owner is active, belongs to an authorized queue, and differs from the current owner.
- Actions: Save the previous owner, update the owner, clear the reassignment flag, create an activity event, and send notices.
- Fields updated: Owner, Owner Team, Last Automation Run, Automation Status.
- Notification: Previous owner, new owner, and requester receive the appropriate update.
- Exception: Invalid or inactive owners send the record to Manual Review.
Automation 3: Requester follow-up
- Trigger: A new row appears in a separate Google Form response sheet for additional information.
- Conditions: Request ID exists, requester email matches the original requester, and status is Awaiting Info.
- Actions: Create an Activity Log entry, link any new files, change the status to Assigned, and notify the owner.
- Fields updated: Status, Last Updated, Next Reminder At, Automation Status.
- Notification: Owner receives the new information; requester receives confirmation.
- Exception: Mismatched email or invalid status is held for manual review without changing the request.
Automation 4: Completion
- Trigger: A scheduled scenario finds a request newly marked Resolved.
- Conditions: Resolution note and Resolved At are present.
- Actions: Create a resolution event, send the completion message, and set a closure-review date.
- Fields updated: Resolved At, Next Reminder At, Automation Status.
- Notification: Requester receives the resolution and reopening instructions.
- Exception: Missing resolution information returns the record to the owner’s incomplete-work view.
Step 6: Add Approvals, Reminders, and Escalations
Create a second Google Form called Internal Request Approval. It collects the authenticated approver email and requires Request ID, Decision, and Comments. Decision values are Approve, Reject, and More Information.
Use representative approval rules such as:
- Procurement below $1,000 receives normal owner review but no separate workflow approval.
- Procurement from $1,000 through $4,999.99 requires the requester’s department manager.
- Procurement of $5,000 or more requires department-manager approval followed by finance-manager approval.
- Privileged IT access requires line-manager approval followed by IT approval regardless of stated urgency.
- Payment release is never performed by this workflow. Finance completes that action in the accounting system after its own controls.
The approval scenario performs these steps:
- Watch for a new row in the approval-response sheet.
- Build an approval event key from the sheet identifier and row number.
- Search Approval Events for that key and stop if it already exists.
- Find the request using Request ID.
- Confirm the request is Pending Approval.
- Compare the collected approver email with Current Approver Email after normalizing case.
- Create an immutable Approval Event.
- For Approve, move to the next approval level or set Approval Status to Approved and Status to In Progress.
- For Reject, set Approval Status and Status to Rejected and notify the requester.
- For More Information, set Approval Status to More Information and Status to Awaiting Info.
- Write the outcome to the approval-response sheet.
Approver links contain the Request ID but no confidential description. The approver reviews details through an authorized Airtable Interface or restricted Drive location before submitting the decision.
For unavailable approvers, the Team Members table includes a designated backup and an Active flag. The system owner can activate delegation with a start and end date. Make records the delegation source in the Approval Event. An employee cannot delegate approval merely by forwarding the email.
Reminder and escalation rules are:
- For targets of eight hours or less, send the first owner reminder two hours before the due time.
- For longer targets, send the first reminder four hours before the due time.
- At the due time, send an overdue message to the owner.
- Four hours after the due time, notify the owner and escalation owner.
- Repeat once every 24 hours, up to three escalation levels.
- After the third escalation, place the request in the manual-review queue rather than sending unlimited email.
- Remind pending approvers after 24 hours and escalate to the approved backup after 48 hours.
Each reminder first searches Activity Log for its unique event key. Only after confirming that the event does not exist does Make send the email, create the log entry, increment Reminder Count, and calculate Next Reminder At.
Step 7: Add Documents and File Management
Create the following Drive structure:
Internal Request Hub
2026
IT
HR Restricted
Finance Restricted
Facilities
Procurement
Operations
Exceptions
For each accepted request, Make creates a folder named with the request ID and a sanitized subject, for example:
REQ-20260715-A1B2C3 - Packaging label printer unavailable
Remove or replace characters that are unsuitable for a controlled folder name, limit the subject portion to a practical length, and never include confidential HR details in the folder name.
When Google Forms supplies multiple file links, Make splits the response value, obtains the Drive file identifiers, and moves or copies each file to the request folder according to the organization’s storage model. The original URL is retained until file processing succeeds.
Apply these controls:
- HR and finance folders receive separate restricted permissions.
- Uploaded files are not made public through link sharing.
- Replacement files receive a revision suffix or date rather than overwriting the original evidence.
- The Airtable record stores the folder link and current-document links.
- Duplicate file names are retained with unique suffixes.
- Unsupported or oversized files remain a document exception, with instructions sent to the requester.
- Failed moves do not delete the source upload.
- Retention follows the applicable HR, finance, security, and operations policy rather than one universal period.
- Closed request folders are archived only after the retention owner confirms the applicable rule.
Step 8: Add Reporting and Operational Views
Build Airtable views and Interfaces for the following operational queues:
- New requests awaiting automation
- Assigned work awaiting owner action
- Pending approvals
- Requests awaiting requester information
- Overdue requests
- Open requests by owner and queue
- Rejected requests
- Manual-review records
- Document exceptions
- Automation failures
- Requests due in the next 24 hours
- Recently resolved and closed requests
The management Interface should show monthly request volume, open workload by team, overdue count, median completion time, request type distribution, reassignment count, exception rate, and automation failure count.
Airtable is the reporting source, not the raw response sheet. This avoids counting duplicate form rows or failed submissions as accepted requests. Calculated fields update as request records change, and Interface users see current Airtable data subject to their permissions.
The operations coordinator owns dashboard definitions. Queue managers validate their figures monthly. An alert is generated if any request remains New for more than 15 minutes, automation failures exceed three unresolved records, or a queue has work at escalation level three.
Step 9: Add Security and Governance Controls
- Give employees form access without giving them Airtable base access.
- Limit base-editor rights to the system owner, backup owner, and approved administrator.
- Use queue-specific Interfaces for operational users and verify that interface permissions enforce the intended restrictions.
- Store only routing metadata for highly sensitive HR matters. Detailed records can remain in a restricted HR system or Drive location.
- Never collect passwords, authentication codes, complete bank details, medical records, or unnecessary government identifiers.
- Restrict Drive links to named users or approved groups. Disable broad public links.
- Store Make and Airtable credentials in managed platform connections, not spreadsheet cells or scenario notes.
- Require multifactor authentication for administrators and automation owners.
- Record approvals as append-only Approval Events rather than relying only on the current Approval Status field.
- Review Google, Make, Airtable, and Drive activity logs when investigating a failure or unauthorized change.
- Remove access promptly when an employee leaves or changes roles.
- Back up routing rules, request exports, and critical configuration on an approved schedule.
- Apply department-specific retention policies rather than assuming that all requests have the same legal or operational value.
- Do not send restricted HR, finance, access, legal, safety, or security information to an AI service.
Step 10: Deploy and Test
- Build and document the process in test forms, sheets, Drive folders, Make scenarios, and an Airtable test base.
- Create at least two test records for every request type, approval path, priority, and exception path.
- Use synthetic names, amounts, files, and descriptions. Do not test with real employee or financial information.
- Run technical tests for mapping, duplicate prevention, permissions, dates, retries, and logging.
- Conduct user acceptance testing with one requester, queue owner, and approver from each function.
- Pilot the workflow with IT and facilities for two weeks before enabling the more sensitive HR and finance queues.
- Freeze routing-rule changes during the final production test.
- Duplicate approved configuration into production and replace test connection identifiers with production values.
- Enable the intake scenario first, followed by approval, reminder, escalation, follow-up, and recovery scenarios.
- Monitor every production execution during the first three operating days.
- Publish a one-page employee guide and a queue-owner operating guide.
- Retain the previous shared mailboxes during the pilot but configure automatic replies directing employees to the new form.
- Define rollback as disabling Make scenarios, preserving all created records, and returning intake to the documented shared mailbox while the issue is corrected.
Code and Configuration
No custom code is required for the core implementation. Google Forms, Google Sheets, Airtable, Make, Google Drive, and Gmail provide the necessary native triggers and actions. This reduces source-code maintenance, but the scenarios and formulas still require version control, testing, and documentation.
Airtable formulas
Place the following formula in the Requests table’s Request ID formula field:
"REQ-" & DATETIME_FORMAT(CREATED_TIME(), "YYYYMMDD") & "-" & UPPER(RIGHT(RECORD_ID(), 6))
This creates a readable ID while retaining Airtable’s full internal record ID for integrations.
Create an Open Flag formula:
IF(
OR(
{Status} = "Closed",
{Status} = "Rejected"
),
0,
1
)
Create an Overdue Flag formula:
IF(
AND(
{Open Flag} = 1,
{Due Date},
IS_BEFORE({Due Date}, NOW())
),
1,
0
)
Create a Resolution Hours formula:
IF(
{Resolved At},
DATETIME_DIFF({Resolved At}, {Submission Timestamp}, "hours")
)
Confirm Airtable workspace timezone and locale settings before relying on date-time reporting.
Make scenario configuration
Scenario INT-01: Intake and Routing
Trigger: Google Sheets, new row in Form Responses
Schedule: Every 1 to 5 minutes, according to operational need
1. Read new response row
2. Filter: Processing Status is blank or Failed
3. Build Source Key
4. Airtable search: Requests where Source Key exactly matches
5. Router:
Existing record branch:
Update source sheet with existing Request ID
Stop
New record branch:
Validate common and category-specific fields
Search active Routing Rules
Create Airtable request
Read calculated Request ID
Calculate due and reminder times
Create Google Drive folder
Process file links
Create Activity Log event
Send requester confirmation
Send owner or approver notification
Update request as Complete
Update source sheet as Complete
6. Error route:
Increment Retry Count
Save sanitized error
Mark source row or Airtable request as Failed
Notify system owner after retry threshold
Scenario INT-02: Reminder and Escalation
Trigger: Scheduled
Schedule: Hourly
Search Requests where:
Open Flag = 1
Next Reminder At is at or before the current run time
Status is not Closed or Rejected
Automation Status is not Processing
For each request:
Build reminder event key
Search Activity Log for the event key
If absent:
Send reminder or escalation email
Create Activity Log event
Increment Reminder Count or Escalation Level
Calculate Next Reminder At
Update Last Automation Run
Scenario INT-03: Approval Response
Trigger: Google Sheets, new row in Approval Form Responses
1. Build approval event key
2. Reject duplicate event keys
3. Find Request ID
4. Validate Pending Approval status
5. Validate authenticated approver email
6. Create Approval Event
7. Apply Approve, Reject, or More Information branch
8. Create Activity Log event
9. Send decision notifications
10. Update approval response row
Scenario INT-04: Failed Record Recovery
Trigger: Scheduled
Schedule: Every 15 minutes
Search source rows and Airtable requests where:
Automation Status = Failed
Retry Count is less than 3
For each record:
Confirm no completed request already exists
Re-run the failed operation
Increment Retry Count
Mark Complete on success
Leave in Exception and notify the system owner after the third failure
Duplicate-search configuration
In the Make Airtable search module, filter the Requests table using the exact Source Key. A representative filter value is:
{Source Key} = "GF-YOUR_SPREADSHEET_ID-442"
The dynamic source key contains only the controlled spreadsheet identifier and numeric row number. Do not build search formulas directly from uncontrolled request descriptions.
Email templates
Subject: Request {{Request ID}} received: {{Subject}}
Your request has been recorded.
Request ID: {{Request ID}}
Type: {{Request Type}} / {{Request Subtype}}
Owner: {{Owner Name or Queue Name}}
Status: {{Status}}
Target time: {{Due Date}}
Approved guidance:
{{Knowledge Link or "No matching article was selected"}}
Replying to this email does not automatically change the request record.
Use the provided follow-up link when additional information is requested.
Test formulas with known dates, open and closed statuses, and multiple record IDs. Test each Make scenario by processing one synthetic row at a time, then inspect the scenario execution history, Google Sheets processing columns, Airtable Activity Log, and received Gmail messages.
Failure Handling and Operational Reliability
| Failure | Automated response | Manual recovery and owner |
|---|---|---|
| Missing required value | Create or update an Exception record with Missing Data and do not route it. | Operations coordinator corrects the source or requests information, then marks it ready for retry. |
| Duplicate event | Find the existing Source Key or event key and stop without creating another record. | System owner compares source and destination IDs if the duplicate state is unclear. |
| Invalid controlled value | Set Manual Review and retain the original submitted value in an exception note. | Operations coordinator selects the approved value and resumes routing. |
| No matching routing rule | Assign Manual Review and notify the system owner. | System owner selects an owner and adds or corrects the routing rule. |
| Airtable unavailable | Mark the source sheet row Failed and preserve the source submission. | Recovery scenario retries up to three times; system owner retries after service restoration. |
| Gmail notification failure | Keep the request record, set Notification Failure, and retry the message. | System owner confirms the address and sends the message manually if necessary. |
| Invalid email address | Do not repeatedly retry a permanent address error. | Queue owner obtains the correct address and records the manual communication. |
| Drive folder creation failure | Continue record creation, preserve original file links, and mark Document Failure. | Document owner creates the folder and updates the link before clearing the exception. |
| File move or copy failure | Leave the original upload intact and identify the failed file. | Authorized owner moves the file manually and records the action. |
| Authentication expiry | Scenario fails without exposing credentials and alerts the system owner. | Administrator reconnects the affected service and reprocesses failed records. |
| Unavailable approver | Send the first reminder, then route to an authorized active delegate after the escalation threshold. | System owner verifies delegation authority before changing the approver. |
| Unauthorized approval response | Create an Invalid Approval exception without changing approval status. | System owner reviews the identity and asks the authorized approver to respond. |
| Rate limit or timeout | Pause and retry using the connector’s supported retry behavior or the recovery scenario. | System owner reduces batch size or schedule frequency if failures continue. |
| Partial completion | Use stored Airtable and Drive identifiers to resume after the completed step. | System owner checks the activity trail before retrying to avoid duplicate messages or folders. |
| Repeated failure | Stop after three controlled retries and keep the record in Exception. | System owner resolves the root cause and performs a manual recovery. |
Idempotency is applied to request creation, approval events, reminders, escalations, and resolution messages. Each operation has a stable event key. The automation searches for that key before repeating an externally visible action.
For failures that occur before Airtable creation, Google Sheets acts as the recovery queue. For failures that occur after creation, Airtable’s Automation Status, Retry Count, Error Message, and Activity Log provide the recovery state.
The system owner reviews failed runs each working day and performs a weekly reconciliation between processed form rows and Airtable Source Keys. No source row should show Complete without an Airtable record ID, and no form-sourced Airtable request should lack a matching source key.
A Complete Example
At 9:10 a.m. on July 15, 2026, a production planner submits an IT request from a mobile phone. The subject is Packaging label printer unavailable. The employee selects Equipment Issue, Packaging Line 2, High requested priority, work stopped for one user group, and asset tag PRN-204.
- Google Forms validates the required fields and writes response row 442 to the linked Google Sheet.
- Make receives row 442 and builds source key
GF-YOUR_SPREADSHEET_ID-442. - Make searches Airtable and finds no existing request with that key.
- The routing search matches the active IT equipment rule for work-stopping issues.
- The submitted High priority remains High. The rule assigns the IT coordinator and an eight-hour calendar target.
- Make creates the Airtable record. Airtable returns its internal record ID and calculates representative request ID
REQ-20260715-A1B2C3. - Make sets the due time to 5:10 p.m. and the first reminder to 3:10 p.m.
- A Drive folder named
REQ-20260715-A1B2C3 - Packaging label printer unavailableis created. A photo uploaded with the form is linked to the folder and Airtable record. - The requester receives a Gmail confirmation with the request ID, owner, target time, and an approved printer reset article.
- The IT coordinator receives an assignment message with the asset tag, area, impact, description, and Airtable Interface link.
- No approval is required. Approval Status is set to Not Required and Status becomes Assigned.
- At 9:24 a.m., the IT coordinator changes Status to In Progress.
- At 1:45 p.m., the owner replaces a failed network adapter, enters a resolution note, and changes Status to Resolved.
- Make records the resolution event, stamps Resolved At, and sends the requester a resolution message.
- Because the request was resolved before 3:10 p.m., the reminder scenario finds a closed reminder condition and sends no owner reminder.
- After requester confirmation, the queue owner changes the request to Closed. The completed request remains available for reporting and audit history.
If Make had received row 442 twice, the second execution would have found the existing Source Key, written the same request ID to the sheet, and stopped without creating another request or sending duplicate confirmation email.
Implementation Cost
All amounts below are representative planning assumptions, not vendor quotes or verified client results. Actual licensing depends on current product editions, user counts, operation volume, data retention, and security requirements.
| Activity | Hours | Assumed rate | Estimated cost |
|---|---|---|---|
| Discovery and workflow design | 12 | $55 per hour | $660 |
| Forms, Airtable, Drive, and Make configuration | 32 | $55 per hour | $1,760 |
| Testing and user acceptance support | 12 | $55 per hour | $660 |
| Training | 6 | $55 per hour | $330 |
| Documentation and handover | 6 | $55 per hour | $330 |
| Total internal implementation | 68 | $3,740 |
| Cost category | Representative assumption | Notes |
|---|---|---|
| Airtable allowance | $90 per month | Planning allowance only. Verify required permissions, Interfaces, users, and automation access. |
| Make allowance | $50 per month | Planning allowance based on expected scenarios and operations. Validate actual operation volume. |
| Google Workspace incremental cost | $0 in this scenario | The business already licenses it. Existing subscription cost is not treated as zero economic cost. |
| Monthly maintenance labour | 4 hours, valued at $220 | Includes failed-run review, routing updates, access checks, and user support. |
| Optional AI usage allowance | $15 per month | Depends on eligible volume, model, input length, and output length. |
| Optional professional implementation | $10,500 to $16,500 | Representative assumption of 70 to 110 hours at $150 per hour. Obtain a scoped proposal. |
The representative payback calculation later in this case study uses the $3,740 internal implementation cost and $140 monthly incremental software allowance. It excludes optional AI and optional professional implementation.
Estimated Time and Cost Savings
The estimates cover administrative handling such as intake review, copying data, routing, status follow-up, and reconciliation. They do not include the substantive time required to repair equipment, answer an HR question, review a purchase, or complete other requested work.
| Assumption | Value |
|---|---|
| Monthly workflow volume | 180 requests |
| Current administrative handling time | 12 minutes per request |
| New routine handling time | 4 minutes per request |
| Exception rate | 10 percent |
| Exception handling time | 8 minutes per exception |
| Monthly maintenance | 4 hours |
| Loaded labour cost | $55 per hour |
| Recurring software allowance | $140 per month |
| One-time internal implementation cost | $3,740 |
Current monthly labour hours: Monthly volume × current minutes per record ÷ 60
180 × 12 ÷ 60 = 36 hours
New monthly labour hours: Monthly volume × new minutes per record ÷ 60, plus exception handling and maintenance
(180 × 4 ÷ 60) + (180 × 10% × 8 ÷ 60) + 4 = 12 + 2.4 + 4 = 18.4 hours
Monthly hours recovered: Current monthly labour hours minus new monthly labour hours
36 - 18.4 = 17.6 hours
Estimated monthly labour value: Monthly hours recovered × loaded hourly labour cost
17.6 × $55 = $968
Net estimated monthly value: Monthly labour value minus recurring tool costs
$968 - $140 = $828
Estimated payback period: One-time implementation cost ÷ net estimated monthly value
$3,740 ÷ $828 = approximately 4.5 months
Recovered time does not automatically reduce payroll. It can provide additional capacity, quicker turnaround, less overtime, fewer administrative interruptions, higher manageable request volume, and lower dependency on individual employees.
Non-financial benefits include clearer ownership, fewer repeated follow-ups, fewer incomplete submissions, consistent approval evidence, improved auditability, better reporting, and a more predictable employee experience.
Readers should replace monthly volume, handling time, exception rate, maintenance effort, loaded labour cost, software allowance, implementation effort, and approval frequency with their own measured values.
Adding AI to the Automation
AI should be introduced only after deterministic intake, routing, reminders, approvals, security, and failure handling work reliably.
The core automation already provides structured intake, exact-match routing, ownership, due dates, notifications, escalation, document links, and reporting. None of those functions requires AI.
Potential AI enhancements include summarizing long descriptions, suggesting a category for Unsure requests, identifying likely missing information, assigning approved knowledge tags, and detecting requests that appear similar to recent submissions.
Required fields, amount thresholds, email validation, approval rules, access permissions, exact duplicate checks, due-date calculations, and final decisions should remain rule-based. Using AI for those tasks would add uncertainty without a corresponding business benefit.
The Recommended AI Enhancement
The recommended enhancement is a constrained triage assistant for requests submitted as Unsure. It does not make final routing or approval decisions.
- Trigger: Airtable request has Request Type equal to Unsure, AI Status equal to Queued, and Sensitive Data Review equal to Clear.
- AI input: Subject, minimized description, affected team, desired outcome, deadline, and a list of allowed categories and knowledge tags.
- System instruction: Classify only within the allowed taxonomy, identify uncertainty, and return valid JSON without inventing policies or links.
- Expected output: Suggested category, subtype, priority, summary, missing fields, knowledge tags, confidence, and sensitive-data warning.
- Validation: Make parses the JSON and checks enums, types, confidence range, field length, and prohibited output.
- Record update: Valid suggestions are written to separate AI Suggestion fields, not authoritative routing fields.
- Human review: The operations coordinator accepts, edits, or rejects the suggestion.
- Low-confidence handling: Confidence below 0.80 remains in Manual Review.
- Prohibited data: HR case details, medical information, payroll data, bank details, credentials, privileged-access details, legal advice, safety investigations, and security incidents.
- Failure behavior: The original request remains in Manual Review and follows the normal human triage process.
Reusable system instruction
You are an internal request triage assistant.
Classify only the supplied business request. Use only the allowed request types, subtypes, priorities, and knowledge tags included in the user message.
Do not make approval, employment, payment, access, safety, legal, or disciplinary decisions.
Do not invent a policy, owner, URL, amount, deadline, or fact.
If the input appears to contain credentials, medical details, bank information, legal case details, security incident details, or other prohibited sensitive data, set sensitive_data_warning to true and avoid repeating that information.
Return only one JSON object that conforms to the supplied schema. If the request cannot be classified reliably, use suggested_request_type "Unsure", provide a confidence below 0.80, and identify the missing information.
Reusable user prompt
Allowed request types:
IT, HR, Finance, Facilities, Procurement, Operations, Unsure
Allowed priority suggestions:
Low, Normal, High, Urgent
Allowed knowledge tags:
password-reset, printer-help, software-request, expense-policy,
purchase-request, building-maintenance, production-support, none
Request subject:
{{Subject}}
Minimized request description:
{{Description}}
Affected team:
{{Affected Team}}
Desired outcome:
{{Desired Outcome}}
Requested deadline:
{{Needed By or "Not supplied"}}
Return a JSON object matching the required schema.
Structured output schema
{
"type": "object",
"additionalProperties": false,
"required": [
"suggested_request_type",
"suggested_subtype",
"suggested_priority",
"summary",
"missing_fields",
"knowledge_tags",
"confidence",
"sensitive_data_warning",
"reason"
],
"properties": {
"suggested_request_type": {
"type": "string",
"enum": [
"IT",
"HR",
"Finance",
"Facilities",
"Procurement",
"Operations",
"Unsure"
]
},
"suggested_subtype": {
"type": "string",
"maxLength": 80
},
"suggested_priority": {
"type": "string",
"enum": ["Low", "Normal", "High", "Urgent"]
},
"summary": {
"type": "string",
"maxLength": 300
},
"missing_fields": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80
},
"maxItems": 10
},
"knowledge_tags": {
"type": "array",
"items": {
"type": "string",
"enum": [
"password-reset",
"printer-help",
"software-request",
"expense-policy",
"purchase-request",
"building-maintenance",
"production-support",
"none"
]
},
"maxItems": 3
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"sensitive_data_warning": {
"type": "boolean"
},
"reason": {
"type": "string",
"maxLength": 300
}
}
}
In Make, use the organization’s approved AI connection. Store the API credential in the managed connection, not in an Airtable field. Send only eligible fields, request structured output where the connector supports it, and parse the response using Make’s JSON tools.
After parsing, use filters to confirm that category and priority are allowed, confidence is between 0 and 1, text fields are within limits, and sensitive_data_warning is false. Invalid output sets AI Status to Failed and leaves the request in Manual Review.
The Knowledge Articles table maps approved tags to approved URLs. The AI does not generate links. Cost monitoring records eligible request count, input and output usage where available, failure count, and monthly service cost.
Benefits of the AI Enhancement
- Less time reading long Unsure descriptions
- More consistent category suggestions
- Short summaries for the manual-review queue
- Earlier identification of missing details
- Approved knowledge-tag suggestions without invented URLs
- Better reporting on recurring themes in unstructured requests
These are AI-specific benefits. Central intake, record creation, ownership, approvals, reminders, escalation, file management, and operational reporting are benefits of the core rule-based automation.
What Remains Rule-Based or Human-Controlled
- Final routing: A coordinator confirms AI suggestions because incorrect routing can expose sensitive information or delay work.
- Priority: Rules and queue owners validate urgency. An AI suggestion cannot declare a safety emergency or force an escalation.
- Access approval: Managers and IT approve access based on identity, role, and security policy.
- Purchase approval: Authorized managers approve spending according to deterministic amount thresholds.
- Payment release: Finance performs release in the accounting system under separate controls.
- HR decisions: Employment, leave, disciplinary, and policy-exception decisions remain with authorized people.
- Safety decisions: Supervisors assess hazards and production shutdown requirements.
- Legal conclusions: The system does not provide or approve legal conclusions.
- Final risk acceptance: An accountable manager must accept operational or security risk.
Estimating the Additional Value of AI
Assume 45 of the 180 monthly requests are submitted as Unsure and are eligible for AI after data screening.
| Measure | Assumption |
|---|---|
| Eligible requests | 45 per month |
| Manual triage without AI | 3 minutes per eligible request |
| Human review with AI | 1 minute per eligible request |
| Correction rate | 15 percent |
| Correction effort | 2 minutes per corrected request |
| AI failure rate | 3 percent |
| Fallback effort | 3 minutes per failed request |
| AI usage allowance | $15 per month |
Manual triage without AI: 45 × 3 ÷ 60 = 2.25 hours
Review with AI: 45 × 1 ÷ 60 = 0.75 hours
Correction effort: 45 × 15% × 2 ÷ 60 = 0.225 hours
Failure fallback: 45 × 3% × 3 ÷ 60 = 0.0675 hours
Net additional capacity: 2.25 - 0.75 - 0.225 - 0.0675 = approximately 1.21 hours per month
Estimated labour value: 1.21 × $55 = approximately $66.55
Estimated net value after AI usage: $66.55 - $15 = approximately $51.55 per month
This modest estimate illustrates why AI should be evaluated on measured eligible volume, consistency, and service quality rather than assumed to create large savings automatically.
Testing Checklist
Use synthetic sample data before processing real employee, financial, access, or operational information.
| Test | Expected result |
|---|---|
| Normal submission | One request is created, routed, logged, and confirmed. |
| Missing required form field | Google Forms blocks submission. |
| Missing field after source edit | Make creates a Missing Data exception. |
| Invalid amount or date | Validation prevents routing and preserves the original input. |
| Duplicate submission | Separate genuine submissions receive separate IDs unless manually identified as duplicates. |
| Duplicate event | The same Source Key creates no additional request or email. |
| Failed authentication | Scenario stops, records the failure, and alerts the owner without exposing credentials. |
| Expired credential | Administrator reconnects the service and recovery succeeds. |
| Failed Airtable request | Source row remains recoverable with Failed status. |
| Unavailable approver | Reminder and approved delegation occur on schedule. |
| Approval rejection | Immutable event is created and request becomes Rejected. |
| More information requested | Request becomes Awaiting Info and requester receives instructions. |
| Reassignment | Old and new owners are logged and notified. |
| Overdue item | Overdue flag, owner notice, and escalation level are correct. |
| Reminder | One reminder is sent and the event key prevents duplicates. |
| Escalation | Escalation owner receives the correct request and due information. |
| Failed file upload | Request remains recorded and document exception is visible. |
| Failed folder creation | Original file links remain available for recovery. |
| Failed notification | Request remains valid and notification retry is controlled. |
| Unauthorized user | User cannot access restricted Airtable or Drive data. |
| Malformed AI output | Parser rejects it and request remains in Manual Review. |
| Inaccurate AI suggestion | Human reviewer corrects it before authoritative routing. |
| AI service failure | Normal human triage remains available. |
| Sensitive AI input | AI route is blocked and the request remains restricted. |
| Successful completion | Resolution is logged, requester is notified, and reporting updates. |
| Correct reporting | Dashboard totals match a manual sample of Airtable records. |
| Correct audit record | Creation, assignment, approval, reminder, and closure events are present. |
| Correct retry behavior | Transient failures recover without duplicate records or messages. |
Ongoing Maintenance
The operations coordinator is the primary system owner. The office administrator is the backup owner. Functional queue managers own their routing rules, service targets, and knowledge content.
| Frequency | Activity | Owner |
|---|---|---|
| Daily | Review failed runs, New records older than 15 minutes, and unresolved exceptions. | System owner |
| Weekly | Reconcile form rows to Airtable Source Keys and review escalation-level-three records. | System owner and backup |
| Monthly | Review volume, processing time, exception rate, automation operations, software cost, and stale knowledge links. | Operations coordinator |
| Monthly | Sample AI suggestions, corrections, confidence, prohibited-data controls, and usage cost. | System owner and governance owner |
| Quarterly | Review user access, interface permissions, shared links, delegates, and former employees. | Administrators and department owners |
| Quarterly | Test one normal, approval, failure, retry, and escalation path. | Backup owner |
| Semiannually | Review routing rules, service targets, form questions, email templates, and retention requirements. | Functional managers |
| Annually | Review credentials, connector changes, backup restoration, architecture, and dedicated-software criteria. | IT and operations leadership |
| On personnel change | Disable former users, update owners and delegates, transfer forms, and verify automation connections. | IT administrator |
Configuration changes should be documented with the date, owner, reason, affected scenario, test evidence, and rollback method. Routing changes should be tested in the test base before production activation.
When to Move to Dedicated Software
The Airtable and Make implementation should not be replaced merely because the request volume grows moderately. It can remain appropriate while permissions, reliability, reporting, and maintenance remain manageable.
Reassess dedicated service-management, workflow, procurement, HR case-management, or facilities-management software when several of these conditions appear:
- Request volume materially exceeds the tested connector and operating capacity
- Multiple sites require separate calendars, queues, languages, and escalation policies
- Shift schedules, holidays, and service-level calculations become complex
- Formal regulatory or audit requirements demand stronger immutable controls
- Requesters need a full portal showing all their requests and conversations
- Advanced asset, configuration, vendor, contract, or inventory relationships are required
- Mobile technicians need offline access, dispatching, location, or barcode features
- Customers or suppliers need external portal access
- Permissions become too complex for the Airtable base and Interface model
- Exception rates or manual workarounds continue to increase
- Automation maintenance consumes more time than the process saves
- API limits, database scale, file handling, or reporting performance become constraints
- The organization requires vendor-managed support and contractual service commitments
- Security risk increases because sensitive cases are being forced into a general operational workflow
A migration should preserve request IDs, activity history, approval evidence, document links, status definitions, ownership rules, and reporting measures. The structured Airtable data can make that later migration more controlled than moving directly from disconnected email and spreadsheets.
Implementation Checklist
- Confirm business scope, monthly volume, request types, and emergency exclusions.
- Define queue owners, backup owners, approvers, and the system owner.
- Select Google Forms, Google Sheets, Airtable, Make, Google Drive, and Gmail roles.
- Create organization-owned accounts, forms, folders, mailboxes, and connections.
- Apply least-privilege permissions and restrict sensitive queues.
- Build the Requests and related Airtable tables.
- Define controlled statuses, priorities, exception types, and approval values.
- Create active routing rules for every supported category and subtype.
- Build conditional Google Forms sections and field validation.
- Link forms to protected Google Sheets response destinations.
- Document source-to-destination field mappings.
- Build intake, duplicate-check, routing, record-creation, and recovery scenarios.
- Capture returned Airtable, Drive, and source identifiers.
- Configure approvals, sequential thresholds, delegation, and rejection handling.
- Configure reminders, overdue escalation, and notification event keys.
- Create Drive folder structures, naming rules, permissions, and retention controls.
- Build operational views, manual-review queues, failure views, and dashboards.
- Configure activity logging, retry counts, error fields, and reconciliation.
- Test normal, exception, approval, file, notification, security, and retry paths.
- Run user acceptance testing with synthetic data.
- Pilot selected queues before enabling sensitive functions.
- Document deployment, rollback, support, and change-control procedures.
- Replace representative implementation and savings assumptions with measured figures.
- Add optional AI only after the core workflow is reliable.
- Keep AI suggestions separate from authoritative fields and require human review.
- Assign primary and backup maintenance owners.
- Review dedicated-software criteria at least annually.
Get a FREE
Proof of Concept
& Consultation
No Cost, No Commitment!


