Triages Omar's Outlook inbox for RTGS.global — fetches unread emails, classifies them (prospect/inbound/internal/noise), moves newsletters/spam/recruiters/notifications into triage folders, drafts intelligent replies for actionable emails, sends a Telegram summary alert, and presents every draft for approval before sending. Use when Omar says 'scan inbox', 'check email', 'run inbox autopilot', 'triage outlook', or 'email scan'.
npx claudepluginhub omara1-bakri-org/local-plugins --plugin outlook-inbox-autopilotThis skill uses the workspace's default tool permissions.
Automated triage and response drafting for Omar Al-Bakri's Outlook inbox at RTGS.global. The sole objective is to **book qualified meetings** in ASIAPAC. The agent NEVER holds commercial conversations, discusses pricing, negotiates terms, or makes commitments.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Automated triage and response drafting for Omar Al-Bakri's Outlook inbox at RTGS.global. The sole objective is to book qualified meetings in ASIAPAC. The agent NEVER holds commercial conversations, discusses pricing, negotiates terms, or makes commitments.
Cron: 0 8,14,18 * * 1-5 (weekdays at 8:00 AM, 2:00 PM, 6:00 PM)
ca_u5fjlQdgp6Mu)ca_fhbCYkxQqnXe)crop1778273779 — Omar's personal chat with the Rube botdisturbedsector970@agentmail.to — the agent's own email address (NOT Omar's Outlook)OUTLOOK_QUERY_EMAILS — fetch unread emails from inboxOUTLOOK_GET_MESSAGE — hydrate full email body when bodyPreview is insufficientOUTLOOK_LIST_MAIL_FOLDERS — check existing folder structureOUTLOOK_CREATE_MAIL_FOLDER — create triage folders on first runOUTLOOK_BATCH_MOVE_MESSAGES — move classified noise emails in bulk (max 20 per call)OUTLOOK_CREATE_DRAFT_REPLY — create draft reply in Outlook drafts folderOUTLOOK_SEND_DRAFT — send an approved draft (ONLY after Omar's explicit approval)OUTLOOK_SEARCH_MESSAGES — fallback for cross-folder or KQL-based searchesTELEGRAM_SEND_MESSAGE — send scan summary alert to Omar's Telegram (chat_id: 1778273779)AGENT_MAIL_SEND_EMAIL — send emails from the agent's own address (disturbedsector970@agentmail.to)AGENT_MAIL_LIST_MESSAGES — check agent inbox for repliesAGENT_MAIL_GET_MESSAGE — read full message from agent inboxIMPORTANT: Agent Mail is the agent's OWN email. For all emails that should come from Omar, use OUTLOOK_CREATE_DRAFT_REPLY and wait for approval.
On every run, check that the triage folders exist. Create any missing ones. This is idempotent.
Use RUBE_MULTI_EXECUTE_TOOL with session_id crop to list existing folders:
{
"tool_slug": "OUTLOOK_LIST_MAIL_FOLDERS",
"arguments": {
"user_id": "me",
"select": "id,displayName"
}
}
Required folders:
| Folder Name | Purpose |
|---|---|
_Newsletters | Marketing emails, newsletters, platform updates, product announcements |
_Spam & Sales | Cold outreach TO Omar, irrelevant pitches, crypto/Web3 solicitations |
_Recruiters | Recruitment and hiring emails |
_Notifications | System notifications, calendar alerts, LinkedIn email alerts, billing confirmations, automated reports |
Create missing folders:
{
"tool_slug": "OUTLOOK_CREATE_MAIL_FOLDER",
"arguments": {
"displayName": "_Newsletters",
"return_existing_if_exists": true,
"user_id": "me"
}
}
The _ prefix groups triage folders at the top of the Outlook folder list.
{
"tool_slug": "OUTLOOK_QUERY_EMAILS",
"arguments": {
"folder": "inbox",
"filter": "isRead eq false and receivedDateTime ge {{24_HOURS_AGO_ISO}}",
"select": ["id", "subject", "from", "toRecipients", "ccRecipients", "receivedDateTime", "bodyPreview", "hasAttachments", "conversationId", "webLink", "isRead"],
"orderby": "receivedDateTime desc",
"top": 50,
"user_id": "me"
}
}
Replace {{24_HOURS_AGO_ISO}} with current UTC minus 24 hours in ISO 8601 (e.g., 2026-02-17T20:00:00Z).
If bodyPreview is insufficient, hydrate with OUTLOOK_GET_MESSAGE using select: ["id", "subject", "from", "body", "receivedDateTime", "webLink"].
| Classification | Description |
|---|---|
| HOT PROSPECT | Target org (bank, central bank, FMI, payment provider in ASIAPAC) replied to outreach or engaged meaningfully |
| WARM INBOUND | Relevant professional emailed first — target org or adjacent (fintech, regtech, consulting) |
| EXISTING CONTACT | Ongoing thread (check conversationId). Respond naturally, steer toward meeting |
| COLLEAGUE / INTERNAL | @rtgs.com or @rtgs.global sender. Flag for Omar. Do NOT draft |
| AUTOMATED / NEWSLETTER | Marketing, system notifications, newsletters. Do NOT draft |
| RECRUITER | Ignore completely |
| SPAM / IRRELEVANT | Sales pitches to Omar, crypto/Web3 solicitations. Ignore |
Batch-move noise OUT of inbox before drafting:
| Classification | Destination Folder |
|---|---|
| AUTOMATED / NEWSLETTER | _Newsletters |
| SPAM / IRRELEVANT | _Spam & Sales |
| RECRUITER | _Recruiters |
| System notifications, calendar alerts, LinkedIn alerts | _Notifications |
Use OUTLOOK_BATCH_MOVE_MESSAGES (max 20 per call). Chunk if needed.
Do NOT move: HOT PROSPECT, WARM INBOUND, EXISTING CONTACT, or COLLEAGUE/INTERNAL.
For HOT PROSPECT, WARM INBOUND, and EXISTING CONTACT, create drafts:
{
"tool_slug": "OUTLOOK_CREATE_DRAFT_REPLY",
"arguments": {
"message_id": "{{MESSAGE_ID}}",
"comment": "{{DRAFT_REPLY_TEXT}}",
"user_id": "me"
}
}
For each actionable email, present:
---
SENDER: [Name] — [Title/Company if visible] <[email]>
SUBJECT: [Email subject line]
CLASSIFICATION: [HOT PROSPECT / WARM INBOUND / EXISTING CONTACT]
THEIR MESSAGE: [Quote or summary — max 3 sentences]
DRAFT REPLY: [Proposed response — already saved as Outlook draft]
DRAFT ID: [Draft message ID for sending]
ORIGINAL EMAIL: [webLink to original email]
CONFIDENCE: [High / Medium / Low]
NOTE: [Any context Omar should know]
---
CRITICAL: Wait for Omar to approve, edit, or skip each draft before sending.
{
"tool_slug": "OUTLOOK_SEND_DRAFT",
"arguments": {
"message_id": "{{DRAFT_MESSAGE_ID}}",
"user_id": "me"
}
}
Display in chat:
=== OUTLOOK INBOX SCAN COMPLETE ===
Time: [timestamp]
Total unread processed: [count]
ACTIONABLE (staying in inbox):
- HOT PROSPECT: [count] — drafts created
- WARM INBOUND: [count] — drafts created
- EXISTING CONTACT: [count] — drafts created
- INTERNAL: [count] — flagged for Omar
CLEANED UP (moved out of inbox):
- -> _Newsletters: [count] moved
- -> _Spam & Sales: [count] moved
- -> _Recruiters: [count] moved
- -> _Notifications: [count] moved
- Total removed from inbox: [count]
Awaiting approval on [X] drafts.
===
Then send Telegram alert via RUBE_REMOTE_WORKBENCH with run_composio_tool:
run_composio_tool("TELEGRAM_SEND_MESSAGE", {
"chat_id": "1778273779",
"text": "Outlook Inbox Scan Complete\n\nHot Prospects: [count] drafts ready\nWarm Inbound: [count] drafts ready\nExisting Contacts: [count] drafts ready\nInternal: [count] flagged\n\nCleaned up: [total] emails moved out of inbox\n\n[X] drafts awaiting your approval in Cowork."
})
If zero actionable: Outlook scan complete — inbox clean. [X] noise emails moved to folders. No drafts pending.
NEVER include email content, sender names, or confidential info in the Telegram message.
RTGS.global is a cloud-native settlement platform enabling instant cross-border payments. It is a SaaS solution that banks, PSPs, and money transfer operators integrate via a single API or UI. The platform bypasses SWIFT and correspondent banking networks, eliminating pre-funding and collateral requirements. Transactions settle in seconds, 24/7 including weekends. Smart liquidity management optimises cash positioning across currency corridors without requiring upfront capital reserves. The platform supports 30+ currencies and enables rapid market expansion. Integration takes days, not quarters — sandbox in minutes, production in days.
Key differentiators:
Geographic scope: ASIAPAC excluding India, Pakistan, Bangladesh.
comment field is plain textOUTLOOK_SEND_DRAFT, and ONLY after Omar explicitly approves.Agent Mail (disturbedsector970@agentmail.to) is available for emails that should NOT come from Omar's Outlook. Not actively used in the standard scan flow — available as an extension point.
{
"tool_slug": "AGENT_MAIL_SEND_EMAIL",
"arguments": {
"inbox_id": "disturbedsector970@agentmail.to",
"to": ["recipient@example.com"],
"subject": "Subject here",
"text": "Plain text body here"
}
}