Handle conversations on your phone
Learn how to triage and handle Fetchply Inbox conversations from the mobile preview.
The Fetchply mobile app is currently a development preview. It is still being completed and tested for iPhone and Android. Use the web inbox for your everyday customer support until a production release is available.
The preview brings the web Inbox workflow to a phone-sized interface. You can filter and search conversations, work the full timeline, reply or leave private notes, use reply tools, attach media, manage ownership and customer details, and finish a conversation. Creating accounts, accepting invitations, configuring agents, connecting channels, and billing stay on the web.
Before you start
Use an existing Fetchply account and an agent you have permission to open. If a teammate invited you, finish the invitation on the web first. Preview access does not mean the app has been released through the App Store or Google Play.
Android preview testers using a development build should install the APK from their preview invitation and open Fetchply Dev. Keep your phone connected to the test server as instructed by the person providing the preview. If an updated build is provided, install it before continuing tests.
iPhone preview testers install Fetchply from the TestFlight invitation or the install link they were given. An install link only works on an iPhone that has been added to the preview, so the person providing it may first send you a link to add yours. If your iPhone says the app cannot open until Developer Mode is on, open Settings, then Privacy & Security, turn on Developer Mode, and restart the phone when it asks.
The app is made for a phone held upright, and on a phone it does not turn sideways. On an iPad it runs in its phone-sized layout. A large Android tablet or an unfolded foldable may still turn it sideways; everything keeps working, laid out as on a phone.
Sign in
- Enter the email and password you use on the web.
- Enter the 6-digit code sent to that email address.
- If your existing account uses Google or Facebook, you can use the matching button instead. Apple sign-in is not available in this preview.
If you are testing through Expo Go, use email and password. Google and Facebook sign-in need a separate Fetchply development build. Expo Go also cannot be used to verify remote push notifications.
You can request another code when the resend countdown ends. Use Use a different account to return to the email and password step. Do not share verification codes.
Choose what you are working on
Tap the agent name at the top right of the Inbox to switch agents. The same button sits at the top right of Unassigned, and switching from either place changes both. The button shows how many unread conversations that agent has, and only opens a list when you can open more than one agent. If the agent has its own logo — the one you uploaded for its chat widget, or the icon taken from your website — the button and the agent list show it. Otherwise they show the agent's initials, as the web dashboard does. If a logo cannot be loaded, the initials appear instead.
Under the search box is a row of queues. Tap one to change what the list shows:
- All — every open conversation for this agent, including the ones the AI is still handling on its own. This is where the Inbox opens.
- Needs agent — waiting on a person rather than the AI.
- Unread — conversations with messages nobody on your team has read.
- Mine — conversations assigned to you.
- Resolved — conversations that have been finished.
Only one queue is active at a time, and the list does not move around when you switch. Each queue shows a count beside its name; Mine counts the open conversations assigned to you.
Search looks inside the queue you are in and runs a moment after you stop typing, so the list updates once for the words you meant rather than for every letter. Tap the clear button in the search box to see the whole queue again; clearing takes effect straight away. A search made only of spaces counts as no search.
Tap the filter button beside the search box to narrow a queue by channel, label, tag, or teammate. You can select as many as you like in each group, and a conversation matching any of your choices is shown. Once any filter is on, a number beside Filters shows how many.
The channel list at the top starts on All channels. Tap individual channels to watch just those — WhatsApp and Instagram together, for example. Tapping All channels again clears your channel choices and shows everything, so there is only ever one answer to "which channels am I watching".
While filters are on, a bar appears under the search box saying how many are active. Tap it to change them, or tap Clear to remove them all. That bar is worth checking whenever a queue looks emptier than you expect. If your filters hide every conversation in a queue, the list says No conversations match these filters and offers Clear filters, so an empty list is never mistaken for an empty queue.
Filters stay on when you switch queues. Open and resolved conversations can use different labels, tags and teammates, so a filter you picked in one queue may not be listed in another. When that happens it appears at the top of its group in the filters, marked From another queue, so you can see it is still on and untick it.
Filters and search belong to one agent. Switching to another agent clears them, so the new agent's queue is never narrowed by labels or teammates it does not have. The queue you had selected stays the same.
Pull down on the list to refresh it. While it loads you will see placeholder rows in the shape of real conversations rather than a blank screen. The list also keeps itself up to date in the background without the refresh spinner appearing, and the times on each row ("now", "5m", "2h") keep counting while the app is open.
If a refresh fails after the list has loaded, the conversations stay on screen and a message above them says the queue may be out of date, with a Refresh button. If more conversations fail to load as you scroll to the bottom, the list says so and offers Try again.
Handle a conversation without opening it
Swipe a row sideways to act on it. Each direction offers the one action that row's state allows, so you never have to pick from a menu on a moving list:
- Swipe left to Resolve an open conversation, or to Reopen one that is already resolved.
- Swipe right to Take over a conversation nobody has taken. On one that is already yours, this becomes Mark read when it has unread messages.
A short nudge springs back and does nothing; a longer drag or a quick flick carries it through. A direction with no action available will not move.
If you use VoiceOver, TalkBack, or Switch Control, the same actions are in the row's actions menu: select the row, then choose Resolve, Take over, Reopen, or Mark read from the list of actions.
After each action, a bar at the bottom says what happened and to whom — for example "Resolved Ana" or "Assigned Ana to you" — and screen readers read it out. The compose button moves up out of its way while it shows. After a resolve, the bar also has an Undo button for a few seconds. The other actions are not offered an undo, because none of them has a single step that puts things back exactly as they were — open the conversation and use Manage instead.
If an action is not allowed for your account, the bar says it could not be done and the row stays where it was. Nothing is changed until the server accepts it, so a conversation never disappears from the list and then reappears.
If the selected agent has an active email address and you can reply to its conversations, use the compose button at the bottom right of the Inbox to start a new email conversation. Without reply access, sending the first message shows "You do not have permission to reply in this agent." Ask a workspace owner for reply access. Choose the customer's address, an optional name, and a subject, then write the first message.
Inbox and Unassigned follow the same selected agent. Your phone remembers the choice separately for each account. If access to that agent is removed, the app shows another agent you can access. If your choice is not remembered after a restart or update, select the agent again in the Inbox header.
Read a conversation
Each row shows the customer, the channel they wrote from, the last message, and when it arrived. Times read the way WhatsApp writes them: the clock time for today, Yesterday, then a weekday within the week, then a date.
When a queue has both kinds, conversations asking for someone — waiting on a person, or with messages nobody has read — are grouped under Needs attention at the top, with everything else under Recent. Each group keeps the newest first. Queues that are all one kind, such as Needs agent or Resolved, show no groups.
The Inbox uses space and soft fills rather than lines and outlines, so rows, cards and messages sit cleanly on the page in both light and dark mode. Statuses such as Needs agent, Blocked and Resolved are written out, not just coloured. If the customer rated the conversation, their score appears on the row too, so you can see a poor review without opening anything.
Each row's small round badge shows the channel's own logo — WhatsApp, Instagram, Messenger, Slack, or Discord — or a globe for your website chat and an envelope for email. The same logos appear next to each channel in the filters.
Open a conversation to see recent messages. The customer's messages are on the left in a plain bubble; everything from your side is on the right. A teammate's reply is orange-tinted and shows their name, an AI reply is blue-grey and says AI reply, and a private note is amber and says it was not sent to the customer. The colours stay easy to tell apart in dark mode too.
Messages sent within a few minutes of each other are grouped into one block, with the sender at the top and the time tucked into the corner of the last bubble. Bubbles in one turn sit close together, with more space where the conversation switches between the customer and your side. Today or Yesterday separates each day. Long links wrap inside the message instead of running off the screen, and you can press and hold any message to select and copy its text. A message with no text and no files says Empty message.
Under an AI reply, a small sources button shows how many pages the answer was based on — for example 3 sources. Tap it to see each source's title and website, and tap a source to open it in your browser. An answer that used no sources has no button.
When the chat did something besides send words, a small labelled chip under the message says what, so you know what the customer saw. For example:
- Review requested — the customer was shown a card asking them to rate the chat.
- Showed a form — the customer was asked for their details.
- Shared 3 products or Shared order #1042 — product or order cards were shown.
- Showed the checkout form or Offered checkout — the customer was offered a way to buy.
- Checked order status — the AI looked something up before answering.
- Handed to your team — the AI passed the chat to a person.
The chat widget marks these with internal codes in square brackets. The app never
shows those codes as text; each one becomes a chip like the ones above. If your
agent's own instructions use tags of their own, such as [END_CHAT] or
[REVIEW_BY_USER], they appear as chips named after the tag — End chat,
Review by user — instead of as bracketed text.
Other capitalised words in square brackets, such as a [CUSTOMER_NAME] the AI was
meant to fill in, are not tags. They stay in the message exactly as the customer saw
them, so you can spot the gap and send the right detail.
Lines your team did not type, such as Visitor requested to speak with a teammate or Visitor provided contact details, sit in the middle of the conversation in a small rounded box, rather than looking like a reply from the AI.
An Unread line marks the first customer message you have not read yet. It does not appear when only your team or the AI has written since you last looked, or above the very first message of a new conversation. If you scroll up, a button appears at the bottom right to jump back to the newest message.
Conversations update live. A customer's reply, a teammate taking a conversation, or one being resolved appears within a moment, on the conversation and in the queues, without you pulling down. Nothing is on a timer while that connection is working, so it costs no extra battery.
If the connection drops — moving between networks, a weak signal, waking the phone — the app falls back to refreshing every so often and catches up automatically as soon as it reconnects. You can always pull down to refresh immediately.
Formatting in a message is shown rather than printed. Bold, italics, links, bullet and numbered lists, headings, quotes, and code all render, so an AI reply that uses them reads the same on your phone as it does to the customer. Anything that is not really formatting is left exactly as the customer typed it. Only website, email, and phone links can be tapped; any other kind of link is shown as plain text.
Choose Load older messages to read further back. If that request fails, the messages already loaded remain available and you can retry. If your read position could not be saved, a message explains that teammates may still see the conversation as unread, with a Retry option.
Tap the customer's name or the information button to open Details, where you can review their identity, location, custom attributes, teammates following the conversation, rating, dates, labels, tags, and any order, cart, product, or browsing context. Tapping an email address or phone number there opens your mail or phone app.
Reply
The reply box appears once a person is answering the conversation. While the AI assistant is still handling it, there is no reply box: instead you see The AI assistant is handling this with a Take over chat button. This matches the web inbox, and it prevents you and the assistant answering the same question twice in two different voices.
You will also see a message instead of the reply box when:
- A teammate owns the conversation. Tap Follow to reply alongside them. They keep ownership.
- The conversation is resolved. Tap Reopen conversation to reply again.
- You have view-only access, or the channel's reply window has closed. The message says which, and there is no action to take from the app. To reach a WhatsApp customer after their window closed, open the conversation in the inbox on the web and select Send template.
Once you can reply, the message box is for the customer. Writing a private note is a deliberate choice you make from the plus menu rather than a switch sitting above every reply you send.
Adding to a reply
Tap the plus button beside the message box. The panel has two parts:
- A row of tiles across the top for attaching something: Photos from your library, Camera to take one now, File for a document, and Voice to record a voice message. Swipe the row sideways if not all of them fit.
- A list below for the tools that write into your reply: Quick replies, Instant Answers, Products, AI writing tools, and Private note. Each one says what it does.
A reply can be just a photo or a file. As soon as something is attached, the send button appears beside the message box, so you can send it without typing anything.
A photo or file shows above the message box the moment you pick it, with how much of it has uploaded; photos show a small preview. You can keep writing while it uploads, and the send button waits until every upload has finished. Tap the cross on an upload to cancel it. Leaving the conversation cancels any upload that has not finished, and Private note is hidden in the plus menu until uploads are done, because the file belongs to your reply.
Write a private note
Choose Private note from the plus menu. A band above the message box says the
note is only visible to your team, and it stays there until you leave note mode
using the cross on that band. Your reply and your note keep separate text, so
switching does not copy one into the other and a note cannot be sent to a customer
by mistake. Type @ in a note to mention an eligible teammate. Notes are text only,
so Photos, Camera, File, and Voice are not offered while you write one.
Only what this conversation's channel accepts is offered, so nothing here fails after you tap it. A channel that cannot carry audio shows no Voice tile; one that cannot carry documents shows no File tile.
The first time you use Camera, your phone asks for permission, and on Android so does Photos. On an iPhone, Photos opens your library without asking, and only the photo you choose is shared with Fetchply. If you decline a permission, the panel explains how to allow it in your phone's settings. Cancelling the picker does nothing and reports no error.
Photos are reduced in size before sending, so a picture from a modern phone camera does not take a minute to upload on a shop's connection. iPhone photos are saved in a format many channels refuse, so the app sends them as an ordinary picture instead. Each upload has up to a minute to finish, and if one does fail the reason is shown as it happened rather than always blaming your connection.
Images and voice messages a customer sent appear in the conversation itself. A picture still arriving shows a placeholder in its own shape; tap a picture to see it full screen. If one cannot be loaded, the bubble says so and tapping it tries again.
Send a voice message
On channels that accept audio, a microphone button appears next to the message box while there is nothing to send: no text typed and nothing attached. You can also choose Voice from the plus menu.
- Tap the microphone. Recording starts straight away, and the timer counts up.
- Tap Send. The voice message goes to the customer on its own, as it does in WhatsApp. Anything you had typed or attached stays in the message box.
- Tap Discard instead to throw the recording away. Nothing is sent.
Voice messages are not emailed. When a website visitor has left the chat and your reply is set to be emailed, the microphone and Voice are hidden; choose Chat only to leave a voice message in the chat instead.
Each voice message can be as long as the limit shown at the top of the recorder. When you reach it, recording stops and waits for you to choose Send or Discard; it is never sent on its own. While it sends, the recorder shows how much of the recording has uploaded. If a voice message cannot be sent, the recorder stays open with the recording kept and the reason shown, so you can tap Send again rather than recording it again.
Listen to a voice message
Voice messages, from the customer or your team, show as a play button with a bar and the message's length.
- Tap the play button to listen, and again to pause.
- Tap or drag along the bar to jump to any point.
- While a message plays, its length changes to how far in you are, and a speed button appears. Tap it to switch between 1×, 1.5×, and 2×.
- Starting one voice message pauses any other that is playing.
- When a message ends it goes back to the start, so tapping play hears it again.
You can hear voice messages even when your phone is set to silent. Music or other audio playing on your phone pauses while you record or play one.
On an iPhone, a customer's WhatsApp voice message can take a moment to start the first time it is played, while it is prepared in a format the iPhone plays. After that it starts straight away.
AI writing tools can draft a new reply or shorten, rephrase, correct, or translate what you have already written. They only replace the draft, and nothing is sent until you press the send button. They use the same AI model you picked for the agent, exactly like Magic Reply on the web, and each run uses that model's message credits. While a draft is being written, the tools wait so one tap is only charged once. If you close the panel before it finishes, the draft is cancelled and your reply box is left as it was.
A character count appears as you approach the message length limit.
Email conversations show To and Cc recipients above the message box and keep replies in the existing email thread. If a website visitor has closed the chat, you can choose whether the reply is emailed to them or left waiting in the chat; the composer says which it will do.
Manage a conversation
Under the customer's name is a bar saying who is answering the conversation right now — AI is handling this, Waiting for your team, Assigned to someone, or Resolved — with a single button for the action that state calls for: Take over, Resolve, Reopen, or Back to AI.
While a conversation is yours and you can reply to it, the bar says Assigned to you and does not offer Take over, because taking it again would change nothing. It offers the next step instead, usually Resolve. The bar updates as soon as you take a conversation over.
Only one action appears there, because only one is usually the right next step. Every other action your access allows is in the three-dot menu, where it is named in full and explained. If you have view-only access, the bar says View only and offers no button.
Tap the three dots to open Manage. It is a short list of jobs, and each one opens its own panel so you only ever see the settings you came for:
- Assign and follow — choose who is answerable for the conversation, release an assignment, or follow it to get its updates without taking it on.
- Labels — add and remove labels as chips, and create a new one without leaving your phone.
- Tags — add and remove tags as chips. Type to add a new one, or tap a tag your team already uses to reuse it.
- Edit customer — correct the name, email, or phone number.
- Email subject — change the subject line on an email thread.
- Email the transcript — send the conversation to the customer.
- End this chat, Block customer, and Delete conversation — grouped separately at the bottom. Ending and deleting ask you to confirm, and the confirmation says what happens rather than only asking whether you are sure.
Inside a panel, the arrow at the top left returns to the list and the close button dismisses the whole thing. Any panel that slides up from the bottom of the screen, including Filters, can be dragged down or flicked away from anywhere on it: the bar at its top, its title, its contents, or the buttons along its bottom. If you have scrolled down a list inside it, dragging down scrolls the list back to the top first and then carries on closing the panel. The panel keeps sliding away the moment you let go, and a short drag springs back. Tapping the dimmed area above a panel also closes it, and so does your phone's back button. With VoiceOver, use the close button or the two-finger scrub gesture.
Tags and labels
Both work the same way, so you only have to learn it once. In either panel:
- What is already on the conversation appears as orange chips. Tap the small cross on a chip to remove it.
- Type in the box and tap the plus button, or press done on your keyboard, to add.
- Below the box, what your team already uses appears as suggestions. Tap one to add it. As you type, the list narrows to matching entries.
- Matching ignores capitals, so you cannot add both "VIP" and "vip". Reusing an existing entry keeps your filters working across the team.
Every add and remove saves immediately.
The difference is what they are. A tag is a free-form word — type anything and it is added. A label is a shared item belonging to the agent, so typing a name that does not exist yet creates it for your whole workspace; the box tells you when it is about to. Your workspace can hold up to 50 labels, and the panel says so if you reach the limit.
Drafts and interrupted sends
The app attempts to save text on your phone as you type. If saving fails, an error appears. Copy the text somewhere safe before leaving the conversation. If a saved draft cannot be opened, reopen the conversation to try again.
Sending needs a connection and a press of the send button. Reconnecting does not automatically send a draft. A rejected request keeps the text in the box, and the reason appears underneath it.
If your connection drops while sending, keep the draft and refresh the conversation. Replies use a stable send identifier, so retrying the same accepted operation does not create a duplicate customer message.
An accepted reply may display Sending, Partly sent, Not sent, or Delivery unconfirmed. A WhatsApp reply that WhatsApp did not deliver, including an automatic reply from your agent, also shows Not sent, or Partly sent when only part of a longer team reply arrived. The web inbox shows the reason. Refresh the conversation or check the web inbox for the current result. Check the customer's channel before repeating a partly sent or unconfirmed reply. Read more about delivery labels.
Unassigned and settings
The Unassigned tab shows conversations waiting for someone on your team to take them. It follows the same selected agent as the Inbox. Use the Inbox queues and filters for unread, assigned, labelled, channel-specific, or teammate views.
Under Appearance in Settings you can choose Match phone, Light, or Dark. Match phone follows your phone's own light and dark setting. Your choice is remembered on that phone and applies whichever account you sign in with.
Notifications
The app asks for permission to notify you the first time you open your Inbox. Allow it, and your phone is alerted when a teammate hands you a conversation, mentions you in a private note, when a customer replies in a conversation you have taken or follow, when a customer starts a new conversation, and when a customer is waiting for a teammate. It also reminds you about customers nobody has answered, tells you about new leads, and warns you when a channel stops working or your messages run out. Alerts show the customer's name and what they wrote, like a chat app. Tap an alert to open the conversation it is about.
Under Notifications in Settings you choose which of these this phone gets, turn off Show previews to keep names and messages out of alerts, turn off alerts from a particular agent, or pause everything for an hour or until the next morning. Signing out stops alerts on that phone. Notifications need a real phone and the Fetchply app; they do not work in Expo Go or on a simulator.
Read Phone notifications for every setting and for help when alerts do not arrive.
Settings also shows how many agents you can open, and links to account management, documentation, and privacy information. Signing out ends the local session and clears saved drafts and the conversations shown in the app. Signing in with another account loads that account's conversations separately.
Troubleshooting
My code was rejected or expired
Check that you entered the latest 6-digit code for the email shown. Wait for the resend countdown, request a new code, and enter the newest one. If you changed your password, return to the email and password step and start again.
Secure sign-in storage could not be opened
Unlock your phone and tap Try again. If it still fails, close and reopen the app. The app waits for your saved session to load before checking sign-in.
I signed in but there are no agents
Ask a workspace owner for access or finish an outstanding invitation on the web. An agent may disappear if your permission was removed. Reopen the app after an access change; ask the owner if the change was unexpected.
The reply box or an action is disabled
Read the reason shown near the message box. Your account may have view-only access, the conversation may be resolved, or the channel may no longer allow a reply. If you have view-only access, the action buttons are replaced by a line saying so. Wait for any pending action to finish, then reopen the conversation to refresh it.
A queue looks empty when I expected conversations
If the list says No conversations match these filters, tap Clear filters. Otherwise check the bar under the search box. If it says filters are narrowing the queue, tap Clear to remove them, or open the filters and set the channel list back to All channels. If the list says No matches, tap Clear search. Then check you are in the right queue: a conversation that has been taken by a teammate leaves Needs agent, and one that has been finished moves to Resolved. Tap All to see every open conversation regardless of who or what is handling it. Also confirm the agent name at the top right is the one you meant.
Swiping a row does nothing, or scrolls instead
Swipe more horizontally: a drag close to diagonal is treated as scrolling the list, which is deliberate so the queue does not catch on every row. A very short swipe also springs back on purpose. If the row will not move in one direction at all, there is no action available that way — a resolved conversation offers no resolve, and one already assigned to you offers no take over.
A swipe said it could not be done
Your account may not have permission for that action, or the conversation may have changed since the list was drawn — a teammate may have taken or resolved it first. The row is left as it was. Pull down to refresh and check its current state, or open the conversation to see who is handling it.
I resolved the wrong conversation
Use Undo on the bar at the bottom of the screen. It stays for a few seconds after the swipe and names the conversation it applies to. If it has already gone, open the conversation from the Resolved queue and choose Reopen.
I cannot find a conversation the AI is handling
Tap All, the first queue in the row. Needs agent deliberately leaves out conversations the assistant is still answering on its own.
A tag I add does not appear in the filters
Filters list the tags in use across the queue you are looking at, and that list is refreshed periodically. Pull down on the conversation list, or reopen the filters, and the new tag appears. A tag only shows up once it is on at least one conversation.
I cannot add a tag
If the box says a limit has been reached, remove a tag before adding another. If the box says the tag is already on the conversation, it is there already — look for it among the chips above. Tags ignore capital letters when matching.
There are no labels to choose from
Type the name you want in the Labels panel and add it. The label is created for this agent and attached to the conversation in one step, and it then appears for your teammates and in the filters. If your workspace has reached its label limit, remove an unused one on the web dashboard first.
I cannot find the private note switch
There is no longer a switch above the message box. Tap the plus button and choose Private note. A band above the box confirms you are writing a note, and its cross returns you to replying. If a photo or file is still uploading, Private note is hidden until the upload finishes or you cancel it.
I cannot see the reply box
Check the message where the reply box would be. It says which of these applies: the AI is still handling the conversation and you need to Take over chat; a teammate owns it and you can Follow to reply alongside them; the conversation is resolved and needs reopening; you have view-only access; or the channel's reply window has closed and the customer must message again first.
Take over does not appear on a conversation
Take over only appears when taking the conversation would change something. On one that is already yours, the bar says Assigned to you and offers the next step, such as Resolve, and the three-dot menu leaves Take over out too. If the conversation went back to waiting for the AI, Take over returns so you can reply again.
I see a chip I do not recognise under a message
The chip is named after a tag in the message that this version of the app has no specific wording for, usually one your agent's own instructions asked the AI to write. It only tells you the tag was there. It does not mean the customer saw anything happen: the chat acts only on its own tags, written exactly, so a tag with a missing bracket did nothing. Open the conversation on the web inbox if you need more detail, and install the latest build when one is available.
A message shows capitalised words in square brackets
Text such as [CUSTOMER_NAME] or [ORDER_ID] is usually a gap the AI was meant to
fill in and did not. The app leaves it exactly as the customer saw it, so the
mistake is not hidden from you. Reply with the right detail, and check your agent's
instructions if it keeps happening.
The app sent me back to the sign-in screen
Your session ended while the app was open — for example it expired, your password was changed, or you signed out of every device from the web. The app checks with Fetchply as soon as a request is refused and, if the session is gone, takes you to sign in. Sign in again to continue. Text you were typing stays saved on the phone for the same account.
Photos or Camera does nothing
Your phone may have refused the permission. The panel says how to allow it in your phone's settings. If the picker opened and you closed it without choosing, nothing is attached and that is not an error. If a Voice or File tile is missing altogether, this conversation's channel cannot carry that kind of attachment.
A photo says it could not be opened
On an iPhone this usually means the photo is kept only in iCloud and the phone could not download it, for example without a connection. Connect to the internet and pick it again, or choose another photo. If The camera could not be opened appears, close any other app using the camera and try again.
An attachment says it could not be loaded
Tap it to try again. The link the app uses to show a picture or play a voice message is short-lived and is renewed for you, so a retry usually succeeds on its own. If it keeps failing, refresh the conversation, and check the same message on the web to confirm the file is still there.
On an iPhone, a customer's voice message is prepared for your phone the first time it plays. If that could not be done, the bubble says Could not load. Try again later, or listen to it on the web inbox meanwhile.
The iPhone install link does not work
An install link only works on an iPhone that has been added to the preview. Ask the person who sent it to add your iPhone, open the link they send for that, and then open the install link again. If you were invited through TestFlight, install TestFlight from the App Store first and accept the invitation there.
An upload failed and mentioned my connection
Read the message under the box: it now says what actually went wrong rather than always blaming connectivity. If it does say you are offline, your phone confirmed that. A very large video may still be refused by the customer's channel — check what that channel accepts on the web. Nothing is sent until you press send, so a failed attachment leaves your draft intact.
An upload is stuck or very slow
Watch its percentage above the message box: if it is still rising, the upload is working and only needs time. Each upload has up to a minute: one that stops moving, or a large file that needs longer than that, ends with a message saying so. Move to a stronger signal or send a smaller file, then attach it again. To stop an upload sooner, tap the cross on it.
An upload says "Too many requests. Try again shortly."
You have sent a lot of photos, files, or voice messages in a short time. Wait a minute, then attach the file again. Your draft and anything already attached stay where they are.
There is no send button, only a microphone
The microphone takes the send button's place only while there is nothing to send. Type a message or attach a photo or file and the send button returns. To send a voice message, tap the microphone itself.
My voice message did not send
The recorder stays open with your recording and shows the reason. Tap Send to try again; the same recording is sent, so you do not need to record it again. Tap Discard if you no longer want it. If the recorder will not close, wait for the send in progress to finish: it stays open until the app knows whether the message went.
A voice message plays from the wrong place, or will not replay
Tap or drag along its bar to choose where it plays from. A message that has finished goes back to the start on its own, so tapping play again hears it from the beginning. If it still does not play, pull down to refresh the conversation and try again.
I am not getting notifications
Open Settings in the app and check what Notifications says. On for this phone means alerts are set up; anything else explains what to do. The full checklist, including phone settings, Focus modes, and battery saving, is in Phone notifications.
A new message took a while to appear
Conversations normally update the moment something changes. If they seem to lag, the live connection has probably dropped — a weak signal, a network change, or a phone waking from sleep will do it. The app keeps refreshing on a slower rhythm meanwhile and catches up on its own once the connection returns. Pull down to refresh immediately, and check your signal if it keeps happening.
The agent shows initials instead of its logo
The app shows a logo only when the agent has one: an image uploaded for its chat widget, or the icon taken from your website. Agents that use one of the built-in widget icons show their initials. If you have just changed the logo on the web, pull down on the Inbox to refresh. If the logo's file has been removed or cannot be reached, the initials stay until it can.
An AI reply has no sources button
Older AI replies, and replies from before your workspace recorded sources, have no source information to show. A reply can also have no button because the AI answered without using any of your trained content, such as a greeting or a thank-you.
A queue's count and its list do not match
Counts come from the last page the server sent, so a very busy inbox can show a count a few seconds out of date. Pull down to refresh. If Mine shows no count, the server you are connected to has not been updated yet.
AI writing tools show an error
Read the message in the panel. It says what happened:
- Out of message credits: drafting is paused until the plan renews or more credits are added. Replies you write yourself still send.
- No customer message yet: drafting and translating need a message from the customer first. Nothing is charged.
- Keep the reply under 4000 characters: shorten the text, then try again.
- Unavailable right now or Too many requests: wait a moment and try again. The tools never switch to a different AI model behind your back.
The tool I want is missing from the plus menu
The menu lists only what this conversation's channel accepts. A channel that cannot carry audio will not offer a voice reply, and one that cannot carry files will not offer them either. Check the same conversation on the web if you need to confirm what the channel supports.
Loading fails while I have no connection
Reconnect and use Try again. A loading error does not confirm that a draft was saved. Keep any draft text safe if the composer reports a storage error. If a conversation or a queue could not be refreshed, a message says so and offers Refresh; what you are reading stays on screen but may be out of date until it succeeds. If Could not load more conversations appears at the bottom of a queue, reconnect and tap Try again — the conversations already shown are kept. Once your phone is back online, open screens refresh on their own.
The app is too bright or too dark
Open Settings and choose Light or Dark under Appearance to override your phone's setting, or Match phone to follow it again.
Animations are distracting
Turn on your phone's reduce-motion setting. The app removes movement while keeping every panel, banner and state change, so nothing is hidden as a result.
Sending is paused or the app asks me to update
Sending may be temporarily unavailable while reading remains available. Use the web inbox for urgent replies. If an update is required, install the latest build through the preview distribution channel you were given.
A settings link does not open
Tap the link again. If your phone cannot open it, visit Fetchply in your browser and open the same account, help, or privacy page there.