list_correspondence is the one to reach for first — pass a contact, company,
application or resume id and it works out what to match on.
Everything here is read-only and live. The app asks Google when a tool is called and
shows what came back; nothing from an inbox or a calendar is ever written to the instance.
None of these tools can send, accept, archive or delete anything, because the permission
Google was asked for does not allow it.
get_google_connection says whether that has happened and which of the
two — Gmail, Calendar — was granted. An instance needs a Google OAuth client for any of this
to exist; see Google sign-in, which the same client provides.
How a record is matched:
A thin result usually means a contact with no email or a company with no website — the
notes field says which, and update_contact or update_company fixes it.
get_google_connection
Is Gmail and Calendar connected
Whether this person has connected their Gmail and Google Calendar, which of the two was granted, which Google address it is, and whether the connection has broken and needs reconnecting. Call this first when a mail or calendar tool fails, or before promising to look something up in their inbox. Connecting cannot be done from here — it is a consent screen at Google — so when connected is false, tell them to open Settings → Google in the app and press Connect, then come back. Nothing in the inbox is stored on this instance: every read is live, and disconnecting deletes the only thing held, the token.
No arguments.
list_correspondence
Mail and meetings about one record
Every email thread and calendar event in the person’s own Google account that involves one thing on the pipeline: a contact (matched on their email address), a company (its website’s domain plus everyone on file there), an application (its company’s domain plus the people attached to it) or a resume (every application it was sent with). This is the tool for ‘what’s the latest with Stripe’, ‘have I heard back from Jane’, ‘when is my interview’ and ‘what did the recruiter actually say’ — call it before summarising where an application stands, because the pipeline’s timeline only knows what was logged by hand. Pass exactly one id. Returns mail (threads, newest first, with subject, snippet, participants and a link) and calendar (past and upcoming events, with attendees, a Meet link and a link) — either is null when that half is not granted or Google refused, with the reason in warnings. notes explains a thin result, usually a contact with no email or a company with no website; fix those with update_contact and update_company and call again. Nothing is saved. To read a thread in full, pass its id to get_email_thread; to remember what you learned, log_activity on the application or contact.
Reaches outside this instance.
search_email
Search Gmail
Search the person’s Gmail with Gmail’s own query syntax — from:jane@acme.com, subject:offer newer_than:7d, "phone screen" — or plain words. Reach for this when the question is about mail that does not map to one record: ‘did any rejections come in this week’, ‘find the email with the take-home’, ‘who have I emailed about referrals’. For mail about a specific contact, company or application, list_correspondence already builds the right query. Returns threads newest first with subject, Gmail’s snippet of the latest message, everyone on the thread, when it last moved and a link that opens it in Gmail. Subjects and snippets only — pass a thread id to get_email_thread for the messages themselves. Read-only; nothing is saved, and this tool cannot send, archive or delete anything.
Reaches outside this instance.