AI tools, scored for your job
Learn AI in 30 days

🎧 Work & service

AI Prompts for Customer Support

25 copy-paste AI prompts for customer support, pulled from 1 tested Zekai prompt guides. Free, no sign-up, and every one links back to the article that explains it. See the full customer support hub for the tools these prompts are built to run on.

  • 25prompts
  • 1source guide
  • 100%free · no sign-up

The 25 prompts

Copy any of these straight into ChatGPT, Claude or Gemini, then swap the bracketed placeholders for your own details.

25 copy-paste prompts
1Acknowledge Receipt & Set Expectations
Draft a first-contact reply for a ticket about [[TICKET_TOPIC]]. 1. Acknowledge the user's specific issue: `[[USER_ISSUE_SUMMARY]]`. 2. Confirm receipt of their ticket and provide the ticket ID: `[[TICKET_ID]]`. 3. State our standard response time for this issue type: `[[RESPONSE_TIME_SLA]]`. 4. If known, mention the specialist or team it has been routed to: `[[ROUTED_TEAM]]`. 5. Keep the tone empathetic and professional. Do not promise a solution, only a follow-up. ``` **JSON Metadata:** ```json { "prompt_id": "cs_t1_001", "use_case": "First Contact Reply", "variables": ["TICKET_TOPIC", "USER_ISSUE_SUMMARY", "TICKET_ID", "RESPONSE_TIME_SLA", "ROUTED_TEAM"], "tone": "empathetic, professional", "constraints": "Do not promise a solution." }
2Request More Information (Politely)
The user's request about `[[TICKET_TOPIC]]` is missing key information. Draft a polite reply that: 1. Thanks them for their message. 2. Clearly states the specific information we need to proceed. List these as bullet points: * `[[REQUIRED_INFO_1]]` * `[[REQUIRED_INFO_2]]` * `[[REQUIRED_INFO_3]]` 3. Explains briefly *why* we need this information (e.g., "to locate your account," "to replicate the error"). 4. Assures them their ticket will be prioritized once the information is received. ``` **JSON Metadata:** ```json { "prompt_id": "cs_t1_002", "use_case": "Information Request", "variables": ["TICKET_TOPIC", "REQUIRED_INFO_1", "REQUIRED_INFO_2", "REQUIRED_INFO_3"], "tone": "helpful, clear", "constraints": "Explain the 'why' behind the request." }
3Answer a
Generate a step-by-step guide answering the user's question: `[[USER_QUESTION]]`. The user is on the `[[USER_PLAN_LEVEL]]` plan. 1. Start with a direct confirmation: "Yes, you can do that. Here are the steps:" 2. Use a numbered list for the steps. 3. Reference specific UI elements by name (e.g., "Click on 'Settings' in the main dashboard"). 4. If available, link to a relevant knowledge base article: `[[KB_ARTICLE_URL]]`. 5. End with an invitation to ask follow-up questions. ``` **JSON Metadata:** ```json { "prompt_id": "cs_t1_003", "use_case": "How-To Guide", "variables": [["USER_QUESTION", "USER_PLAN_LEVEL", "KB_ARTICLE_URL"]], "tone": "clear, instructional", "constraints": "Use a numbered list." }
4Proactive Check-in on a Known Issue
We have just resolved a system-wide issue: `[[ISSUE_DESCRIPTION]]`. Draft a proactive message to a user who was affected by this issue. 1. Reference the original ticket ID: `[[TICKET_ID]]`. 2. Briefly state that the issue they reported should now be resolved. 3. Ask them to confirm if things are working as expected on their end. 4. Provide a direct link to where they can test the fix: `[[TESTING_URL]]`. 5. Thank them for their patience. ``` **JSON Metadata:** ```json { "prompt_id": "cs_t1_004", "use_case": "Proactive Resolution Update", "variables": [["ISSUE_DESCRIPTION", "TICKET_ID", "TESTING_URL"]], "tone": "proactive, helpful", "constraints": "Do not close the ticket automatically." }
5First AI Contact Disclosure (EU AI Act)
Generate a compliant first-contact message that incorporates an AI disclosure. The user is asking about `[[TICKET_TOPIC]]`. 1. Begin with a clear disclosure, such as "You're interacting with an AI assistant from [[COMPANY_NAME]]." 2. Provide an immediate option to escalate to a human agent (e.g., "You can ask for a human at any time."). 3. Then, proceed to answer the user's initial query based on the context provided. 4. Keep the entire message concise and clear. ``` **JSON Metadata:** ```json { "prompt_id": "cs_t1_005", "use_case": "Compliant AI First Contact", "variables": [["COMPANY_NAME", "TICKET_TOPIC"]], "tone": "transparent, direct", "constraints": "Must include disclosure and human escalation path at the start." }
6Acknowledge Frustration & Take Ownership
The user is expressing significant frustration about `[[USER_ISSUE]]`. They have contacted us `[[NUMBER_OF_CONTACTS]]` times already. Draft an empathetic response that: 1. Uses phrases that validate their feelings (e.g., "I understand how frustrating this must be," "You're right to be upset."). 2. Explicitly apologizes for the negative experience, without admitting fault for the underlying issue. Example: "I'm sorry for the trouble this has caused." 3. Summarizes the problem in my own words to show I've understood: `[[PROBLEM_SUMMARY]]`. 4. States the immediate next action I am personally taking: `[[AGENT_ACTION]]`. ``` **JSON Metadata:** ```json { "prompt_id": "cs_deescalate_001", "use_case": "Acknowledge Frustration", "variables": ["USER_ISSUE", "NUMBER_OF_CONTACTS", "PROBLEM_SUMMARY", "AGENT_ACTION"], "tone": "highly empathetic, validating, accountable", "constraints": "Apologize for the experience, not for the root cause unless confirmed." }
7Rephrase a Response to Be More Empathetic
Analyze the following agent response and rewrite it to be more empathetic and less robotic. Original Response: `[[ORIGINAL_RESPONSE]]` User's situation: `[[USER_SITUATION]]` Focus on: 1. Replacing corporate jargon with plain language. 2. Adding a sentence that acknowledges the user's emotional state (e.g., frustration, confusion). 3. Ensuring the core message and any instructions remain accurate. ``` **JSON Metadata:** ```json { "prompt_id": "cs_deescalate_002", "use_case": "Tone Polish (Empathy)", "variables": [["ORIGINAL_RESPONSE", "USER_SITUATION"]], "tone": "empathetic, human", "constraints": "Do not change the factual content of the original response." }
8Deliver Bad News (e.g., Feature Not Available)
Draft a reply informing a user that the feature they are requesting, `[[REQUESTED_FEATURE]]`, is not currently available. 1. Start with empathy and validation ("That's a great idea," or "I can see how that would be useful."). 2. State clearly but gently that the feature doesn't exist today. 3. Offer a viable workaround if one exists: `[[WORKAROUND_STEPS]]`. If no workaround exists, state that clearly. 4. Explain that you are officially logging their request with the product team. Mention their feedback is valuable. 5. Do not give a timeline or promise it will be built. ``` **JSON Metadata:** ```json { "prompt_id": "cs_deescalate_003", "use_case": "Deliver Bad News (Feature Request)", "variables": [["REQUESTED_FEATURE", "WORKAROUND_STEPS"]], "tone": "empathetic, honest, helpful", "constraints": "Do not promise a future implementation or provide a timeline." }
9Respond to a Complaint About a Previous Interaction
The user is complaining about a poor experience with a previous support agent or interaction. Their reference is `[[PREVIOUS_TICKET_ID]]`. Draft a response that: 1. Apologizes for the previous experience not meeting their expectations. 2. Does not blame the previous agent. Focus on the user's experience. 3. Takes ownership of the issue now. ("I've taken ownership of this ticket to see it through.") 4. Asks for a brief summary of the unresolved issue to ensure you have the full context, without making them repeat everything. ``` **JSON Metadata:** ```json { "prompt_id": "cs_deescalate_004", "use_case": "Service Recovery", "variables": [["PREVIOUS_TICKET_ID"]], "tone": "accountable, reassuring", "constraints": "Do not assign blame to other agents." }
10The
The user's messages are becoming angry, capitalized, and non-constructive. Draft a short, firm, and professional "reset" message. 1. Acknowledge their frustration directly. 2. State your goal: "My goal is to solve this for you, but I need your help to do that." 3. Reset the conversation by asking one, clear, specific question that will move the issue forward. Example: "To proceed, can you please provide me with the invoice number from your confirmation email?" 4. Avoid emotional language. Be a calm anchor. ``` **JSON Metadata:** ```json { "prompt_id": "cs_deescalate_005", "use_case": "Conversation Reset", "variables": [], "tone": "calm, firm, professional", "constraints": "Be direct and focus on the single next step." }
11Explain a Charge Clearly
A user is questioning a charge of `[[CHARGE_AMOUNT]]` on `[[CHARGE_DATE]]`. Draft a clear explanation. 1. Reference the specific invoice or order number: `[[INVOICE_ID]]`. 2. Break down the charge into line items from the invoice (e.g., "Subscription to Pro Plan: $XX," "Overage fees: $Y"). 3. Link to the relevant terms of service or pricing page that explains this charge: `[[POLICY_URL]]`. 4. Use simple, direct language. Avoid accounting jargon. ``` **JSON Metadata:** ```json { "prompt_id": "cs_billing_001", "use_case": "Explain Charge", "variables": [["CHARGE_AMOUNT", "CHARGE_DATE", "INVOICE_ID", "POLICY_URL"]], "tone": "factual, clear, transparent", "constraints": "Reference specific line items." }
12Process a Refund According to Policy
The user is eligible for a refund for `[[PRODUCT/SERVICE]]` according to our policy. Draft a message confirming the refund. 1. State clearly that the refund has been processed. 2. Specify the amount being refunded: `[[REFUND_AMOUNT]]`. 3. Inform them how long it will take for the funds to appear in their account (e.g., "5-10 business days"). 4. Mention the original transaction ID for their records: `[[TRANSACTION_ID]]`. 5. End on a positive and helpful note. ``` **JSON Metadata:** ```json { "prompt_id": "cs_billing_002", "use_case": "Process Refund", "variables": [["PRODUCT/SERVICE", "REFUND_AMOUNT", "TRANSACTION_ID"]], "tone": "helpful, efficient", "constraints": "Be specific about the amount and timeline." }
13Deny a Refund Request (Out of Policy)
A user is requesting a refund for `[[PRODUCT/SERVICE]]`, but their request is outside of our refund policy because `[[REASON_FOR_DENIAL]]`. Draft a firm but empathetic denial. 1. Acknowledge their request and show you've reviewed it. 2. State clearly that the request falls outside of the refund policy. 3. Briefly and neutrally explain the specific policy rule that applies (e.g., "Refunds are only available within 30 days of purchase."). 4. Link to the public refund policy page: `[[POLICY_URL]]`. 5. If possible, offer an alternative, such as a discount on a future purchase or a plan downgrade. `[[ALTERNATIVE_OFFER]]`. Do not offer this if none is appropriate. ``` **JSON Metadata:** ```json { "prompt_id": "cs_billing_003", "use_case": "Deny Refund", "variables": ["PRODUCT/SERVICE", "REASON_FOR_DENIAL", "POLICY_URL", "ALTERNATIVE_OFFER"], "tone": "firm, empathetic, clear", "constraints": "Do not apologize for the policy. State it as a fact." }
14Grant a One-Time Policy Exception
As a manager, I have approved a one-time exception to our policy for this user regarding `[[POLICY_ISSUE]]`. Draft a message that communicates this clearly. 1. State that you've reviewed their specific situation. 2. Clearly state that you are making a *one-time exception*. 3. Explain the outcome of the exception (e.g., "we have issued a full refund," "we have extended your trial"). 4. Gently reiterate the standard policy to manage future expectations. 5. Use a positive, "happy to help" tone. ``` **JSON Metadata:** ```json { "prompt_id": "cs_billing_004", "use_case": "Policy Exception", "variables": [["POLICY_ISSUE"]], "tone": "gracious, clear", "constraints": "Must use the phrase 'one-time exception'." }
15Summarize a Ticket into a Q&A Pair
Analyze the following support ticket transcript and summarize it into a single Question & Answer pair for our FAQ. Transcript: `[[TICKET_TRANSCRIPT]]` 1. **Question:** Phrase the user's core problem as a clear, searchable question. 2. **Answer:** Write a concise, step-by-step answer that resolves the question, based on the final resolution in the ticket. 3. Remove all personally identifiable information (PII). 4. The final output should be in plain language, not a story of the ticket. ``` **JSON Metadata:** ```json { "prompt_id": "cs_kb_001", "use_case": "Ticket to FAQ", "variables": [["TICKET_TRANSCRIPT"]], "tone": "instructional, clear", "constraints": "Output must be a single Q&A pair. No PII." }
16Identify Gaps in the Knowledge Base
Analyze these 5 support tickets. Identify a common theme or question that is NOT answered by our current knowledge base articles. Ticket 1: `[[TICKET_1_SUMMARY]]` Ticket 2: `[[TICKET_2_SUMMARY]]` Ticket 3: `[[TICKET_3_SUMMARY]]` Ticket 4: `[[TICKET_4_SUMMARY]]` Ticket 5: `[[TICKET_5_SUMMARY]]` Current KB Titles: `[[KB_TITLES_LIST]]` Output a single sentence describing the knowledge gap. Example: "We do not have an article explaining how to integrate with the new X API version." ``` **JSON Metadata:** ```json { "prompt_id": "cs_kb_002", "use_case": "KB Gap Analysis", "variables": ["[[TICKET_SUMMARIES]]", "[[KB_TITLES_LIST]]"], "tone": "analytical", "constraints": "Output a single sentence." }
17Draft a New Knowledge Base Article
Draft a new knowledge base article based on the following information. **Topic:** `[[ARTICLE_TOPIC]]` **Target Audience:** `[[AUDIENCE_DESCRIPTION]]` (e.g., "New users," "Developers") **Key Steps/Information to Include:** * `[[POINT_1]]` * `[[POINT_2]]` * `[[POINT_3]]` **Structure:** 1. **Title:** A clear, action-oriented title. 2. **Introduction:** A one-sentence summary of what the article helps the user do. 3. **Prerequisites:** A bulleted list of anything the user needs before starting. 4. **Steps:** A numbered list with clear instructions. 5. **Troubleshooting/FAQ:** A small section with 1-2 common problems and their solutions. ``` **JSON Metadata:** ```json { "prompt_id": "cs_kb_003", "use_case": "Draft KB Article", "variables": ["ARTICLE_TOPIC", "AUDIENCE_DESCRIPTION", "[[POINTS]]"], "tone": "instructional, structured", "constraints": "Follow the specified structure exactly." }
18Improve an Existing KB Article for SEO
Rewrite the following knowledge base article to be more discoverable by search engines and easier for users to scan. **Original Article Text:** `[[ARTICLE_TEXT]]` **Primary Keyword:** `[[KEYWORD]]` **Instructions:** 1. Ensure the primary keyword is in the title (H1) and at least one subheading (H2). 2. Break long paragraphs into shorter ones. 3. Use bullet points or numbered lists where appropriate. 4. Add a "TL;DR" or "In this article" summary at the top. 5. Bold key terms for scannability. ``` **JSON Metadata:** ```json { "prompt_id": "cs_kb_004", "use_case": "KB SEO & Readability", "variables": [["ARTICLE_TEXT", "KEYWORD"]], "tone": "clear, scannable", "constraints": "Improve structure without changing the core meaning." }
19Score a Ticket Against a QA Rubric
Score the agent's performance in the following ticket transcript against our QA rubric. Provide a score from 1-5 for each category and a brief justification. **Transcript:** `[[TICKET_TRANSCRIPT]]` **QA Rubric:** 1. **Opening:** Was it personalized and prompt? 2. **Problem Identification:** Did the agent correctly identify the user's true problem? 3. **Tone & Empathy:** Was the tone appropriate and empathetic? 4. **Solution Quality:** Was the solution accurate and well-explained? 5. **Closing:** Was the closing clear and did it confirm resolution? Output in a markdown table format. ``` **JSON Metadata:** ```json { "prompt_id": "cs_qa_001", "use_case": "Ticket Scoring", "variables": [["TICKET_TRANSCRIPT"]], "tone": "analytical, objective", "constraints": "Output as a markdown table with scores and justifications." }
20Identify a Coaching Opportunity
Review the following agent interaction. Identify the single biggest coaching opportunity for the agent. **Transcript:** `[[TICKET_TRANSCRIPT]]` Focus on behaviors, not personality. Frame the opportunity constructively. Example Output: "The agent could have de-escalated the situation more effectively by validating the customer's frustration upfront before jumping to a solution." ``` **JSON Metadata:** ```json { "prompt_id": "cs_qa_002", "use_case": "Identify Coaching Opportunity", "variables": [["TICKET_TRANSCRIPT"]], "tone": "constructive, analytical", "constraints": "Identify one primary opportunity." }
21Generate a Role-Playing Scenario
Based on the difficult ticket below, create a role-playing scenario for a training session. **Difficult Ticket Summary:** `[[TICKET_SUMMARY]]` **Scenario Output:** 1. **Customer Persona:** A brief description of the customer (e.g., "Frustrated, non-technical, has tried to fix it twice already"). 2. **Opening Statement:** The exact sentence the "customer" should use to start the role-play. 3. **The "Twist":** The hidden piece of information or misunderstanding the agent needs to uncover. 4. **Desired Outcome:** What a successful resolution looks like. ``` **JSON Metadata:** ```json { "prompt_id": "cs_qa_003", "use_case": "Generate Training Scenario", "variables": [["TICKET_SUMMARY"]], "tone": "creative, instructional", "constraints": "Follow the 4-part scenario structure." }
22Create a
Create a multiple-choice quiz question based on this ambiguous support ticket. **Ticket Summary:** `[[TICKET_SUMMARY]]` **Instructions:** 1. Pose a "What is the best next step?" question. 2. Provide four options: * A - The perfect, by-the-book answer. * B - A plausible but incorrect answer. * C - A common but inefficient answer. * D - An answer that violates policy. 3. Indicate the correct answer and provide a brief explanation for why it's the best choice and the others are wrong. ``` **JSON Metadata:** ```json { "prompt_id": "cs_qa_004", "use_case": "Create Quiz Question", "variables": [["TICKET_SUMMARY"]], "tone": "educational", "constraints": "Provide 4 distinct options and a detailed explanation." }
23Summarize for Human Escalation
Prepare a concise summary of this conversation for escalation to a human agent. The agent is busy and needs to understand the situation in under 15 seconds. **Conversation Transcript:** `[[CONVERSATION_TRANSCRIPT]]` **Summary must include:** 1. **User:** `[[USER_NAME_OR_ID]]` 2. **Issue:** A one-sentence summary of the problem. 3. **History:** What has been tried so far (e.g., "AI suggested clearing cache, user says it didn't work"). 4. **User's Emotional State:** (e.g., "Calm," "Frustrated," "Confused"). 5. **Specific Question to Resolve:** The exact question the human needs to answer. ``` **JSON Metadata:** ```json { "prompt_id": "cs_escalation_001", "use_case": "Escalation Summary", "variables": [["CONVERSATION_TRANSCRIPT", "USER_NAME_OR_ID"]], "tone": "concise, factual", "constraints": "Maximum 75 words." }
24Flag Potentially Legally Sensitive Language
Analyze the following draft response for any language that could be considered a promise, guarantee, admission of fault, or legally binding statement. **Draft Response:** `[[DRAFT_RESPONSE]]` If sensitive language is found, identify the specific phrase and suggest a safer alternative. Example Output: - **Phrase:** "I guarantee this will fix your problem." - **Risk:** Creates a promise we may not be able to keep. - **Suggestion:** "This is the recommended next step and it resolves the issue for most users." ``` **JSON Metadata:** ```json { "prompt_id": "cs_escalation_002", "use_case": "Legal Language Scan", "variables": [["DRAFT_RESPONSE"]], "tone": "analytical, risk-averse", "constraints": "Identify phrase, risk, and suggestion." }
25Redact PII from a Transcript for Bug Reports
Review the following customer conversation and redact all Personally Identifiable Information (PII) before it is sent to engineering as part of a bug report. **Original Transcript:** `[[ORIGINAL_TRANSCRIPT]]` **PII to redact:** - Names - Email addresses - Phone numbers - Physical addresses - IP addresses - Account numbers or user IDs Replace each piece of PII with a placeholder like `[[REDACTED_EMAIL]]` or `[[REDACTED_NAME]]`. Preserve the rest of the conversation's content and structure. ``` **JSON Metadata:** ```json { "prompt_id": "cs_escalation_003", "use_case": "PII Redaction", "variables": [["ORIGINAL_TRANSCRIPT"]], "tone": "neutral, technical", "constraints": "Only redact PII; leave all other text intact." }

How to use these customer support prompts

Four steps, about a minute. The prompt supplies the structure; you supply the specifics.

1

Pick the prompt

Every prompt here was written for a specific job — not a generic “act as an expert” template. Scan the titles and take the one that matches the task in front of you.

2

Copy and paste it

Hit Copy, then paste the whole thing into ChatGPT, Claude, Gemini or whichever assistant you already pay for. Nothing here is tied to one model.

3

Fill the brackets

Replace every [Bracketed Placeholder] with your own details before you send. That is where the quality comes from — the prompt supplies the structure, you supply the specifics.

4

Check the source guide

The “From” link under each prompt opens the full article: why the prompt is built that way, what it was tested against, and the tools it pairs with.

Frequently asked

The questions people ask before they paste one of these into a real piece of work.

Are these AI prompts free to use?

Yes. All 25 prompts on this page are free to copy and use with any AI assistant, including ChatGPT, Claude and Gemini. You only need an account with one of those tools to run them.

How do I use these AI prompts for customer support?

Copy the full prompt text with the Copy button, paste it into your AI assistant of choice, and replace any bracketed placeholder — like [Your City] or [Company Name] — with your own details before you send it.

Where do these prompts come from?

Each prompt is pulled from one of Zekai’s tested prompt guides. The “From” link under every prompt goes to the full article, which explains the reasoning behind the prompt and how it was tested.

Can I edit these prompts?

Please do. Treat each one as a starting structure: tighten the instructions, add your own constraints, and keep the version that gives you the best output. The bracketed placeholders mark the parts that always need changing.

Prompt libraries for other professions

Same format, different job — starting with the ones closest to customer support.

See Zekai first in Google