Building an AI Chief of Staff
Use ChatGPT to prepare personal briefings, prioritize commitments and find relevant events.
- What
- AI KitchenHands-on workshop
- Where
- Santa Clara UniversityBenson 036
- When
- Friday, October 9, 20261 to 3 pm PacificAdd to Google Calendar
- Who
- Students, faculty and staff
- By
- Rishan MohamedHost: Prof. Kai LukoffStudent leads: Sandy Cai and Tripti Agrawal
Demo of a CoS morning briefing
Overview
Rishan will briefly demonstrate his own chief of staff morning briefing to show the breadth of what's possible.
Why
Use the demo to get the ideas flowing for what would be most useful in your own chief of staff and what data sources it would need.
Output
A running list of ideas for what you want your chief of staff to do for you.
Instructions
- Keep a running list of things you'd want in your own morning briefing.
What we are building
Overview
Your Chief of Staff will live in a ChatGPT Project. Its files define what it knows and how it prepares your morning briefing.
Why
Knowing how the pieces fit together makes each setup step easier to follow.
Output
A clear map of your Project, files, data sources and daily briefing routine.
Your CoS, from setup to every morning
Tap an item to see where it comes from and how we will create it.Hover or select an item to see where it comes from and how we will create it.
- ChatGPT Project
- The home for your CoS: related chats, shared files and standing Project instructions. Your chats use those instructions and files.
- Instruction and template files
- Instruction files tell your CoS how to work. Templates define the briefing layout. The .md extension means Markdown, a text format with headings and bullets.
- Personal data and connections
- Data files hold the facts your chosen sections need, such as goals or current commitments. Approved connections bring in current app data; public links or manual updates also work.
- Daily task → morning briefing
- A scheduled task repeats saved instructions at your chosen daily time. It reads the tested Project context and data to produce your briefing. Review runs and adjust the routine in Scheduled.
The four briefing instruction files
Briefing preferences.md
Your priorities and chosen sections.
Morning briefing template.md
The headings and visual layout.
Briefing sources.md
Where each section gets its data.
Morning briefing instructions.md
The rules for each briefing.
Why separate files instead of one?
The split is an organizational choice: preferences, layout, sources and routine rules can be updated independently. The tradeoff is more files to upload, keep consistent and reference.
The same content can live in one Morning briefing.md file with clear sections. We are building this CoS assuming it will grow over time, so we are starting with separate instruction files that are easier to update as its responsibilities expand.
Turn off ChatGPT model training
Overview
Review ChatGPT's Data Controls before sharing your personal data.
Why
Choose how your account handles training data before you give ChatGPT access to your personal information.
Output
Updated your preferences on how ChatGPT uses your data.
Steps to opt out
- Log in to ChatGPT.
- Click on your profile icon (bottom-left on web, top-right on mobile).
- Select Settings.
- In Settings, go to Data Controls.
- Find the toggle for "Improve the model for everyone."
- Switch it to OFF.
- Click Done. Your changes are saved automatically.
Video guide
Review memory (optional)
- Memory is separate from model training. Turning off model training does not set your memory preferences.
- Memory can help ChatGPT recall preferences across chats. Keep the essential briefing rules in the four instruction files and Project instructions so you can inspect and update them.
- If you want that extra recall, review Settings > Personalization and the memory controls available to your account and workspace. Review what is saved and choose what you want to keep. This workshop uses explicit Project files as its record, so do not rely on memory alone.
- If your interface requires a memory setting to use Project context, follow its guidance. Confirm file retrieval in a new Project chat and in the task's execution environment rather than assuming memory makes them available.
Managed workspace privacy
Business, Enterprise and Edu workspaces do not use business data for training by default. If your control is managed by a workspace, check its policy instead of assuming you changed it. This setting does not replace permissions for connected apps.
Create a project in ChatGPT
Overview
Create a Project in ChatGPT to hold your chief-of-staff chats, instructions and shared sources.
Why
A Project gives future chats access to the same instructions and approved sources, without restarting your setup each time.
Output
A Project named Chief of Staff.
Instructions
- Open ChatGPT and sign in. Choose Work.
- In Projects, create a ChatGPT Project named Chief of Staff.
- Start a new chat inside that Project. Use this chat for the generated prompt after choosing your briefing sections.
Design your morning briefing
Overview
Choose the information and reminders that would make each morning easier.
Why
A focused, ordered list gives your chief of staff a clear definition of what matters most.
Output
Your chosen briefing sections in the order you want them.
Instructions
- Select the briefing sections you want.
- Add any custom sections that are missing.
- Reorder the list so the most useful information appears first.
- Continue to the next module when the list reflects your priorities.
0 selected
Once you've selected what you want in your briefing, you are done with this step. We'll use your selections to generate a prompt for you in the next step.
Set up your morning briefing
Overview
Use the generated prompt to turn your ordered list into a reusable briefing setup.
Why
The guided setup connects each section to approved sources, saves durable instructions and creates the schedule only after you confirm it.
Output
Four saved instruction files and a daily morning briefing task, after your approval and access checks.
Instructions
- Copy the generated setup prompt into the original chat inside your Chief of Staff Project.
- Answer focused follow-up questions so ChatGPT understands what each section means to you. Review its related suggestions and approve only the sections you want.
- Follow the source and consent guidance one source at a time. Complete sign-in and consent yourself, and use a manual fallback when access is unavailable.
- Answer the remaining setup questions and review the proposed files and daily task.
- Confirm only when you are ready for ChatGPT to save the four .md files and create the schedule. Do not ask for a current briefing during setup.
Connect your data sources
Skip this if you already connected your data sources in the previous step
Overview
Your chief of staff can be useful with a two-minute check-in. Gmail and calendar are optional ways to reduce manual updates, when your account permits them.
Why
The assistant needs current facts. Testing your approved sources tells you what it can retrieve and what you must still supply manually.
Output
Tested connections for your selected sections, or agreed manual fallbacks.
Instructions
- Continue the same setup chat. ChatGPT maps every selected briefing section to the information it needs and explains why.
- In ChatGPT Work, open Customize, then Plugins. Find the official Gmail, Google Calendar or Google Drive plugin. Open its details, review its provider and actions, then install using the plus button.
- Complete the offered Google sign-in connection yourself. Choose the intended account and read the consent screen before approving. School or work accounts may need administrator approval; do not bypass a blocked connection.
- Follow ChatGPT's source setup instructions one at a time. Compare a real retrieved item with the original source, including its date. A connected badge alone does not prove access or freshness.
- If installation requires a new chat, open it inside Chief of Staff. Ask the setup chat for a handover using your agreed sections and saved files. Retest access there and in the daily task's environment.
- To stop access, disconnect the integration in ChatGPT and review the linked service in your Google Account's third-party connections. Remove its access there too. This does not undo actions already taken.
Set up Gmail
Use approved messages for deadlines, requests and follow-ups.
- Connect the Gmail plugin to the mailbox that holds your briefing information. Check the displayed email address before continuing.
- Tell the setup chat which senders, labels and date range it may read. A request to use one label does not necessarily limit the account permission you granted.
- In a chat inside this same Chief of Staff Project, edit and send the test prompt below. Check the result against Gmail; keep private contents minimal.
- Record the verified mailbox and scope in Briefing sources.md. Keep sending, forwarding, archiving and deleting outside the briefing's instructions.
In a chat inside your Chief of Staff Project, replace the bracketed details, then copy and send this prompt. Compare the result with the original source.
Edit the prompt before copying it.
Set up Google Calendar
Use actual appointments, preparation time and schedule conflicts.
- Connect the Google Calendar plugin to the intended Google account. Calendar needs its own authorization; Gmail access does not prove calendar access.
- Name the calendars to include, the look-ahead window and your time zone. For shared calendars, check that this account can access them.
- In a chat inside this same Chief of Staff Project, edit and send the test prompt below. Compare the result with Google Calendar.
- Record those calendars and retrieval windows in Briefing sources.md. The briefing should read appointments, without creating, changing or cancelling events.
In a chat inside your Chief of Staff Project, replace the bracketed details, then copy and send this prompt. Compare the result with the original source.
Edit the prompt before copying it.
Set up Google Drive
Use the specific goals, plans and documents your sections need.
- Connect the Google Drive plugin to the account that can open your chosen documents. Review file access and any create, edit or delete permissions.
- Choose specific files and copy their source links into the setup chat. A folder link alone is not proof that every file is available or kept in sync.
- In a chat inside this same Chief of Staff Project, edit and send the test prompt below. Check the original file without changing it.
- Record the verified files in Briefing sources.md and add supported file links or reviewed uploads to Project Sources. Label uploads as snapshots and check how they will stay current.
In a chat inside your Chief of Staff Project, replace the bracketed details, then copy and send this prompt. Compare the result with the original source.
Edit the prompt before copying it.
Set up Canvas calendar
Bring assignment deadlines into your briefing through a Google Calendar subscription.
- In Canvas, open Calendar, then Calendar Feed. Copy your private feed URL. Keep it private; do not paste it into this workshop page or a public chat.
- In Google Calendar, open Other calendars, then Add, then From URL. Paste the feed URL and subscribe. Name the subscribed calendar so you can identify it.
- Connect that Google Calendar account using the guide above. A direct Canvas connector has not been verified for this workshop.
- In a chat inside this same Chief of Staff Project, edit and send the test prompt below. Compare one real assignment with Canvas before relying on the feed.
- Google Calendar may take up to 24 hours to sync. Canvas To Do items are excluded. If the subscribed calendar is unavailable or stale, supply real assignment deadlines manually and record that fallback in Briefing sources.md.
In a chat inside your Chief of Staff Project, replace the bracketed details, then copy and send this prompt. Compare the result with the original source.
Edit the prompt before copying it.
Save your instructions
Skip this if you already saved your instruction files in the previous step
Overview
Keep behavior and format in Project instructions. Keep personal facts and changing commitments in explicit shared sources you can review and update.
Why
Corrections in one chat are easy to lose. Explicit files and reference instructions let you verify that the next chat starts with the right context.
Output
Saved behavior instructions and shared sources that work in a new chat.
Instructions
- Continue the same setup chat. ChatGPT will prepare Briefing preferences.md, Morning briefing template.md, Briefing sources.md and Morning briefing instructions.md after your data sources are ready.
- Review the proposed files and daily schedule. Confirm when you are ready for ChatGPT to save them and create the task.
- Save all four files to Chief of Staff > Sources. Files in the Library alone are not Project Sources. If ChatGPT cannot save there directly, add the existing Library files through the available Sources controls, or download them and upload them to this Project. Save the filename guidance to Project instructions when prompted.
- Check all four filenames in Project Sources, then open a new chat inside Chief of Staff and ask it to retrieve and quote a short passage from each file without pasting their contents. An uploaded file is a snapshot; update it when the facts change.
Edit your briefing
Overview
Add relevant SCU events to your daily morning briefing using a new Chief of Staff Project chat.
Why
Updating the saved files and daily task makes this section recur in your actual morning briefing.
Output
An SCU events section saved in your briefing instructions and existing daily task, with any access gaps identified.
Instructions
- Start a NEW chat inside your Chief of Staff Project.
- Edit the prompt on this page if you want to change the request.
- Copy the prompt below, paste it into the new Project chat and send it.
- Review the suggested events and open their source links. If retrieval is unavailable, paste real listings and their source links into the chat.
- Answer any missing preference questions and confirm the proposed changes. The prompt tells ChatGPT to update all four instruction files and the existing daily task.
- If ChatGPT cannot save or update them directly, follow its replacement-file and task-editing guidance. Check the next daily run includes the new section.
Edit and copy your prompt
Edit the field below if needed, then copy and paste it into your Chief of Staff Project chat.
Edit the prompt before copying it.
Source access and event details
If ChatGPT cannot read the calendar, open the site yourself and paste real event details with source links. Keep missing information marked unknown.
Build a routine
Overview
Your setup prompt already asks ChatGPT to create the daily task after your confirmation. Use this module to review and maintain that routine.
Why
A saved schedule needs the right files, current data and useful output. Reviewing its first run shows whether the routine works.
Output
A confirmed daily task and a plan to review its first run, or an explicit account/access limitation.
Instructions
- Continue the same setup chat. Confirm your daily time, time zone, destination, approved sources and the instruction files before ChatGPT creates the task.
- Review the actual saved task in Scheduled. Check its instructions, time, time zone and destination. ChatGPT should report a missing scheduling tool or source access honestly and guide the supported alternative.
- Review the first actual run for file access, source freshness, selected sections and visual clarity. Pause or edit the task in Scheduled if those checks fail.
- Ask for focused changes in the same chat and update the appropriate instruction file. Keep extra research or drafting on demand.
- Share one useful next action or verified event with a partner, without exposing private facts. Explain one correction and one boundary.
Usage and scheduling limits
Scheduling and source access depend on your account and workspace. The setup prompt checks the intended execution environment and guides a supported fallback if needed. A saved task is not proof that its first run succeeded.
Obsidian: an external brain
Overview
Obsidian is a free app that keeps your notes as plain Markdown files in a folder on your computer, called a vault. Your four briefing files are already Markdown, so they open in Obsidian unchanged.
Why
Your vault becomes the master copy of your briefing rules, linked to the decisions, projects and research behind them. You can read, edit and back it up yourself, independent of any one chat or account.
Output
A backed-up vault with your four briefing files in a Chief of Staff folder, a linked Home note, one decision recorded from a template, and a tested routine for updating Project Sources after you edit.
How this module works
- Finish the core workshop first. You need your four briefing files saved in Chief of Staff > Sources before you start.
- Open the six guides below in order: create your vault, bring in your files, link them, grow your notes, back up, then keep ChatGPT in step. Each guide ends with a check, so you know it worked before moving on.
- Use the first prompt during the Home note guide if you want ChatGPT to draft your Home note and a decision template. Use the second prompt every time you replace a briefing file in Project Sources.
- ChatGPT reads the copies in Project Sources, not your vault. The last guide shows how to keep the two matched.
Edit and copy your prompt
Edit the field below if needed, then copy and paste it into your Chief of Staff Project chat.
Edit the prompt before copying it.
Edit the prompt before copying it.
Step 1: Install Obsidian and create your vault
A vault is an ordinary folder on your computer. Obsidian stores each note in it as a plain .md file you can also open in any text editor.
- Download Obsidian from obsidian.md/download. On Windows, run the installer. On a Mac, open the download and drag Obsidian into Applications. Obsidian is free, including for work use.
- Open Obsidian. Next to Create new vault, select Create.
- In Vault name, enter Chief of Staff vault. Select Browse, choose a folder you control, such as Documents, then select Create.
- Choose the location carefully. Do not use a system folder or a folder inside another vault. If the folder syncs with OneDrive, right-click it and choose Always keep on this device. On Windows, do not keep a vault in iCloud Drive.
- Already keep notes as Markdown files? Next to Open folder as vault, select Open and choose that folder instead.
- Check: Obsidian opens your new vault, and the folder exists where you chose. Obsidian adds a hidden .obsidian folder there for its settings; leave it in place.
Step 2: Bring in your four briefing files
Your vault will hold the master copy of each briefing file, under the exact filename your Project instructions and daily task expect.
- In Obsidian's left sidebar, select New folder and name it Chief of Staff.
- In ChatGPT, open your Chief of Staff Project, select Sources, then open and download each of the four briefing files. If a file is only in your setup chat, use its download button there. If you downloaded a ZIP, extract it first.
- Drag the four .md files from your Downloads folder onto the Chief of Staff folder in Obsidian's sidebar. You can also move them into the vault folder with File Explorer or Finder; Obsidian picks up the change automatically.
- Keep the exact filenames: Briefing preferences.md, Morning briefing template.md, Briefing sources.md and Morning briefing instructions.md. Remove anything your browser added, such as (1).
- Check: open each file in Obsidian and compare it with its copy in Project Sources. If one is missing or older, ask your setup chat for the complete current version before you continue.
Step 3: Link everything from a Home note
One start page that connects your briefing files and says what each one controls.
- Select New note (Ctrl+N on Windows, Cmd+N on Mac) and name it Home.
- Type [[ and choose Briefing preferences from the suggestions. Obsidian inserts the link [[Briefing preferences]]. Add the other three files the same way, one per line.
- After each link, add a short description, for example: [[Briefing sources]]: approved sources, freshness checks and fallbacks. The first prompt on this page can draft this note for you.
- Right-click Home in the left sidebar and choose Bookmark, so it is always one click away.
- Leave Settings > Files and links > Automatically update internal links turned on, so renaming a note updates every link to it. Do not rename the four briefing files themselves; ChatGPT looks for their exact names.
- Check: open Briefing sources and look at Backlinks in the right sidebar. It should list Home. Then select each link in Home to confirm it opens the right file.
Step 4: Grow your external brain
Notes beyond the briefing give it context: the decisions, projects, people and research behind your preferences.
- Create only the folders you will use. A simple start is Decisions, Projects and Templates. Links keep working if you reorganize later.
- In Settings > Core plugins, turn on Templates. Then open Templates in the settings sidebar and set Template folder location to Templates.
- In the Templates folder, create a note named Decision. Paste the Decision template from the first prompt, or type your own: a date property set to {{date}}, a status property, and headings for Context, Options considered, Decision and Follow-up. Obsidian replaces {{date}} with today's date when you insert the template.
- Record one real decision. In Decisions, create a note, select Insert template in the left ribbon and choose Decision. Link the briefing file it affects, such as [[Briefing preferences]], and link the decision from Home under Recent decisions.
- Optional: turn on Daily notes in Settings > Core plugins for one dated page per day, or add the official Obsidian Web Clipper browser extension to save web research into your vault.
- Check: open Graph view from the left ribbon. Home, your four briefing files and your decision note should appear connected.
Step 5: Back up your vault
A backup is a separate copy in a different place. Sync keeps devices identical, including deletions and mistakes, so it does not replace a backup.
- Choose one backup method for the whole vault folder: your computer's backup tool, such as File History on Windows or Time Machine on a Mac, or a regular copy to an external drive. Obsidian advises against keeping the live vault inside your backup service.
- Make sure the backup includes the hidden .obsidian folder, which stores this vault's settings.
- In Settings > Core plugins, check that File recovery is on. It keeps snapshots of your notes on this device for 7 days by default. To undo a bad edit, open Settings > File recovery > View snapshots. It is not a backup.
- If you use Obsidian on more than one device, choose one sync method per vault. Do not combine services, such as Obsidian Sync and iCloud, on the same vault. On iPhone and iPad, Obsidian recommends Obsidian Sync (paid) or iCloud. Sync is optional for this module.
- Keep community plugins in Restricted mode unless you trust a plugin's author. Community plugins can access files on your computer and connect to the internet.
- Check: restore one note from your backup into a different folder and open it. A backup you have never restored is unproven.
Step 6: Keep ChatGPT in step
ChatGPT reads the copies in Project Sources, not your vault. Editing a note in your vault does not change the copy ChatGPT reads.
- Edit briefing rules in your vault first, so the vault stays the master copy.
- To update ChatGPT, open Chief of Staff > Sources, delete the old copy of the changed file, then upload the edited file from your vault's Chief of Staff folder. Deleting first avoids two sources with the same name.
- If ChatGPT updates a briefing file for you, for example in Edit your briefing, download the new version and replace the file in your vault. Read what changed before you rely on it.
- After each replacement, open a new chat in Chief of Staff and send the second prompt on this page. It quotes your change and checks the other files and your daily task for conflicts.
- Upload only what your briefing needs. Other notes stay on your computer until you upload or connect them.
- Desktop app option: the ChatGPT desktop app can attach a folder on your computer to a project, and ChatGPT can then read and change every file in it. If you try this, back up first, attach only your Chief of Staff folder rather than the whole vault, and keep the four files in Project Sources too. A daily task may run where your computer's files are unavailable.
- Check: the new chat quotes your edited passage exactly and reports no conflicts, or lists the conflicts for you to fix.
Privacy, devices and limits
Obsidian is optional and free for personal and work use. Your vault stays on your device unless you sync it, back it up to a service or upload files to ChatGPT, and each of those follows that service's own privacy settings. Obsidian also runs on iPhone, iPad and Android, where storage and sync choices differ; read Obsidian's sync guide before moving a vault between devices. ChatGPT has no built-in Obsidian connection, so nothing in your vault reaches your briefing until you upload it or attach a folder in the desktop app.
ChatGPT Dot: ongoing help
Overview
A dot is a cloud-based ongoing agent that can keep work moving between conversations and return when a result or decision needs you.
Why
It can maintain a bounded responsibility beyond a daily briefing, such as tracking a project decision, researching a changing topic or following up on an unresolved blocker.
Output
One reviewed dot responsibility with approved sources, clear permissions, update rules and no duplicate daily schedule.
Instructions
- On desktop web or in the ChatGPT desktop app, open dots and follow the setup introduction. If dots are unavailable, skip this module because access is still rolling out.
- Connect only the apps or computer access this responsibility needs, or skip connections. Each connection has separate access and permissions.
- Explicitly give the dot the approved Chief of Staff files or source references it needs. Do not assume it inherits your ChatGPT Project, every conversation or every file on a connected computer.
- Assign one bounded responsibility. Name the result, approved sources, what changes deserve an update and which decisions must come back to you.
- Review the first result in Activity. In Settings > Personalization > Custom rules, choose whether sensitive actions should ask first or be handed back to you.
- Open Scheduled before adding a recurring time. Reuse or change an existing daily task instead of creating a duplicate, and confirm the saved timing, time zone and destination.
Additional guidance
Dots are optional and gradually available to eligible accounts. Connecting an app, computer or channel does not create a monitoring task or grant access to unrelated sources.
Codex: tools and automation
Overview
Codex can work with local files and code, run commands, check results and turn a repeated manual check into a reviewable script or automation.
Why
Beyond producing a briefing, a small local tool can detect missing dates, stale commitments or broken source links and repeat the same check whenever your files change.
Output
A reviewed local script or report created inside a backed-up sandbox folder, with its changes and output checked before use.
Instructions
- Make a backup, then create a small sandbox folder containing copies of only the files needed for this experiment.
- Open that folder as a local project in the ChatGPT desktop app's Codex view, or start Codex CLI from the folder with codex or codex -C <folder>.
- Ask for one narrow tool, such as a script that flags commitments without dates or lists stale source references. State the expected input, output and one sample check.
- Review the proposed files and diff before accepting them. Let Codex run only the focused command or sample check needed to verify the result.
- Keep the useful script with the sandbox and run it again after the source files change. Expand its scope only after the small version is reliable.
Additional guidance
Local Codex uses the folder and permissions you select. Remote repositories, cloud environments, browser sessions and other computers are not automatically available; connect and review them separately if needed.
GitHub: history and review
Overview
Git and GitHub can record changes to your instruction files and tools, make earlier versions recoverable and support review with collaborators.
Why
Branches, commits and pull requests make changes inspectable before they replace a trusted workflow, especially when more than one person contributes.
Output
A local or private repository with a safe ignore file, one reviewed branch and a clear path for local or Codex Cloud work.
Instructions
- Decide whether local Git history is enough or whether you want a private GitHub repository for remote history and collaboration. GitHub is useful, but local Codex does not require it.
- In GitHub Desktop, choose File > New repository. Enter a name and local path, initialize it with a README, then select Create repository.
- Before adding your files, put secrets, private exports and any raw inbox folder in .gitignore. Never commit passwords, tokens or keys, even to a private repository. If you publish the repository to GitHub, keep it private unless you deliberately want the files public.
- Create a branch, add one safe file or change, review the diff and commit it with a clear message. Publish or push only after checking every included file, then open a pull request when another person should review it.
- For Codex Cloud, create an environment, connect GitHub if prompted, select only the repository the task needs and review the prepared setup before publishing it.
Additional guidance
Repository visibility controls who can view the remote repository, but it does not make committed secrets safe. Codex Cloud receives the repositories selected for its published environment; local files and sign-ins are not transferred automatically.