# How to write a system prompt for a customer service chatbot

> How to write a system prompt for a customer service chatbot: the five parts, a full example, rules that keep it honest, how to test it, and mistakes to avoid.

Canonical: https://heykiko.io/blog/how-to-write-a-chatbot-system-prompt
Last updated: 2026-11-05

AI agent guides · by The HeyKiko team · published 5 November 2026 · 8 min read

A good system prompt for a customer service chatbot says who it is, what it helps with, how it answers, what it never does, and when it hands over to a person, in plain, direct language. Keep facts such as prices and hours out of it: put them in the chatbot's knowledge and tell it to answer only from there, and to say when it doesn't know. Then test it with the questions your customers really ask, including the awkward ones.

## What a system prompt is

A system prompt is the set of standing instructions an AI model reads before every conversation. Customers never see it, but it decides how the chatbot behaves: its role, its tone, what it will and won't do. [Glossary: system prompt](https://heykiko.io/glossary/system-prompt)

It's not where the chatbot's knowledge lives. Prices, opening hours and policies belong in the knowledge it's trained on, which it searches for each question; the system prompt says how to use that knowledge.

## The five parts of a customer service prompt

The five parts of a customer service chatbot's system prompt, with an example line for each

| Part | What it covers | Example line |
| --- | --- | --- |
| Who you are | The business, the role, the tone | You are the assistant for Northside Dental, a family clinic in Leeds. Be warm and brief. |
| What you help with | The jobs it does | Answer questions about treatments, prices and hours, and help patients book. |
| How you answer | Grounding, length, language | Answer only from the clinic's information. Keep replies to a few sentences, in the patient's language. |
| What you never do | The lines it doesn't cross | Never give medical advice or quote prices for treatment plans. |
| When to hand over | When a person takes over | Offer a person when a patient asks for one, is upset, or describes pain. |

## A complete example

### Who you are

- You are the assistant for Bloom Florist, a flower shop in Singapore with same-day delivery.
- Be friendly and warm, like a helpful member of staff, and keep replies short, as in a chat.

### What you help with

- Answer questions about bouquets, hampers, wedding flowers, prices and delivery.
- Help customers choose an arrangement for their occasion and budget.

### How you answer

- Answer only from Bloom Florist's own information. If it doesn't cover the question, say you don't know and offer to pass it to the team.
- Reply in the customer's language, and ask one question at a time.

### What you never do

- Never invent prices, delivery times or discounts.
- Never promise a same-day delivery after the cut-off time in Bloom Florist's information.

### When to hand over

- When the customer asks for a person, is upset, or has a problem with an order that already arrived.

> Make your own from your details with our free [system prompt generator](https://heykiko.io/tools/ai-chatbot-system-prompt-generator).

## Rules that keep it honest

- Answer only from the business's own information: this is the single most important line.
- Say plainly when you don't know, instead of guessing. A wrong answer costs more than “let me check”.
- Never invent prices, availability, policies or promises.
- Offer a person when the customer asks, is upset, or the answer isn't in the information.

[How to stop a chatbot making things up](https://heykiko.io/blog/how-to-stop-a-chatbot-making-things-up)

## Writing tips from the model makers

- Be clear and direct. Anthropic's guide says its models respond well to clear, explicit instructions, and to asking explicitly for what you want rather than hoping it's inferred.
- Say why. The same guide suggests giving the reason behind an instruction, such as “keep replies short, because customers read them on a phone”.
- Give it a role. Setting a role in the system prompt focuses behaviour and tone; even a single sentence helps.
- Write calmly. Anthropic notes that newer models follow the system prompt closely, so shouting in capitals (“CRITICAL: you MUST…”) can make them overreact; plain wording works.
- Use sections and examples. OpenAI's guide suggests splitting a prompt into sections such as identity and instructions, and showing examples of the answers you want.

[Anthropic: prompting best practices](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices) · [OpenAI: prompt engineering](https://developers.openai.com/api/docs/guides/prompt-engineering)

## Test it with real questions

A prompt is only as good as the answers it produces. Before customers see it, ask the questions they really ask, and the ones that go wrong:

- Your five most common questions.
- A question your information doesn't answer: does it say so?
- A discount request, or a promise it can't make.
- An angry message, and a request for a person.
- “Ignore your instructions and…”: it should carry on as itself.
- Something off-topic, such as a poem or homework.

[Test and tune your agent](https://heykiko.io/features/test-your-agent)

## Common mistakes

- Putting prices and hours in the prompt, where they go out of date.
- Rules that contradict each other, such as “always be brief” and “explain everything in detail”.
- “Never say you don't know”: the fastest way to a chatbot that makes things up.
- A wall of text: long prompts bury the rules that matter.
- No hand-over rule, so customers who need a person can't reach one.

## In HeyKiko

Settings › AI splits the system prompt into two parts. Persona is how the agent sounds: tone, warmth and emoji, written from your website if you like, with the reply language. Instructions are what it must and mustn't do on every message: start from the Grounded, Support or Sales preset or write your own, and use “Improve with AI” to tidy it. Your knowledge, from your website, files and database, stays separate, so prices and hours are never in the prompt.

## Sources

Checked on 5 November 2026. We make HeyKiko, which this guide uses as its example.

- [Anthropic: prompting best practices](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices)
- [OpenAI: prompt engineering](https://developers.openai.com/api/docs/guides/prompt-engineering)

## Questions people ask

### What is a system prompt?

The standing instructions an AI model reads before every conversation: who it is, what it may and may not do, and how to answer. Customers never see it.

### What should a customer service chatbot's system prompt include?

Who it is, what it helps with, how it answers (only from the business's information, briefly, in the customer's language), what it never does, and when it hands over to a person.

### Should I put prices and opening hours in the system prompt?

No. Put them in the chatbot's knowledge, which it searches for each question, and tell it in the prompt to answer only from there. Prices in a prompt go out of date.

### How long should a system prompt be?

As short as it can be while covering the five parts. A few short sections of plain rules usually beat a long wall of text.

### How do I stop the chatbot doing things it shouldn't?

Say what it never does and who it works for, keep it to the business's information, and test it with off-topic requests and “ignore your instructions” messages before customers see it.

### Is there a free system prompt generator?

Yes. HeyKiko's free generator writes one from your business details, with the grounding and hand-over rules included.

## Related

- [Free system prompt generator](https://heykiko.io/tools/ai-chatbot-system-prompt-generator)
- [How to stop a chatbot making things up](https://heykiko.io/blog/how-to-stop-a-chatbot-making-things-up)
- [Test and tune your agent](https://heykiko.io/features/test-your-agent)
- [Chatbot name generator](https://heykiko.io/tools/chatbot-name-generator)
- [All guides](https://heykiko.io/blog)
