
Read your Gmail inbox so Ruby can find replies, surface unread mail, and read messages by job.
Ask Ruby
Ruby reads from Gmail and grounds her answers in your data. Every tool is read-only: she surfaces, summarizes, and drafts; a human always takes the action.
Fetch emails
Search the connected Gmail mailbox using Gmail's native search syntax and return a list of matching messages. This searches the ENTIRE mailbox (every label/category, any age, and optionally spam/trash); there is no date-window or folder limit. Use it to answer 'did the homeowner reply', 'what did the adjuster send', 'find the receipt from <vendor>', and to feed the Communication Gap Detector. Keep listings lean (leave verbose/include_payload off) and use GMAIL_FETCH_MESSAGE_BY_MESSAGE_ID to read a specific message in full.
Fetch message by message id
Read one full Gmail message by its Gmail message id (from GMAIL_FETCH_EMAILS): subject, sender, recipients, date, body, and attachment metadata. Use after a search when you need the actual contents of a message.
List labels
List the labels in the connected Gmail mailbox (system labels like INBOX, SENT, SPAM, CATEGORY_UPDATES plus any user-created labels). Use to discover which label to pass to GMAIL_FETCH_EMAILS via label:. Pass include_details:true to also get per-label message/thread counts, e.g. how many messages are in each Gmail category, without paginating any messages.
List threads
List Gmail conversation threads matching a Gmail search query (same syntax as GMAIL_FETCH_EMAILS). Use when you care about whole back-and-forth conversations rather than individual messages.
Get profile
Get the connected mailbox's profile: the email address plus the TRUE total message and thread counts for the WHOLE mailbox (messagesTotal, threadsTotal). Use this FIRST for any 'how many emails do I have', 'how big is my inbox', or email-volume / analytics-over-time question. The per-search resultSizeEstimate returned by GMAIL_FETCH_EMAILS is an unreliable approximation (it can report the same number for every query) and must never be used as a count, this tool is the authoritative source for mailbox totals.
Grounded answers
Ruby reads Gmail live and cites what she found, so answers reflect your actual data, not a stale export.
Read-only by design
Least-privilege, read-only access. Ruby surfaces and drafts; your team always takes the action.
Managed, secure auth
Connect with one click. Tokens are encrypted and scoped per company; revoke access any time.
Knows restoration
Ruby understands jobs, claims, drying logs, and AR, so Gmail data lands in the right operational context.
Connect Gmail once in Ruby. Ask in the Ruby app, or bring the same secure connection into the assistant your team already uses.
Ruby
Ask in the Ruby app and get an answer grounded in Gmail and the rest of your connected stack.
Claude
Bring the same secure Gmail connection into Claude so it can answer with your live data.
ChatGPT
Use Gmail from ChatGPT with the same per-company, read-only access Ruby uses.
Do I need developer credentials to connect Gmail?
No. Gmail connects with a single click, Ruby handles the OAuth handshake and token refresh for you.
Can Ruby change anything in Gmail?
No. The Gmail connection is read-only. Ruby reads, summarizes, and drafts; a human always makes the change in Gmail.
Is my Gmail data secure?
Credentials are encrypted at rest and access is scoped per company. You can revoke the connection at any time from Settings > Integrations, which immediately cuts Ruby off.
Can I use Gmail alongside my other tools?
Yes. Ruby reasons across every tool you connect at once, so she can tie Gmail to your CRM, accounting, email, and documentation in a single answer.