Glide workflows (automations) - triggers, nodes, and automation patterns. Covers both client-side App Interactions and server-side workflows.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
npx agent-skills-cli listSkill Instructions
name: workflows description: | Glide workflows (automations) - triggers, nodes, and automation patterns. Covers both client-side App Interactions and server-side workflows.
Glide Workflows Skill
Overview
Glide workflows automate actions in response to triggers. There are two categories:
| Category | Runs On | Trigger Source | Example |
|---|---|---|---|
| App Interactions | User's device | User action in app | Button click β navigate |
| Server-Side Workflows | Glide servers | External events or schedule | Webhook β add row |
Workflow Types
1. App Interactions (Client-Side)
Trigger: User action (button click, screen open, form submit) Location: Created via Layout Editor β Component β Actions
Key characteristics:
- Execute immediately on user action
- Run on the user's device
- Limited to actions that can happen client-side
- Can trigger server-side workflows via "Trigger Workflow" action
Common App Interaction actions:
- Navigate to screen
- Show/hide component
- Set column value
- Open URL
- Send email (via device)
- Trigger Workflow (bridges to server-side)
2. Schedule Workflows (Server-Side)
Trigger: Time-based schedule Location: Workflows tab
Schedule options:
| Frequency | Configuration |
|---|---|
| Every 5/15/30 minutes | Automatic |
| Every hour | Automatic |
| Every day | Select days + time |
| Every week | Select day + time |
| Every month | Select date (1-31) + time |
Use cases:
- Daily report generation
- Periodic data sync
- Scheduled notifications
- Cleanup/maintenance tasks
3. Webhook Workflows (Server-Side)
Trigger: HTTP POST request to unique URL Location: Workflows tab
Receives:
- Request body - JSON payload
- Request headers - HTTP headers
- Query parameters - URL query string
Use cases:
- External system integration (Shopify, Stripe, Zapier)
- API endpoint for third parties
- IoT device data ingestion
4. Manual Workflows (Server-Side)
Trigger: App Interaction using "Trigger Workflow" action Location: Workflows tab
Features:
- Define input variables
- Variables passed from app screen
- Bridge between client action and server processing
Use cases:
- Complex operations that need server resources
- Operations requiring loops/conditions
- Background processing after user action
5. Email Workflows (Server-Side)
Trigger: Email received at Glide-provided address Location: Workflows tab
Available variables:
- From, To, Subject, Body
- HTML Body, Plain Text Body
- Attachments (as URLs)
- Date received
Use cases:
- Email-to-database logging
- Support ticket creation
- Lead capture from form submissions
- Email parsing and automation
6. Slack Workflows (Server-Side)
Trigger: Slack event Location: Workflows tab Prerequisite: Slack integration enabled
Available variables:
- Channel ID/Name
- User ID/Name
- Message text
- Thread info
- Event type
Use cases:
- Message logging
- Slack-to-Glide data sync
- Bot responses
- Team notifications
Server-Side Exclusive Features
Loops
Iterate over table rows in server-side workflows.
Loop: Over "Orders" table
Filter: status = "Pending"
For each row:
β Update Row (set processed = true)
β Send Email (order confirmation)
Best practices:
- Always filter loops (never process entire table)
- Be mindful of execution time
- Consider rate limits on external APIs
Conditions (Branches)
Create branching logic paths.
Condition:
Path 1: IF amount > 1000 β Require approval
Path 2: IF amount > 100 β Auto-approve, notify manager
Path 3: ELSE β Auto-approve
Key rule: Evaluated left-to-right, first match wins.
Put most specific conditions first, general conditions last.
Common Workflow Nodes
Data Nodes
| Node | Description |
|---|---|
| Add Row | Create new row in table |
| Update Row | Modify existing row |
| Delete Row | Remove row |
| Query JSON | Parse JSON with JSONata |
| Query Table | Find rows matching criteria |
Communication Nodes
| Node | Description |
|---|---|
| Send Email | Send email via Glide |
| Send SMS | Send text message |
| Push Notification | Send to app users |
| Send Slack Message | Post to Slack channel |
Integration Nodes
| Node | Description |
|---|---|
| HTTP Request | Call external API |
| Trigger Workflow | Call another workflow |
| Google Sheets | Interact with Sheets |
Logic Nodes
| Node | Description |
|---|---|
| Condition | Branch based on criteria |
| Loop | Iterate over rows |
| Wait | Pause execution |
| Set Variable | Create/modify variable |
AI Nodes
| Node | Description |
|---|---|
| Generate Text | AI text generation |
| Classify Text | AI categorization |
| Extract Data | AI data extraction |
JSONata Reference
For parsing JSON in Query JSON nodes:
Basic Syntax
name // Simple field
customer.email // Nested field
items[0] // First array item
items[-1] // Last array item
items[*].name // All names from array
Common Functions
$count(items) // Array length
$sum(items.price) // Sum values
$average(scores) // Average
$string(number) // To string
$number(string) // To number
$now() // Current time
$lowercase(text) // Lowercase
$trim(text) // Remove whitespace
Filtering
items[price > 100] // Items over $100
items[status = "active"] // Active only
orders[total > 0].id // IDs of non-zero orders
Workflow Patterns
Pattern: Webhook β Database
Trigger: Webhook (receives order data)
β
Query JSON: Extract orderId, customerEmail, total
β
Add Row: Create order in Orders table
β
Send Email: Order confirmation to customer
Pattern: Scheduled Report
Trigger: Schedule (daily at 9am)
β
Query Table: Get yesterday's orders
β
Loop: Calculate totals
β
Generate Text (AI): Create summary
β
Send Email: Report to managers
Pattern: Approval Flow
Trigger: Manual (from app button)
β
Condition:
Path 1: amount > 10000
β Add Row: Create approval request
β Send Email: Notify approvers
Path 2: else
β Update Row: Set approved = true
β Send Email: Confirmation
Pattern: External API Sync
Trigger: Schedule (every hour)
β
HTTP Request: GET external API
β
Query JSON: Parse response
β
Loop: Over items in response
β
Condition:
β IF exists in Glide: Update Row
β ELSE: Add Row
Pattern: Email to Ticket
Trigger: On Email
β
Add Row: Create ticket
- Subject β Title
- Body β Description
- From β Requester
- Status = "New"
β
Send Email: Auto-reply to sender
β
Send Slack: Notify support channel
Error Handling
Common Issues
| Issue | Cause | Solution |
|---|---|---|
| Workflow not triggering | Not enabled | Enable in properties |
| Webhook returns error | Invalid payload | Check JSONata queries |
| Loop timeout | Too many rows | Add filters |
| Email not sending | Invalid address | Validate email format |
| Slack failing | Bot not in channel | Invite bot to channel |
Debugging Strategies
- Check run history - View past executions and errors
- Add logging nodes - Insert "Add Row" to log table
- Test incrementally - Build and test one node at a time
- Validate data - Use Query JSON to inspect payloads
Best Practices
General
- Name workflows clearly - "Daily Sales Report" not "Workflow 1"
- Document complex logic - Add notes explaining branches
- Test before deploying - Use test data first
- Monitor executions - Check run history regularly
Performance
- Filter loops aggressively - Never iterate entire tables
- Batch external calls - Minimize API requests
- Use conditions early - Short-circuit unnecessary processing
- Consider timing - Schedule heavy jobs during low-usage hours
Security
- Don't expose secrets - Use environment variables
- Validate webhook data - Check for expected structure
- Limit webhook access - Consider authentication headers
- Be careful with loops - Avoid infinite loops
Integration with App
From App to Workflow
- Create Manual workflow with input variables
- Add Button to screen
- Add "Trigger Workflow" action
- Map screen data to input variables
From Workflow to App
- Workflow updates database (Add/Update Row)
- App displays updated data
- Use Push Notification for immediate alerts
Workflow Limits
- Execution time limits (varies by plan)
- API call limits for external requests
- Row processing limits in loops
- Email/SMS sending limits
Check Glide documentation for current limits on your plan.
More by glideapps
View allCreate computed columns in Glide - Math, If-Then-Else, Relations, Rollups, Lookups, Templates. Use when adding calculations, formulas, lookups, or linking tables with relations.
Historical record of expert tips and learnings that have been integrated into the plugin skills. Consult this when patterns emerge or to understand the evolution of knowledge.
Get detailed explanations of Glide features - computed columns, workflows, components, data modeling, AI features, and more
Design Glide data models - tables, columns, column types, and calculation architecture. Use when creating tables, designing data structures, choosing column types, or planning relationships.
