Set a field in Asana, get AI-reviewed comments back on the task. Catches spelling errors, wrong offers, and brief mismatches before human QA.
Three simple steps—no technical knowledge needed.
☝ Important: Always change the Task Status on the parent task only.
The system automatically scans all subtasks and their attachments. You never need to trigger on individual subtasks—just set the status on the main task and everything gets reviewed.
The designer uploads their deliverables to the task or subtask in Asana, as usual.
On the parent task, change the Task Status field to "AI REVIEW".
AI posts detailed comments on each file within minutes. The Task Status is automatically updated based on the results.
✔ All Files Pass
Task Status is automatically set to "Ready for Internal QA". The work is ready for human review.
✘ Any File Has Issues
Task Status is automatically set to "Needs Revisions". Each issue is posted as a comment on the task for the designer to address.
After the designer fixes the issues and uploads new files, simply set Task Status back to "AI REVIEW" again. The system will only review the new files—previously reviewed files are skipped automatically.
When you change the Task Status field, a webhook triggers the automated pipeline.
flowchart LR
A["Task Status changed\nto AI REVIEW"] --> B["Webhook fires"]
B --> C["Worker identifies\ndeliverables vs references"]
C --> D["Fan-out: 1 message\nper file"]
D --> E["Tier 1: Fast Scan\n(spelling, offers, brief)"]
E -->|Issues found\n+ small batch| F["Tier 2: Deep Analysis\n(cross-ref comments,\nlayout, brand)"]
E -->|All clear| H["PASS comment\nposted to task"]
F -->|Fixable issues| G["Tier 3: AI Fix\n(suggested correction\nimage)"]
F --> I["FAIL comment\nwith details"]
G --> I
I --> J["Task Status\nupdated"]
H --> J
style A fill:#e2a04a,color:#1a1d27,stroke:none
style E fill:#fdcb6e,color:#333,stroke:none
style F fill:#e17055,color:#fff,stroke:none
style G fill:#00b894,color:#fff,stroke:none
style H fill:#00b894,color:#fff,stroke:none
style I fill:#ff6b6b,color:#fff,stroke:none
style J fill:#e2a04a,color:#1a1d27,stroke:none
| Tier | Model | Purpose | When It Runs |
|---|---|---|---|
| Tier 1: Fast Scan | Gemini Flash Lite | OCR text extraction, spell-check, offer verification, brief keyword matching | Every file, always |
| Tier 2: Deep Review | Gemini Pro | Cross-references full comment history, verifies Tier 1 findings, checks layout and brand consistency | Only when Tier 1 flags issues (small batches of 1-3 files) |
| Tier 3: AI Fix | Gemini Flash Image | Generates a suggested correction image showing what the fix might look like | Only for fixable issues (spelling, wrong text) on small batches |
The system automatically distinguishes client-provided references (logos, spec sheets, examples uploaded when the task was created) from designer deliverables (work uploaded days later). References are used for context but never flagged for errors.
Detection method: Any file attached within 60 seconds of task creation is classified as a reference. Everything uploaded later is treated as a deliverable to review.
These are real results from actual creative tasks in our Asana projects.
Caught leftover rebranding artifacts and typos across 8 dense PDFs
8 rebranded PDF documents reviewed in under 2 minutes. Caught errors human reviewers might miss in dense text documents.
Flagged "and" vs "or" offer wording drift across ad variations
7 social ad variations ($500 Off Braces or Invisalign campaign) reviewed. Caught offer wording discrepancies across variations.
Auto-separated 5 reference files from 5 deliverables on a 10-attachment task
10 total attachments on this task—but 5 were client-provided spec sheets and reference photos uploaded when the task was created. The system automatically identified those as references and only reviewed the 5 designer deliverables.
Cross-referenced comment thread to verify color names matched requests
4 themed braces color images reviewed. AI cross-referenced the task comments to verify each image matched the specifically requested color names.
Correctly sourced deliverable from subtask, ignored parent task references
Multi-page PDF packet reviewed from subtask deliverable. AI pulled the correct file from the "revision #1" subtask, ignoring parent task references.
flowchart TB
subgraph Asana
A[Task field changed] -->|Webhook| B[POST to Worker]
end
subgraph Cloudflare["Cloudflare Edge"]
B --> C[Webhook Handler]
C -->|Verify signature| D[Queue Producer]
D --> E[Task Queue]
E --> F[Discovery Worker]
F -->|Fan-out N messages| G[File Queue]
G --> H[File Worker 1]
G --> I[File Worker 2]
G --> J[File Worker N]
end
subgraph AI["Gemini AI"]
H --> K[Tier 1 Flash Lite]
K -.->|escalate| L[Tier 2 Pro]
L -.->|fix| M[Tier 3 Image Gen]
end
subgraph Storage["KV State"]
N[Job Progress]
O[Reviewed Files]
P[Dedup Locks]
end
H --> N
I --> N
J --> N
style Asana fill:#2d2518,stroke:#e2a04a,color:#e2e4e9
style Cloudflare fill:#1a2744,stroke:#74b9ff,color:#e2e4e9
style AI fill:#2d3a1a,stroke:#00b894,color:#e2e4e9
style Storage fill:#3a2a1a,stroke:#fdcb6e,color:#e2e4e9
💬 What Comments Look Like in Asana
Here's exactly what gets posted to your task. File names are clickable links that open the file directly.
When a File Passes
• ✅ Client name "Franklin Orthodontics" is correct.
• ✅ No placeholder text found.
• ✅ Tagline and contact information present and verified.
When Issues Are Found
• 🟡 WARNING: Typo in Additional Details: "there is also am additional" should be "an additional."
• ✅ Required elements present.
Batch Summary (posted after all files are reviewed)