Taking screenshots and recordings in the widget needs SDK 19.1.0 or later. Older versions show the request with Upload a file instead. See Supported SDKs.
How it works
- A workflow, an AI agent or a teammate asks. The request appears in the conversation as a message with Take screenshot or Record my screen, Upload a file and Not now.
- The customer taps Take screenshot or Record my screen. The widget moves out of the way and a small bar asks them to go to the screen they want to show.
- Nothing is captured until the customer taps Capture or Start in the bar.
- A screenshot opens in an editor, where the customer can mark it up and blur parts before sending. A recording shows a preview with Send, Retake and Cancel.
- The capture arrives as the customer’s message. A waiting workflow continues, an AI agent looks at the capture before it answers, and your team is notified like for any customer message.
Ask for a capture
In a workflow
The workflow builder has three blocks for this in the Customer interaction category:
Options of Ask for screenshot and Ask for screen recording:
The workflow waits until the customer sends the capture or skips it, then continues with the next step. To do something different in each case, branch on the result.
With AI agents
Add these tools to an AI agent under Tools → Add tool:- Ask for screenshot or recording: the agent asks for a screenshot when the problem is visual, a recording when it is about a flow or an interaction, or lets the customer pick. It writes the message in the customer’s language, plus an internal note on what it wants to see that the customer never sees. The agent waits until the capture or the skip arrives. Options: Allow file upload and Max recording length.
- Collect app logs: the agent collects logs from the customer’s app for technical errors, without asking the customer. Options: what to collect, and Wait for the app (5 to 60 seconds, 15 by default). If the app isn’t open, the agent hears so right away. The request then stays open for 24 hours, and logs that arrive later are added to the conversation.
From the inbox
In the composer of a conversation, select the camera button (Ask for a screenshot, recording or logs) and choose:- Screenshot or Recording: edit the prefilled message and select Send request. The request is posted as your message.
- Logs: select Collect logs. The logs show up in the conversation once the customer’s app sends them. This works for conversations from the widget.
What the customer sees
In the widget
The request appears as a message with a button for what was asked (Take screenshot, Record my screen or both), plus Upload a file and Not now. Not now sends “I can’t share that right now.” as the customer’s reply. While the customer captures, the card shows the progress. Afterwards it shows Sent, Skipped, This request was withdrawn. or This request has expired. All texts the customer sees, including the capture bar and the editor, are in Project settings → Static translations → Capture.On each platform
- A screenshot shows the visible part of the page or app.
- To never show the browser’s share prompt for screenshots, set Web screenshots to Never show a browser prompt in the settings.
- If screen sharing for a recording doesn’t start in a desktop browser (the customer cancels, or it’s blocked), the bar offers Record this page instead.
- On sites where a link loads a new page, a recording stops when the page changes. The bar comes back on the next page with Record again.
- A recording stops at the maximum length. In apps, it pauses while the app is in the background.
- When the request allows the microphone, desktop browsers show a microphone button in the recording bar. The microphone stays off until the customer turns it on. Apps record without sound.
Mark up screenshots
Each screenshot opens in an editor (Mark what matters) before it’s sent. The customer can use Draw, Arrow, Box, Text, Blur and Crop, with Undo and Redo, then Send or Retake. Blur pixelates the area in the image that is sent, so the original content of that area never leaves the device. With Mark up screenshots turned off in the workflow block, the customer sees a plain preview with Send, Retake and Cancel.Upload a file
Upload a file accepts images for screenshot requests, videos for recording requests, and both when the customer picks. Files can be up to 100 MB. The button shows when the request allows uploads, and always when the device can’t capture. An image or video the customer attaches with the paperclip of the composer also answers the oldest open request that didn’t come from a workflow.Email, WhatsApp and other channels
Conversations outside the widget get the request as plain text, followed by “Reply with a screenshot or screen recording.” The customer’s next reply with an image or a video answers the request. In a workflow, a reply without an image or video counts as skipped, and the workflow continues. Logs can’t be collected from these conversations: there is no Gleap SDK on the other end.What your team and AI agents get
The capture arrives as the customer’s message:- Screenshots show as images. Screenshots the customer marked up are labeled Annotated.
- Recordings play in the conversation. Logs during recording shows the console and network logs of the recording’s time next to the video.
- Page recordings open in the replay player with Play page recording, with the logs of that time beside them.
- Logs show as an internal line, Logs collected, with the number of console lines, requests, errors and failed requests. Open logs opens them.
- Screenshots as images, with a description of what the customer marked.
- Recordings as a description with timestamps. Gleap describes each recording with AI when it arrives. This counts toward your AI usage.
- Page recordings as a timeline of clicks, inputs (without their values), page changes, errors and failed requests.
- Logs as a summary with the environment, the latest errors and the latest failed requests.
Background log collection
Logs are collected when a Collect log data block runs, an AI agent uses Collect app logs, or a teammate selects Logs in the composer. The customer doesn’t need to do anything, but your app or website must be open with the Gleap SDK. If it isn’t, the request waits up to 24 hours and is answered when the app connects again. What is sent: the same data a bug report contains. That’s console logs, network requests, custom data, environment data and events. The replay is only sent when it’s asked for and replays are turned on for your project. Your existing settings apply, for example disabled console logs, network log filters and ignored environment data fields. Where it goes: the logs are added to the conversation’s logs. Nothing already there is replaced. Environment data is updated to the new values, and custom data is merged key by key. Your team sees the internal line Logs collected. What the customer sees: a short line in the conversation, “Diagnostic data was shared with the support team.” It’s shown in the widget only, never sent by email. Turn it off with Tell the customer in the settings. Logs that come with a screenshot or recording don’t add this line. Logs with captures: with Attach logs on, the logs around a screenshot or a recording are sent with it. To turn log collection off:- Background log collection off in the settings: no logs are collected in the background. Workflow blocks collect nothing, and AI agents and the composer say that it’s turned off.
- Attach logs off in the settings: screenshots and recordings arrive without logs. Workflow blocks have their own Attach logs option.
- In your app:
setRemoteLogCollectionEnabled(false)answers log requests as not supported. In the iOS and Android SDKs, it also stops logs from being sent with screenshots and recordings. See your SDK’s page under Supported SDKs.
Privacy
- Nothing is captured until the customer taps Capture or Start. When a desktop browser shares the tab, a window or the screen, the browser asks for permission first.
- While a recording runs, the bar shows a red dot, the time and Stop. A recording is only sent after the customer confirms the preview, a screenshot after Send in the editor.
- Gleap’s own UI, such as the widget, the feedback button and the capture bar, never appears in a capture. On iOS, the keyboard is never captured either.
- Sensitive content is blacked out:
- Web: password fields, fields for one-time codes and card numbers, elements with the classes
gl-mask,gl-block,rr-maskorrr-block, the masking options ofGleap.setReplayOptions, card payment frames and the CSS selectors in Masked elements. Page recordings mask every input value. While a screen recording runs in a desktop browser, the same elements are blurred on your page; other tabs, windows or the screen the customer shares are recorded as they are. See JavaScript. - iOS: secure text fields, fields for passwords, one-time codes and card numbers, and views you mask with
maskView. See iOS. - Android: password fields, windows with
FLAG_SECURE, and views you mask withmaskView. See Android.
- Web: password fields, fields for one-time codes and card numbers, elements with the classes
- The customer can blur and crop a screenshot before sending it.
- The note an AI agent writes about what it wants to see is never shown to the customer.
- Background logs contain only what a bug report contains. You can turn them off for the project and in your app; turning them off in the app also sends screenshots and recordings without logs.
- Captures are stored like any other attachment of the conversation.
Settings
In the Gleap dashboard, open Project settings → Developer options → Screenshots & recordings:Branch on the result
After an Ask for screenshot or Ask for screen recording block, add a Condition step. Choose Capture results, pick the block, and choose:- Received: the customer sent a screenshot, a recording, or an image or video file.
- Skipped: the customer tapped Not now or answered on another channel without an image or video, a teammate cancelled the request, or the conversation already had 10 open requests.
Limits
- Up to 10 open screenshot and recording requests per conversation.
- Screenshot and recording requests expire after 7 days, log requests after 24 hours.
- The maximum recording length can be set from 5 seconds to 3 minutes. Uploaded files can be up to 100 MB.
- Logs can be collected once per minute per conversation (a second request within the minute reuses the first) and 30 times per customer per day.
Supported SDKs
The request card is part of the widget, so customers see it with every SDK version. Taking screenshots and recordings, and collecting logs, needs SDK 19.1.0 or later:
Older versions and other SDKs show the request with Upload a file and Not now, and logs can’t be collected from them.