activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Crawler Summary
Triage a Gmail primary inbox. Check for new emails since last check, categorize them, present to user for review with reactions and inline buttons, then execute approved actions (archive, keep, create reminders, update calendar). Use when checking email, triaging inbox, or handling incoming mail. --- name: inbox-triage description: Triage a Gmail primary inbox. Check for new emails since last check, categorize them, present to user for review with reactions and inline buttons, then execute approved actions (archive, keep, create reminders, update calendar). Use when checking email, triaging inbox, or handling incoming mail. --- Inbox Triage Triage the user's Gmail primary inbox. If the user has multiple accou Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/24/2026.
Freshness
Last checked 2/24/2026
Best For
inbox-triage is best for automate, trigger workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
Triage a Gmail primary inbox. Check for new emails since last check, categorize them, present to user for review with reactions and inline buttons, then execute approved actions (archive, keep, create reminders, update calendar). Use when checking email, triaging inbox, or handling incoming mail. --- name: inbox-triage description: Triage a Gmail primary inbox. Check for new emails since last check, categorize them, present to user for review with reactions and inline buttons, then execute approved actions (archive, keep, create reminders, update calendar). Use when checking email, triaging inbox, or handling incoming mail. --- Inbox Triage Triage the user's Gmail primary inbox. If the user has multiple accou
Public facts
5
Change events
1
Artifacts
0
Freshness
Feb 24, 2026
Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/24/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Feb 24, 2026
Vendor
Dianehoo
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/24/2026.
Setup snapshot
git clone https://github.com/DianeHoo/inbox-triage.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Dianehoo
Protocol compatibility
OpenClaw
Adoption signal
1 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
2
Snippets
0
Languages
typescript
Parameters
text
❓ QUESTION Guest Lecture (4:02 PM) — "Topic Title" by Speaker Name (Organization), Wed Mar 11 5 PM, Venue. ✅ No conflict. RSVP by Mar 9. ⚡ ACTION Project / Contact Name (7:41 AM) — Meet Mon 2/23 1:30pm? ⚠️ Conflict: other event at 1:30–2:00. 📌 KEEP Tax Resources / Admin Office (4:03 PM) — Access code for tax filing 📥 ARCHIVE Internet bill ready (1:48 PM) — Auto pay $40 on 3/6, no action needed
bash
cat << 'EOF' | swift -
import EventKit
import Foundation
let store = EKEventStore()
let semaphore = DispatchSemaphore(value: 0)
store.requestFullAccessToReminders { granted, error in
guard granted else { semaphore.signal(); return }
let predicate = store.predicateForReminders(in: nil)
store.fetchReminders(matching: predicate) { reminders in
guard let reminders = reminders else { semaphore.signal(); return }
for r in reminders where r.title == "REMINDER_TITLE" {
r.url = URL(string: "REMINDER_URL")
do { try store.save(r, commit: true); print("URL set") }
catch { print("Error: \(error)") }
}
semaphore.signal()
}
}
semaphore.wait()
EOFFull documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
Triage a Gmail primary inbox. Check for new emails since last check, categorize them, present to user for review with reactions and inline buttons, then execute approved actions (archive, keep, create reminders, update calendar). Use when checking email, triaging inbox, or handling incoming mail. --- name: inbox-triage description: Triage a Gmail primary inbox. Check for new emails since last check, categorize them, present to user for review with reactions and inline buttons, then execute approved actions (archive, keep, create reminders, update calendar). Use when checking email, triaging inbox, or handling incoming mail. --- Inbox Triage Triage the user's Gmail primary inbox. If the user has multiple accou
Triage the user's Gmail primary inbox. If the user has multiple accounts with forwarding, the primary account is the single source of truth. Skip promotions, social, updates, forums.
When replying to emails: check the original sender/recipient. If the email was sent to a secondary/edu account, reply FROM that address. If sent to the primary account, reply via gog. Check MEMORY.md for account details.
❓ QUESTION — Need user input to proceed. Also use for ambiguous emails where the subject alone isn't enough to decide (event invites, lectures, workshops). Include enough detail: who, what, when, where.
⚡ ACTION — Has an actionable task you can automate (draft reply, update calendar, schedule meeting). Present what you plan to do.
📌 KEEP — Important or complex; user handles themselves. Will become a reminder once approved.
📥 ARCHIVE — Irrelevant, unimportant, or finished. Includes: verification codes, resolved threads, generic welcomes, autopay bills (note amount + date), expired events.
❓ QUESTION
Guest Lecture (4:02 PM) — "Topic Title" by Speaker Name (Organization), Wed Mar 11 5 PM, Venue. ✅ No conflict. RSVP by Mar 9.
⚡ ACTION
Project / Contact Name (7:41 AM) — Meet Mon 2/23 1:30pm? ⚠️ Conflict: other event at 1:30–2:00.
📌 KEEP
Tax Resources / Admin Office (4:03 PM) — Access code for tax filing
📥 ARCHIVE
Internet bill ready (1:48 PM) — Auto pay $40 on 3/6, no action needed
Go section by section: ARCHIVE → KEEP → QUESTION → ACTION.
Note: Telegram reactions only arrive with the next user message. After sending batched items, tell user to react then send any message.
gog gmail label modify <id> --remove INBOX).#claude in notes fieldTo set a real clickable URL on a reminder (not just in notes):
cat << 'EOF' | swift -
import EventKit
import Foundation
let store = EKEventStore()
let semaphore = DispatchSemaphore(value: 0)
store.requestFullAccessToReminders { granted, error in
guard granted else { semaphore.signal(); return }
let predicate = store.predicateForReminders(in: nil)
store.fetchReminders(matching: predicate) { reminders in
guard let reminders = reminders else { semaphore.signal(); return }
for r in reminders where r.title == "REMINDER_TITLE" {
r.url = URL(string: "REMINDER_URL")
do { try store.save(r, commit: true); print("URL set") }
catch { print("Error: \(error)") }
}
semaphore.signal()
}
}
semaphore.wait()
EOF
Report what was done at the end. Brief summary of actions taken.
Update the last check timestamp.
Check MEMORY.md for user-specific email categorization preferences (which senders to auto-archive, which to flag, etc.).
NEVER send an email unless the user presses the ✉️ Send button in chat
NO TEXT INPUT can trigger a send — not "send it", not "go ahead", NOTHING
The ONLY trigger is the inline button callback
Workflow: draft email → save to drafts/<id>.json → show draft + "✉️ Send" button → wait for button press → only then execute send
Button callbacks arrive as callback_data: send_draft:<token> — the callback_data: prefix proves it came from a button, not typed text
TWO checks before sending: (1) message starts with callback_data: prefix AND (2) token matches a valid draft file
Wording corrections, rephrasing, or edits just update the draft and re-present with a new button
No exceptions. Ever.
NEVER archive, label, or delete emails without user confirmation.
NEVER send emails without draft + explicit second confirmation.
NEVER create reminders before user approves KEEP.
NEVER show old emails already reported in previous checks.
NEVER search only one calendar — always check ALL user calendars.
NEVER send multiple items in one message.
ONE email per message, always.
Keep messages under one screen length.
No dashes/hyphens in messages.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/contract"
curl -s "https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
The Frontend for Agents & Generative UI. React + Angular
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-10-09T10:21:55.337Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "automate",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "trigger",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:automate|supported|profile capability:trigger|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Dianehoo",
"href": "https://github.com/DianeHoo/inbox-triage",
"sourceUrl": "https://github.com/DianeHoo/inbox-triage",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:44:39.768Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-24T19:44:39.768Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1 GitHub stars",
"href": "https://github.com/DianeHoo/inbox-triage",
"sourceUrl": "https://github.com/DianeHoo/inbox-triage",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:44:39.768Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/dianehoo-inbox-triage/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to inbox-triage and adjacent AI workflows.