Writing a Good Bot Prompt
The prompt is the brain of your AI assistant. A thin prompt produces a thin assistant â vague answers, missed edge cases, the wrong tone. A rich prompt produces an assistant that handles real conversations confidently and stays in character. Here is how to get there.
The rule of thumb
The more relevant context you give the bot, the better it answers. A bot with two lines of instructions guesses; a bot with the right scenarios, examples, and live data answers like an experienced colleague. Aim to give it everything a new hire would need on their first day.
Cover edge cases and scenarios
The single biggest difference between a usable bot and a great one is the number of concrete situations the prompt anticipates. Don't stop at "answer guest questions" â list the specific scenarios that come up in your business.
For a guest-facing assistant that might include:
- Late-night arrival on the arrival date
- Early check-in request before 3 PM
- Guest asking for the WiFi password
- Guest unsure how to find the building entrance
- Guest asking about parking when the listing has none
- Refusal to fill the check-in form / share ID
- Mechanical lockout (broken key, code not working)
- Question about cancellation policy without cancelling
- Question about pet policy when no pet info is in the listing
- Guest asking to bring extra people beyond the booked headcount
For each scenario, write what the bot should say and what it should not say. Include the wording you would use yourself if you picked up the phone. The bot picks up tone from your examples.
Static first, dynamic later
Build the prompt in layers, from static to dynamic:
- Static knowledge base. Things that don't change per conversation â your check-in hours, parking rules, cancellation policy, brand voice, what you do and don't handle. This is the bulk of your prompt at the start. Treat it as your bot's "long-term memory."
- Per-reservation context (Hostaway, your PMS). Once the bot can handle generic questions, layer in reservation-specific variables: who the guest is, their arrival date, what they booked, which channel, whether they've checked in. These are filled in automatically at message time using template variables like
{{reservation.guest_first_name}}and{{reservation.arrival_date}}. - Per-caller context (HubSpot, CRM, other systems). Eventually you can pipe in information about the specific person calling â their CRM record, past tickets, lifetime value. This makes the bot situational rather than generic. Adding these sources comes later, after the first two layers are solid.
Trying to do all three at once usually means none of them gets done well. Get the static knowledge solid, ship it, then add context layers as the bot starts handling real conversations and you see where it's missing information.
More context = better answers (within reason)
Counter-intuitively, longer prompts often produce better answers â as long as the extra content is relevant. The bot uses your wording, your examples, and your edge cases as anchors. Vague prompts force it to fall back on generic language and best guesses.
What "relevant" looks like:
- Specific scenarios from your day-to-day operations
- Example phrasings you actually use with customers
- Edge cases and what to do about them
- What NOT to say (e.g. never promise refunds, never share off-platform contact)
- Brand voice cues (formal vs casual, language preference)
What padding looks like (avoid):
- Long marketing copy that doesn't change behaviour
- Generic AI-assistant boilerplate ("be helpful and concise" repeated five times)
- Listing every possible variable when only a few apply
- Repeating the same rule in three different wordings
Keep self-improving on
Every bot has an Improvements tab that watches real transcripts and proposes prompt edits weekly. Leave it on. It's the fastest way to improve coverage â the bot surfaces gaps you didn't anticipate by analysing actual conversations.
Review the proposals it generates:
- Approve the ones that fix real issues
- Reject the ones that don't fit your voice or business rules
- Per-block approve / reject is supported â you don't have to accept or reject the whole proposal at once
Set a calendar reminder to review proposals once a week. Over a month or two, the prompt becomes substantially richer without you having to predict everything up front.
It's a process, not a setup
The first version of your prompt won't be the best one â and that's fine. Good prompts emerge from real conversations, not from one good writing session. Plan for:
- Week 1: Ship a starter prompt covering the top 5â10 scenarios you know about. Send a few test messages.
- Week 2â4: Watch real transcripts daily. Note the gaps. Add a scenario to the prompt each time you spot one.
- Month 2 onward: Rely on the Improvements tab to surface gaps automatically. Edit ad-hoc when something specific comes up.
- Quarterly: Re-read the full prompt with fresh eyes. Trim outdated scenarios, sharpen wording, check that examples still match how you actually talk.
Common mistakes to avoid
- One-sentence prompts. "Answer guest questions" produces a generic assistant that fails on every nuance. Aim for at least one section per major scenario.
- Mixing static and dynamic prematurely. If the bot doesn't handle the generic case well, adding CRM data won't fix it.
- Setting it and forgetting it. A prompt that hasn't been touched in three months is missing three months of edge cases.
- Hardcoding values that should be variables. If you write "the apartment is on the 3rd floor" in the prompt, the bot says that for every listing. Use
{{listing.floor}}instead. - No escalation rules. Always include explicit instructions for when the bot should hand off to a human (complaint, emergency, request to speak to a manager).
- Inventing what you don't know. Tell the bot to say "I'm not sure, our team will check and get back to you" rather than guessing. A bot that guesses politely is worse than a bot that admits uncertainty.
Where to go next
- Setting Up Your AI Assistant â create your first bot.
- Bot Starter Templates â pre-built instruction templates so you don't start from a blank page.
- Bot Context Sources â attach knowledge bases and live URL sources.
- Bot Triggers & Routing â how messages and calls reach the right bot.