Create a ChatGPT project for your business, write your tone and answering rules into the project instructions, upload your price list and policy documents as files, then test with ten real customer questions. Every new chat inside that project then follows them without you repeating anything.
The common failure is putting everything in one place. Instructions are for how ChatGPT should behave; files are for facts it should look up. Prices buried in instructions go stale unnoticed, and tone rules buried in a 30-page PDF get ignored. Keep the two apart and the setup takes about an hour.
What a Project holds, and what it does not
A ChatGPT project is a folder with memory of its own. According to OpenAI's help page it keeps related chats, files and instructions together, so ChatGPT works from the same context each time you open a new chat. Three parts matter for a business:
- Project instructions. Written once under the project's settings (the three-dot menu, then Project settings). They apply only inside that project and override your personal custom instructions.
- Files. PDFs, spreadsheets, documents, images or pasted text that ChatGPT can draw on when answering. You can also add a Google Drive file or folder, or a Slack channel, as a source in a private project.
- Chats. Every chat you start inside the project inherits the instructions and file context. You can also drag an existing chat into the project, and it picks them up from that point.
What a project is not: it is not a public chatbot you can put on your website, and it does not update itself when your prices change. It is a workspace for you and your staff. A person reads the draft and sends it. If you are weighing it against a customer-facing bot, the chatbot mistakes that lose small businesses customers are worth reading first.
One note on naming, because older tutorials online still point the other way: OpenAI is retiring the build-your-own-assistant feature that used to be the usual answer to this question. Its migration FAQ says those assistants are scheduled to stop on 11 December 2026, with creators moving them to plugins. A project needs no migration and holds the same instructions and files, so everything below uses projects only.

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowPlan limits that decide how you organise files
The number of files per project depends on your plan, and only ten can be uploaded in one go. These figures come from OpenAI's help page; check it before you plan around them, since limits change.
| Plan | Files per project | What it means in practice |
|---|---|---|
| Free | 5 | One merged price-and-policy document, one tone sample, one FAQ |
| Go, Plus | 25 | Room for a separate file per product line or policy |
| Pro, Business, Enterprise, Edu | 40 | Enough for a full document set; shared workspace controls on Business |
The same page caps how many people can join a shared project: 5 collaborators on Free, 10 on Go and Plus, and 100 on Pro and on Business, Enterprise and Edu workspace projects. Project sharing works on every plan, including Free. Invitees get either chat access (they can use the project) or edit access (they can also change instructions and files, and invite others). On Business, Enterprise and Edu you can invite workspace groups as well as individuals. A shared project automatically uses project-only memory, which matters for privacy and is covered below.
A standard Business seat is listed at $25 per user a month on monthly billing or $20 on annual billing, for teams of two or more, as of November 2026. A one-person bakery or café gets everything in this tutorial from a Plus plan; you only need Business when several people should use and maintain the same project under one workspace.
A bakery answering the same twelve questions
Say a bakery with two shop staff and one owner takes cake orders and wholesale enquiries by email and Instagram messages. The owner estimates the same dozen questions make up most of the traffic: opening days, how much notice a celebration cake needs, whether a cake can be nut-free, deposit rules, delivery charges, and how to cancel. Replies currently take about six minutes each because staff check the price sheet, rephrase it politely and worry about getting the allergen wording right. The figures below are illustrative.
The owner builds one project called "Customer replies" with three files and one set of instructions:
- price-list-2026-11.pdf: loaves, pastries, celebration cakes by size, delivery bands.
- policies.docx: ordering notice, deposits, cancellations, allergens, delivery rules, complaints.
- reply-examples.docx: eight past replies the owner is proud of, with the customer's message above each.
After setup, a typical reply takes about two minutes: paste the customer's message, read the draft, change a line, send. If staff handle 25 such messages a day, that is roughly 100 minutes saved, which is the sort of number worth checking against your own message count before you commit. The point is not the saving itself but that the draft is right first time, which depends on what you put where.
Writing the project instructions
Instructions work best when they read like a briefing for a competent new employee on day one. They answer five questions: who you are, who the readers are, how you sound, what ChatGPT must never do, and what to do when it does not know. Keep facts that change out of them.
Here is the bakery's version. It is short on purpose, around 280 words:
You help the team at a neighbourhood bakery reply to customer messages.
WHO WE WRITE TO
Local customers ordering cakes and bread, plus small cafés buying wholesale. Many are first-time customers and some are anxious about allergies.
HOW WE SOUND
Warm, brief, plain words. Use first names. No exclamation marks except in thank-yous. No slang. Sign off with "Thanks, [your name]" and leave the name for the sender to fill in.
HOW TO ANSWER
1. Answer the question in the first sentence.
2. Quote prices and policies only from the attached files. Say which file the figure came from.
3. If the files do not contain the answer, say "I'm not sure, please check" and list what is missing. Never guess a price, date or ingredient.
4. For any allergy question, quote the allergen wording in policies.docx exactly and tell the customer to confirm with a team member before ordering.
5. Keep replies under 120 words unless I ask for more.
NEVER
- Promise a delivery date or discount that is not in the files.
- Give medical advice.
- Say a product is "safe" for an allergy.
OUTPUT
Reply text only, then one line starting "CHECK:" listing anything a person should verify before sending.
Three details make this work. First, the "CHECK:" line turns uncertainty into a habit: staff read one line rather than re-reading the whole reply. Second, rule 3 gives ChatGPT a way out, so it is not pushed into inventing an answer to look helpful. Third, nothing in it states a price. If it did, there would be two places to update.
OpenAI's Projects page does not state a length cap for project instructions. For comparison, its custom instructions page allows your personal custom instructions 1,500 characters on Free and Go and 5,000 on Plus and above, and the bakery's 280 words come to roughly 1,600 characters. If a long instruction set seems to be cut off or ignored, move reference material into a file and keep the instructions to behaviour.
Why your global custom instructions will not help here
OpenAI's help page states that project instructions override your global custom instructions. A shared project cannot see any member's personal custom instructions or memories, and on Enterprise and Edu the page's memory table shows custom instructions as "not available" inside every project, where only the project's own instructions apply. So if your personal custom instructions say "spell it colour and organise", repeat that line in the project, or your staff will get whatever the default is. This catches out people who have spent time polishing their personal settings and assume they carry over.
Choosing what goes in files
Files carry facts: prices, policies, product details, past good replies. The preparation matters more than the upload. A file that is clean, dated and short beats a file that is complete but messy, because ChatGPT retrieves passages from your documents rather than reading all of them every time.
| Document | Put it in a file? | How to prepare it |
|---|---|---|
| Price list | Yes | One table, one price per row, date in the file name, no crossed-out old prices |
| Policies (deposits, returns, delivery) | Yes | Plain headings, each rule in one or two sentences, exact wording for anything legal or safety-related |
| Past good replies | Yes | Eight to twelve, each with the customer message above it, with names removed |
| Staff handbook | Only the customer-facing parts | Copy the relevant pages into a new file; leave out pay, HR and anything personal |
| Customer lists and order history | No | Personal data does not belong here; see the privacy section |
| Supplier contracts | No | Irrelevant to customer replies and sensitive |
A messy policy, cleaned up
Before and after. The bakery's original policy paragraph, as it sat in a document the owner wrote over several years:
Cakes. We like a bit of notice for cakes, usually a couple of days but at busy times such as holidays it can be more, and if it's a big one we might ask for something up front. Cancellations are fine if not too last minute.
ChatGPT would read that and produce vague, hedging replies, because the source is vague. The cleaned version:
CELEBRATION CAKES
- Notice: 48 hours minimum. 7 days for tiered cakes or cakes over 12 portions.
- Busy periods (the week before a public holiday): 10 days. Say so before accepting the order.
- Deposit: 50% of the cake price, taken when the order is confirmed.
- Cancellation: full deposit refund if cancelled more than 72 hours before collection. No refund inside 72 hours.
Now the reply to "can I order a cake for Saturday?" can name the notice period and deposit, and the rule about the busy week is specific enough to be applied. Most of the improvement in answers comes from this kind of rewrite, not from cleverer wording in the instructions.
Spreadsheets and PDFs
A price list that lives in a spreadsheet can be uploaded as it is, but keep it flat: one sheet, headers in row 1, no merged cells, no colour-coded meaning that disappears in text. A PDF exported from a design program is the worst case, since the text may come out in odd order from columns and boxes. If ChatGPT quotes the wrong figure from a PDF, export the table to a spreadsheet or paste it as text instead. For help preparing a spreadsheet that way, the tutorial on cleaning messy data covers the steps.
Teaching tone from your own words
Describing your tone ("friendly but professional") produces generic output. Showing it works better. The reply-examples file does the heavy lifting: ChatGPT sees how you actually phrase a refusal, an apology, a price. Pick examples that cover different situations, not eight versions of the same easy question.
A filled-in entry from the bakery's examples file looks like this:
CUSTOMER: Hi, do you do vegan birthday cakes? My daughter is 7 and I only have two days.
REPLY: Hi [first name], yes, we make vegan cakes, but they need 7 days' notice, so two days isn't enough for a cake. What we can do in that time is a box of six vegan cupcakes, which need 48 hours' notice. Would that work for her party? Thanks, [your name]
That example teaches the model to say no kindly, to offer the nearest alternative, and to end with a question. The owner never wrote "offer an alternative" in the instructions; the example showed it. Keep sample replies free of customer names, and replace any phone numbers or addresses with placeholders. If you want a fuller voice document to put alongside these, a brand voice guide that AI can follow shows what to include.
The ten-question test before anyone relies on it
Do not trust a project because the instructions look sensible. Test it with ten real questions, pulled from your inbox or messages from the last month, including awkward ones. Use customers' actual wording, spelling mistakes and all.
Pick them to cover these kinds:
- Four routine questions with a clear answer in the files (price, notice, opening days, delivery).
- Two questions where the answer is not in the files at all, to see whether it admits that.
- One allergy question, to check the exact-wording rule.
- One angry complaint, to check tone.
- One question mixing two things (a price and a date), to check it handles both.
- One that tries to bend a rule ("can you do it in 24 hours if I pay double?").
Score each answer in a simple table: correct, partly correct, wrong, or invented. This is the bakery's test sheet after the first run, shortened to six rows and illustrative:
| # | Question (shortened) | Result | What went wrong |
|---|---|---|---|
| 1 | Price of a 10-inch chocolate cake | Correct | None, cited the price file |
| 2 | Can I order for Saturday? | Partly | Gave notice period but missed the holiday-week rule |
| 3 | Do you deliver to a neighbouring town? | Invented | Made up a delivery charge not in the files |
| 4 | Is the carrot cake nut-free? | Correct | Quoted the allergen wording and asked to confirm |
| 5 | Opening hours on Sunday | Wrong | Used last winter's hours from an old file |
| 6 | Your cake was dry, I want a refund | Partly | Tone too stiff, offered refund the policy does not promise |
Each failure points to a fix, and each fix is to the files or instructions rather than to the question. Row 3 means the delivery policy needs an explicit "we do not deliver outside these areas" line. Row 5 means an old file is still in the project. Row 6 means the policy has no complaints section and the examples file has no apology. Make the changes, rerun all ten, and keep the sheet. When you change a price next month, you rerun the same ten questions in about five minutes.
A prompt for the test itself
You can have ChatGPT help you find gaps before real customers do. In the project, paste:
Read the files in this project. List every question a customer might ask that these files cannot fully answer, grouped under: prices, timing, delivery, allergens, complaints, payment. For each gap, suggest the single sentence I should add to the relevant file. Do not answer the questions yourself.
The output is a to-do list. Illustrative output for the bakery: "Delivery: no information about orders for collection by a third party. Suggested line: 'Someone else may collect if they give your name and order number.'" You decide whether that is your rule; ChatGPT only found the hole.
Keeping the files from going stale
The main risk of this setup is not that ChatGPT misbehaves, but that a price changes and nobody tells the project. A few habits prevent it:
- One owner. One named person updates files; everyone else has chat access only.
- Replace, don't add. Delete the old price list before uploading the new one. If you upload a file with the same name as one already in the project, ChatGPT asks whether to upload anyway or skip, and uploading anyway leaves both copies in place. Two price lists in one project is how last winter's hours or last quarter's price gets quoted.
- Dated file names. "price-list-2026-11.pdf" tells everyone which version is live.
- A monthly rerun. Put the ten questions in a calendar reminder. Five minutes.
- Chat memory, watched. A project can use its own chats and files as context for later answers, so a wrong price someone typed into one chat can resurface in another. Delete that chat, or correct the file it should have come from. Separately, default memory lets a private project draw on your saved memories and, on most plans, on chats outside it; project-only memory (under Memory in Project settings) keeps it to the project's own chats and files. OpenAI says the setting is chosen per project and there is no global switch, so check each one. Shared projects always use project-only memory.
If you correct a draft in chat and want the correction to stick, do not rely on the conversation. Update the file, or use "Add to project sources" on a good reply so it becomes part of the reference set, then remove it if it later becomes outdated.
A second use: the café's supplier and rota project
Projects are not only for customer replies. A café owner might keep a separate project for suppliers, with a file of the supplier list and their lead times, the weekly order template, and instructions such as "when I paste this week's stock count, draft the order email for each supplier, show quantities in a table and flag anything below par level". The instructions are about format and caution; the files are lead times and par levels.
The point is to keep one project per job. A single "everything" project mixes customer tone rules with supplier negotiation, and instructions start to contradict each other. Separate projects keep each set of instructions short. The tutorial on keeping client work separate with ChatGPT projects lays out how to divide them.
Privacy: what stays out of the project
A project holds whatever you put in it, and shared projects expose it to everyone who is invited. So decide in advance what is out of bounds:
- Customer names, phone numbers, addresses and order histories.
- Staff pay, performance notes and anything from HR.
- Bank details, passwords, supplier contract terms.
- Photos or documents that include other people's personal data.
Plan matters too. By default OpenAI does not train on content from Business, Enterprise or Edu workspaces, while on individual plans the setting is called "Improve the model for everyone". For a shared project on personal accounts, OpenAI says its data is used for training only if the owner and every contributor have that setting on. Wording of those settings changes, so look at the screen rather than relying on a tutorial. A shared project also does not see an individual member's own memories or custom instructions, so what your team sees is only what is in the project. When you delete a project, OpenAI says its chats, instructions and files stored only in it are removed from its systems within 30 days, unless it must retain them for legal or security reasons.
When a reply goes wrong in real use
A wholesale café asked a bakery's staff member whether the bakery could supply 40 baguettes by Thursday. The project replied with a confident yes, quoting the retail price. The wholesale price list was not in the project, and nothing in the instructions said wholesale existed as a separate category. The staff member caught it because the "CHECK:" line read "wholesale pricing not found in files", but a less careful reader might have sent it.
The fix had two parts: a wholesale price file, and a line in the instructions, "If the customer sounds like a business buying in bulk, say 'wholesale enquiry' in the CHECK line and do not quote retail prices." Look at how the failure showed up: not as nonsense, but as a plausible, polite, wrong answer. That is why the ten-question test includes questions that sit just outside your files.
Sharing the project with staff
Once the ten questions pass, share the project. Select Share, invite people by email (or by group on a workspace plan), and choose the access level. A reasonable split for a small team:
- Owner or office manager: edit access, the only one who touches instructions and files.
- Counter staff and weekend staff: chat access.
- Anyone temporary: chat access only, and remove them when they leave. Only an owner or workspace owner can remove members.
Give staff a short rule sheet with three lines: the draft is a draft, the CHECK line must be read, and anything about allergies goes to a person before sending. If your team will use it for more than replies, a shared prompt library keeps the good prompts in one place, so each person is not inventing their own.
Where a Project stops being enough
A project drafts and answers. It does not watch your inbox, send anything, or update your price list. If you find your team copying the same draft out of ChatGPT into the same email template fifty times a week, that is a sign the job could be automated further. OpenAI's ChatGPT Work can take on longer jobs, such as creating and editing documents, spreadsheets and presentations from your files and connected apps, though it is not available inside a project set to project-only memory, which includes every shared project. For the difference, a comparison of Work, skills and projects shows which job each handles. For a customer-facing bot, that is a different build with different risks, and it needs a different tutorial.
Start small, though. One project, three files, one page of instructions, and ten questions. If your drafts come back right nine times out of ten after a fortnight of use, you have a working system; if not, the test sheet tells you which file to fix.
Questions owners ask once the Project is running
Do my global custom instructions work inside a Project?
Not in a way you can rely on. OpenAI's help page says project instructions override your global ones, a shared project cannot see members' personal custom instructions at all, and on Enterprise and Edu only the project's instructions apply. Write anything you want applied, such as your tone rules, into the project instructions themselves.
How many files can I upload to one Project?
It depends on the plan: 5 files on Free, 25 on Go and Plus, and 40 on Pro, Business, Enterprise and Edu, with at most 10 uploaded at a time. If you have more documents than that, merge related ones into a single file, such as one policies document.
Can my staff use the same Project?
Yes. Projects can be shared on every plan, with either chat access (use it) or edit access (change instructions and files). Give most staff chat access so only one person maintains the price list and policies.
Will ChatGPT ever quote an old price from a deleted file?
It can if the old file is still in the project, or if the project's memory has carried an earlier figure. Delete outdated files rather than adding new ones beside them, name files with a date, and rerun your ten test questions after every price change.
Should customers chat with this Project directly?
No. A project is a workspace for you and your staff to draft replies, which a person then checks and sends. It is not a public chatbot, so keep a human between its answers and your customers.
Further reads
- How to Write AI Prompts That Sound Like Your Business — Prompts that keep drafts sounding like your business.
- How to Build the FAQ Your AI Chatbot Needs Before Launch — Turn the questions you test with into a proper FAQ file.
- How to Train an AI Chatbot on Your FAQs, Policies, and Prices — Feed prices and policies to a customer-facing bot, with its extra risks.
- ChatGPT Prompts for Churches: 10 Admin Jobs, No Sermons — Ten admin-only ChatGPT prompts for a church office, each with a worked example, and a firm line: no sermons, no member data.
- Daily Production Report: Summarise Counts, Scrap and Stops With AI — Three messy shift sheets become one page: units against plan, scrap by reason, stops by cause, and the one thing the owner must act on.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: OpenAI Help Center articles Projects in ChatGPT (instructions, files, sharing, memory, plan limits), Custom instructions for ChatGPT (character limits), Custom GPT retirement and migration FAQ, and Creating and editing files with ChatGPT Work; OpenAI's ChatGPT business pricing page. All read 5 November 2026.