# Set up Codex for a checked local brief, image and Gmail read
> A documentation-based Codex workflow for checking a source-backed local brief, saved image, authorized Gmail read and reusable Skill, with a separate scheduled review.
By BIG CHANGE Editorial
Published: 2026-10-21T10:04:38.161Z
Updated: 2026-10-21T10:04:38.161Z
Canonical: https://bigchange.ai/blog/codex-noncoding-files-image-gmail-schedule-guide

AI-generated conceptual illustration by BIG CHANGE.
Codex in the ChatGPT desktop app can work with a permitted local folder, generate an image and use an installed plugin. Each step still needs its own evidence of success. This guide is for a reader who has rights to one source brief, access to a local Codex project and separate permission to connect a harmless Gmail thread. It is based on [OpenAI's current desktop](https://help.openai.com/en/articles/20001275-chatgpt-work-and-codex), [project](https://learn.chatgpt.com/docs/projects), [image](https://learn.chatgpt.com/docs/image-generation), [plugin](https://help.openai.com/en/articles/20001256-plugins-in-codex), [skill](https://learn.chatgpt.com/docs/build-skills) and [scheduled-task](https://learn.chatgpt.com/docs/automations) documentation, checked October 21, 2026. BIG CHANGE did not run the workflow on a reader account.
## The big change
- **What changed:** A desktop Codex project can bring a local source, a generated image and a connected app into one supervised task. A local folder permission does not mean the task's inference or context stays only on the computer.
- **Why it matters:** A reader can ask for a brief and illustration, then check the saved files against the source. A separate Gmail read can supply context without requiring a mail change. Each result still depends on the actual account, permissions and review.
- **What to watch:** A reusable Skill and a scheduled review can repeat the checking procedure. Their value depends on the saved instructions, a real first run and an inspected stop state, rather than the schedule confirmation alone.
## 1. Prepare one approved source and record its baseline
Put one non-sensitive, owner-approved source brief in a dedicated local folder. Record its origin, date, rights, approved claims and any exclusions. Add a permitted reference image only if you have one. Keep the original untouched and a restorable copy. Choose a text output path and an image output folder. Record the source file's SHA-256 hash and path in a local baseline record. A matching hash later proves the bytes match this baseline; it cannot prove the brief's facts are true.
Check the desktop app version, account and workspace permissions, image access, plugin availability and usage controls before starting. A managed workspace can restrict any of these. [OpenAI explains](https://help.openai.com/en/articles/20001275-chatgpt-work-and-codex) that local task messages and context may still be stored in the cloud. Review the account's data and retention settings before giving Codex access. Local project sync does not upload an entire folder to another computer, and a cloud continuation cannot use a folder that is unavailable to it. [OpenAI's project guide](https://learn.chatgpt.com/docs/projects) describes those boundaries.
## 2. Make and reopen the source-backed file
In desktop Codex, open a local project with the dedicated folder. If you attach a folder to an existing project, its menu offers **Edit project**, **Add folder** and **Make primary**. Codex automatically discovers local skills from the primary folder; attached folders can also be read and changed. Select the permission mode shown for this chat. [Ask for approval](https://learn.chatgpt.com/docs/permission-modes) is a workspace boundary, not a promise to ask before every edit inside it.
Ask Codex to read only the approved brief and create one concise document at the named path for a named audience. Require each material claim to point to a source section, and require missing evidence to be marked. Give the intended file type and structure. Once the operation finishes, inspect the reported path and reopen the **actual saved file** in an appropriate viewer. Compare every name, number, attribution and conclusion with the original brief. A convincing chat response without a saved file does not pass this step. [OpenAI's file guide](https://learn.chatgpt.com/docs/artifacts-viewer) describes desktop previews and the need to specify file and review criteria.
If the file is absent or the write result is uncertain, check the folder before asking for another write. Keep the source unchanged until a person has reviewed any proposed correction.
## 3. Generate an image, save it and reopen it
Ask for an original illustration of the brief's established subject. State the permitted reference material, intended use and what must be excluded. For explicit invocation, the [Codex image guide](https://learn.chatgpt.com/docs/image-generation) documents `$imagegen`; availability and usage depend on the account. Avoid invented people, fake interface screens, unsupported labels and unlicensed marks. Inspect the result in the expanded image viewer, including any visible text. Ask for a bounded edit if it conflicts with the brief.
Save the chosen result into the output folder using its **actual returned format**. If the app instead supplies a download, inspect that downloaded file and record its path. Check the file signature or MIME type against its extension, reopen the saved file in an image viewer, and record its hash. Compare the image with the source brief and rights record. A renamed extension is not a format conversion. No fixed output format or successful save can be assumed from the docs.
## 4. Read one authorized Gmail thread
This stage is optional until the mailbox owner separately authorizes it. Select a harmless existing thread and verify the Google account and requested permissions during connection. The [Gmail plugin description](https://openai.com/business/plugins/gmail/) supports finding and referencing inbox conversations; [plugin availability](https://help.openai.com/en/articles/20001256-plugins-in-codex) varies by surface, account and workspace. If the Gmail app is absent in the current Codex task, record that access gap and stop this stage. The same plugin's examples for ChatGPT Work do not prove every Codex action is present.
In a supported Codex task, use **Sources > Use plugins** to select the installed plugin, or use the available app control. Ask only to find the identified thread within a bounded date range and summarize its open questions with a thread reference. Open the thread yourself in Gmail and compare the account, subject, sender, dates and reported facts. Record which headers and messages were actually checked. Do not send, draft, forward, label, delete or modify mail. A narrow prompt does not narrow the Google account grant; inspect the requested scope and disconnect an unexpected account. [OpenAI's connected-app](https://help.openai.com/en/articles/11487775-connected-apps-in-chatgpt) and [Google data-controls](https://help.openai.com/en/articles/10408842-google-app-data-controls-faq) pages explain account and workspace controls.
## 5. Create a Skill that can be inspected
After the document and image pass, create `.agents/skills/source-brief-check/SKILL.md` under the project's primary folder. [Codex's skill guide](https://learn.chatgpt.com/docs/build-skills) requires `name` and `description` metadata and documents local discovery and explicit invocation. Inspect the saved file and hash it. An instruction file is reusable guidance; it does not enforce access permissions or prove the output is correct.
Save this instruction text as `SKILL.md`. When you invoke it, supply the actual reviewed source, document, image and baseline paths, plus the rights notes:
```markdown
---
name: source-brief-check
description: Check one approved local source brief against its named document and image. Use only for an explicit source-backed artifact review; ignore unrelated writing or mail requests.
---
# Source brief check
Inputs supplied by the user: exact approved source path, saved document path, saved image path, baseline record path, and rights notes. Stop and report a missing input if any path or rights note is absent. Read only these named files. Do not edit files, access Gmail, create a schedule, or send or publish anything.
Report the source path and current SHA-256 beside its recorded baseline hash. Compare each material claim in the document with a specific section of the source; mark unsupported or changed claims. Check the image's actual format against its extension, reopen the saved file, and compare visible subject, text and rights with the source and rights notes. Report the paths checked, evidence locations, mismatches and unresolved items. A matching hash proves file identity only. Do not call the review complete when evidence is missing.
```
Explicitly invoke `$source-brief-check` twice: once with the reviewed source and outputs, and once with a missing source or rights note. The first response should identify checked evidence; the second should stop and name the missing input. For the unrelated-trigger check, start a fresh chat without the earlier review context and make an unrelated request **without naming the Skill**. Check whether Codex selects it automatically. Compare every response with the files and request yourself. If Codex does not discover the Skill, confirm the primary folder and `SKILL.md` path, then restart Codex if needed, as the skill documentation advises. These are **prospective reader checks**; BIG CHANGE has not run them.
## 6. Schedule a bounded review only after separate approval
Get explicit approval for the permitted folder, exact prompt, destination, cadence, timezone, usage and stop point. First run the same read-only review manually in the local desktop task. Save the prompt and a baseline record containing the source, document and image paths and hashes. For the scheduled prompt, specify: inspect only those approved files, compare hashes and source-backed claims, report changes or a precise missing input, make no edits or Gmail calls, and stay quiet while unchanged. Set a review or stop date for a person to act on; prompt text alone does not guarantee automatic cancellation.
The [desktop scheduled-task guide](https://learn.chatgpt.com/docs/automations) says local tasks need the computer on, the app running and the files available. The [general ChatGPT Scheduled page](https://help.openai.com/en/articles/10291617-scheduled-tasks-in-chatgpt) describes a separate task system; it explicitly says Codex uses separate automations. Confirm the installed desktop control belongs to the local Codex project before creating anything. Do not substitute a web task or cloud Team Task: those do not inherit this local folder. If local scheduling is unavailable, leave this stage incomplete.
After authorization and creation, record the actual task ID, saved prompt, cadence and timezone, destination, next due time and status. At the first due time, inspect the task history and the actual report. Record the output or the exact reason no run occurred. Pause or delete the task at the approved stop point and read back its inactive state. If a creation response is uncertain, inspect the task list before retrying, so that you do not create duplicates. Do not broaden sandbox permissions to make an unattended run pass.
## Completion and limits
The core workflow is complete only when the source-backed document and image have been reopened and checked, the intended Gmail thread has been verified in the correct account, and the Skill has been inspected and checked in the three cases. Mark any unavailable core stage incomplete. The separately authorized scheduled trial has its own completion test: saved task details, first-run output or exact non-run reason, and inactive-state readback after the stop action. Leave it unstarted if authorization or local scheduling is unavailable. Image, plugin and scheduled work can use plan allowance or credits; the cited documentation does not establish a fixed cost for this particular workflow. No time saving, reliability gain or successful execution is claimed here.
## Sources & further reading
- [ChatGPT Work and Codex](https://help.openai.com/en/articles/20001275-chatgpt-work-and-codex): desktop surfaces, local access, cloud context and workspace controls.
- [Projects and chats](https://learn.chatgpt.com/docs/projects), [Permissions](https://learn.chatgpt.com/docs/permission-modes) and [Work with files](https://learn.chatgpt.com/docs/artifacts-viewer): folder selection, approval boundaries and file review.
- [Image generation](https://learn.chatgpt.com/docs/image-generation): Codex image request and visual review controls.
- [Plugins in ChatGPT](https://help.openai.com/en/articles/20001256-plugins-in-codex), [Gmail plugin](https://openai.com/business/plugins/gmail/) and [Google app data controls](https://help.openai.com/en/articles/10408842-google-app-data-controls-faq): supported connection route, Gmail reference use and account data boundaries.
- [Build skills](https://learn.chatgpt.com/docs/build-skills): local `SKILL.md` format and discovery.
- [Scheduled tasks](https://learn.chatgpt.com/docs/automations) and [Scheduled tasks in ChatGPT](https://help.openai.com/en/articles/10291617-scheduled-tasks-in-chatgpt): local desktop requirements and the distinct ChatGPT task surface.
- BIG CHANGE's [Claude Code and Google Workspace read checks](https://bigchange.ai/blog/claude-code-google-workspace-cli-read-checks) and [ChatGPT Images artwork guide](https://bigchange.ai/blog/chatgpt-images-four-business-artwork-concepts-guide) cover adjacent, distinct tasks.
## Sources
- [ChatGPT Work and Codex](https://help.openai.com/en/articles/20001275-chatgpt-work-and-codex) — Desktop surfaces, local and cloud boundaries
- [Projects and chats](https://learn.chatgpt.com/docs/projects) — Local folders, primary folder and sync limits
- [Permissions](https://learn.chatgpt.com/docs/permission-modes) — Ask for approval workspace boundary
- [Work with files](https://learn.chatgpt.com/docs/artifacts-viewer) — Saved document review
- [Image generation](https://learn.chatgpt.com/docs/image-generation) — Desktop generation, invocation and visual review
- [Images in ChatGPT](https://help.openai.com/en/articles/11084440-images-in-chatgpt) — Image access and Codex link
- [Plugins in ChatGPT](https://help.openai.com/en/articles/20001256-plugins-in-codex) — Codex plugin use and conditional availability
- [Gmail plugin](https://openai.com/business/plugins/gmail/) — Inbox reference capability; Work examples
- [Connected apps in ChatGPT](https://help.openai.com/en/articles/11487775-connected-apps-in-chatgpt) — Account and action authorization
- [Google app data controls FAQ](https://help.openai.com/en/articles/10408842-google-app-data-controls-faq) — Google permissions and data handling
- [Build skills](https://learn.chatgpt.com/docs/build-skills) — SKILL.md and local discovery
- [Scheduled tasks](https://learn.chatgpt.com/docs/automations) — Local task requirements and run inspection
- [Scheduled tasks in ChatGPT](https://help.openai.com/en/articles/10291617-scheduled-tasks-in-chatgpt) — Separate ChatGPT Scheduled surface
The BIG CHANGE newsletter
The big picture. At your pace.
Recent stories on AI and robotics, the shifts worth watching and practical ideas to use. Choose a daily briefing, weekly digest or monthly perspective.
Next scheduled send (UTC): . Your first edition arrives at the next scheduled send after you confirm.
Your privacy, your choice.
Necessary storage supports site security and remembers your choices. Optional Google Analytics stays off until you allow it. You can read every story with necessary storage only. Privacy details