Fetchply Docs
Build your agent

Configure agent behavior

Set an agent's model, instructions, status, email alerts, branding, and safe operating boundaries.

AI model and instructions

Open Widget → AI rules in the side menu, or select the AI rules tab inside Widget → Appearance.

  • AI model is a dropdown. Each option shows who makes the model, what it suits, and how many messages one reply spends from your monthly allowance. Options above your plan show a padlock and cannot be selected.
  • The list of models is kept up to date by Fetchply. New models can appear over time, and older ones are occasionally retired, without you needing to update anything. Your saved choice is never changed silently: if a model you selected is retired, your agent automatically moves to a comparable model at the same message cost.
  • Instructions control tone, scope, format, and restrictions. Presets are starting points; review them for your business.
  • Custom instructions support up to 2,500 characters.
  • Customer location is automatically detected and shared with the AI, allowing it to give localized answers (such as shipping eligibility, delivery timeframes, or regional policies) without asking the visitor where they are.
  • You can reference the customer's location in custom instructions using placeholders: {{customerLocation}}, {{customerCountry}}, {{customerCity}}, and {{customerRegion}}.
  • Select the small i next to any label to read what that setting does.

Do not place credentials, private keys, or customer secrets in instructions. They can become part of model context.

If a model change cannot be saved, Fetchply keeps the previously saved model and shows an error. Check your connection and try the selection again.

Reply length

Your agent keeps answers short on purpose: usually one to three sentences, leading with the answer, without lists or headings unless a visitor asks for steps. When it does not have a fact, it says so once and offers a single next step instead of listing places for the visitor to go look.

  • Replies are longer than that. Check your Instructions first. Wording such as "be detailed", "explain thoroughly", or "always provide options" asks for longer answers and takes priority over the short default. Remove it and send a new test message.
  • You want longer answers. Say so in your instructions, and name where it applies, for example longer answers for setup questions only.
  • Visitors ask for steps. The agent switches to a numbered list when the question calls for it, then returns to short answers.

AI model troubleshooting

  • The change did not seem to apply. Wait for the saved state, then send a new test message. Replies that were already generated keep their original model.
  • A Shopify agent shows the Default Model after you selected another model. Each Shopify agent uses that store's Fetchply plan, which can differ from your account plan. Models outside the store's plan are locked, and new replies use the Default Model until the store is upgraded.
  • A reply seems different from the selected model. If the selected model is temporarily unavailable, Fetchply can use a backup model so visitors still receive an answer. Your selection stays saved and is tried again on the next reply.
  • A model I was using is no longer in the list. That model has been retired. Your agent keeps working and switches to a comparable model at the same message cost, so your allowance is unaffected. Open the dropdown to pick a different model if you prefer another one.
  • A new model appeared in the list. New options become available from time to time. Nothing changes for your agent until you select one, and models above your plan stay locked with a padlock.
  • The dropdown briefly shows fewer models than usual. The list is loading. Wait a moment and open it again; your saved model is unaffected while it loads.

Answer language

Open Widget → AI rules and find Answer language to choose the language your agent answers in. You first pick it during onboarding, and you can change it here anytime. The supported languages are English (the default), Roman Urdu, Spanish, German, Italian, Hindi, Arabic, and French, each shown with its flag.

  • English (default): the agent answers in English, but if a visitor clearly writes in another language it follows them and replies in that language. Urdu messages are answered in Roman Urdu (Urdu written with Latin letters).
  • Any other language: the agent answers in that language for everyone, no matter which language the visitor writes in. Roman Urdu answers always use Latin letters, never Arabic script.

The answer language applies everywhere your agent replies: the website widget, the chat API, and connected channels such as WhatsApp, Instagram, Messenger, Slack, and Discord. In the Shopify app, the same setting appears in the setup wizard's first step and under Customizer → Advanced.

Answer language troubleshooting

  • Some replies are not in my chosen language. Content you wrote yourself is shown exactly as you saved it: the welcome message, starter questions, saved Q&A answers, and guided flow messages do not get translated. Rewrite those texts in your chosen language for a fully consistent experience.
  • The change did not seem to apply. New replies use the new language right away, but messages sent before the change keep their original language. Send a new test message to confirm.
  • Custom instructions ask for a different language. The answer language setting wins. Remove language requests from your instructions so they do not conflict.

Blocked words

Open Widget → AI rules and find Blocked words to stop abusive or unwanted visitors automatically.

  • Add any word or phrase you want to block. Type it and select Add.
  • When a visitor sends a message that contains one of your keywords, that visitor is blocked right away. Their message is not answered, and they cannot continue chatting with this agent.
  • Matching is not case-sensitive, so "Refund" and "refund" are treated the same.
  • A keyword matches anywhere inside a message, including inside a longer word. For example, the keyword "spam" also blocks "spammer". Choose specific words or short phrases to avoid blocking visitors by accident.
  • Remove a keyword any time with the trash icon. Removing a keyword stops new blocks for that word, but visitors who were already blocked stay blocked until you unblock them.
  • Blocked keywords apply to your website chat widget, the chat API, and connected WhatsApp and Instagram accounts. On WhatsApp and Instagram a blocked person's messages are simply ignored, and they are matched by their phone number or Instagram account so they cannot get around it by starting a new chat.

The Blocked visitors list below the keywords shows everyone who has been blocked, the keyword that triggered it, and when. Select Unblock next to a visitor to let them chat again. Unblock fully clears a visitor even if they were blocked more than once, so a single Unblock is enough to let them back in.

In your Inbox, any conversation from a blocked visitor shows a red Blocked tag, so you can see at a glance who is currently blocked while reading past chats. To block someone manually, open the conversation, select the More actions menu (the … button in the conversation header), and choose Block visitor. Manual and keyword blocks use the same list. Choose Unblock visitor from the same menu to let the person chat again.

Blocked words troubleshooting

  • A visitor says they are blocked but should not be. Find them in the Blocked visitors list and select Unblock. Also review your keyword list for a short word that appears inside normal messages, remove it, and save so it does not block people again.
  • A visitor still seems blocked right after I unblocked them. A single Unblock now removes every block on that visitor at once, so they can chat again immediately. You can unblock from either the Blocked visitors list or the conversation's More actions menu in the Inbox. Ask them to refresh the page or start a new message; if a keyword that matches their messages is still in your list, they will simply be blocked again, so remove or narrow that keyword too.
  • A blocked visitor came back on a new device or after refreshing. On the website, blocks follow both the chat session and the visitor's network address, so most attempts to return are stopped; a visitor on a completely different network who has never triggered a keyword is treated as new. On WhatsApp and Instagram, blocks follow the person's phone number or Instagram account, so a refresh or new chat does not get them back in.
  • Nothing happens when a keyword is sent. Confirm the keyword was saved (the section shows a count) and that you are testing the same agent. Also check that the agent is enabled and finished training.
  • You need to block someone but have no keyword yet. Open their conversation in the Inbox and choose More actions → Block visitor.

Inbox voice reply limit

Open Settings for the agent and find Voice replies to choose the longest voice message a teammate can record from the Inbox. Select one of the common lengths, or use the slider for anything between 15 seconds and 5 minutes. The default is 2 minutes, and the setting applies to Widget, WhatsApp, and Instagram replies for this agent.

This limit used to sit under Widget → AI rules. It now lives with the agent's other settings because it governs how your team replies, not how the AI answers.

Shorter limits keep replies focused and reduce failed uploads on slower connections. If a recording reaches the limit, it stops automatically and remains available to review before sending.

Status and alerts

Open Settings to enable or disable the agent. Configure email alerts for the events shown in the account, such as conversations, handoffs, leads, training, quotas, and integration changes.

Widget identity

Open Widget → Appearance → Brand to set the visitor-facing name, tagline, first message, colors, chat icon, launcher icon, and source-citation visibility.

Open the Chat tab to configure the welcome heading, supporting text, starter questions, dynamic suggestions, and the escalation messages and 1-click contact buttons.

Save behavior

Appearance auto-saves changes and also shows a save control. Wait for the saved state before leaving. Preview changes, then test the live widget after a significant update.

Safe changes

Changing instructions or appearance does not retrain content. Use Re-Train Content when the underlying source material has changed.