You remember that a client sent a useful update, but not which thread contains it. OGAD (Off Grid AI Desktop) Pro can bring selected records from supported work services into its local work history. You can then search those records alongside retained work notes and return to the original source.
For a first result, connect Gmail, pull a small set of messages about one project and find a known message in Search. Then use the full source text to prepare a reply or a short list of next steps with a local model.

What would you like to do with Off Grid AI?
Have a feature or use case you would like us to support? Tell us what you want to do and which device you use.
Write to support@offgridmobileai.co, join our Slack community, or talk to us on Reddit.
The service connection and import need internet. Local AI processing requires a downloaded local model. Imported Gmail records contain metadata and snippets, so this is a way to find useful context, not a complete offline email account or attachment backup.
What should you prepare?
Use OGAD with Pro active, a Gmail account you are allowed to connect and one real message you can recognize. Choose a narrow task, such as finding the latest design-review request from a particular client.
The built-in Google connection requires your own OAuth client. This is a one-time setup for the client credentials; Gmail and Google Calendar still have separate account connections. An organization can restrict access, so an app connection must be allowed before it can read that account.
How do you connect Gmail?
- Open Integrations, select Gmail and choose Set up your Google client.
- Use the setup panel’s Google Cloud link to create or choose a project. Enable Gmail API for it.
- Configure the OAuth consent screen. For an external app in testing, add the Google account you will connect as a test user. Give the app a name you will recognize during authorization.
- Create an OAuth client with application type Web application. Add the callback shown by OGAD:
http://127.0.0.1:33418/callback. - Copy the client ID and client secret into the matching OGAD setup fields, then select Save client. Do not put these values in an AI chat.
- Select Connect, complete Google authorization and check the connected account. Use Test to confirm that the connection works.
Follow the links in the setup panel if Google changes its console layout. The important pieces are the enabled Gmail API, the permitted account, the correct client type and the exact redirect URI.
A connection shown as not verified is not ready for import. A disabled catalog card is also not an available integration simply because its name is visible.
Pull a small set of messages you can inspect
In Gmail’s integration detail, use the query field beside Sync recent and select Pull. Start with a sender, a subject term and a recent time range:
from:sam@example.com subject:review newer_than:7d
Replace the address and subject term with your own. These are Gmail search operators, described in Google’s search reference. For example:
| What you need | Example query |
|---|---|
| Recent design-review messages | subject:review newer_than:7d |
| Recent messages from one person | from:sam@example.com newer_than:30d |
| Messages you sent about a proposal | in:sent subject:proposal newer_than:30d |
Check the query in Gmail if it returns nothing. A sender address can be different from the person’s displayed name, and the word you remember may be in the body rather than the subject.
Read the import result and inspect Synced data. The checked Gmail route retrieves a small batch of up to 20 matching messages, not every page of an unlimited result set. A narrower query makes that first batch easier to check.
Open one source link and compare the imported record with the original. Check the subject and sender, then read the full thread before treating a snippet as the final decision.
What is saved, and what still lives in Gmail?
The Gmail route reads message headers and snippets. Its local summary can include the subject, sender, recipients and a short snippet. The summary keeps only a short excerpt of the snippet; it does not contain the full body or attachment contents.
That is enough to help find a message about a revised deadline. It may be insufficient to explain every condition attached to that deadline. A later reply in the thread can also change the original instruction.
Imported records include source information where available. Internet is still needed to refresh Gmail and open its online links. A retained local note can remain searchable offline, but it can become stale.
Find the imported message and turn it into useful work
Open Search and enter a distinctive phrase from the subject, such as Cedar review. Use the Sources filter to narrow the results to the relevant Gmail source when it appears. Clear an old source filter if it hides the records you expect.
Inspect the matching result and follow its source link. Suppose the message asks for revised mockups, but the snippet cuts off before the deadline. Open Gmail and copy the relevant full text into a local-model chat. Then ask:
From this pasted message, list the requested changes, each stated deadline and any unanswered question. Quote the words that support each deadline. Do not infer a deadline if none is stated. Then draft a short reply that acknowledges the requests without promising anything new.
Review the extracted facts before you use the reply. Keep the selected text model local if you want that processing to stay on the Mac. This explicit source-to-chat step supplies the content the snippet lacks; it does not assume that Search automatically gives the model the full mailbox.
Does a narrow Pull limit all later imports?
No. The query controls that manual pull. Enabled connectors can also receive background refreshes while OGAD is running. Gmail’s default refresh reads a recent inbox batch; it does not reuse your narrow query as a permanent filter.
Use the integration’s On/Off control to disable that connector if you do not want further automatic refreshes. Pausing screen capture is a separate control and does not stop this connector refresh. Turning a connector off also does not mean its already imported records are erased.
Sync recent uses the connector’s default read path. Other services can return different record types and support different queries. Do not copy Gmail operators into every connector and expect the same behavior.
If the message does not appear
Check in this order: did Test succeed, did Pull report imported items, does Synced data contain the expected item, and is Search using the right words and source filter?
An authorization error needs an account or OAuth setup fix. An empty result needs a query check. A record with too little detail needs the original source text. Repeating a broad import does not solve all three problems.
These controls are present in OGAD 0.0.51. Try OGAD with one project and one known message. Find the context, check the source and use a local model to finish the next piece of work.