Capabilities
Only show a survey when the current app version can support it.
- Last reviewed
Capabilities
Use capabilities when a survey should only appear for people whose current app version can support it.
They are most useful when you have just shipped new or changed functionality. Some people may still be using older cached app code, an older mobile build, or another runtime that does not support the new experience yet. Capabilities let the survey wait until the app reports that it is ready.
Add a capability condition
In the survey delivery settings, open Advanced and choose Runtime has capability.
Enter the capability your app will report, such as:
checkout.drawerUse a trailing wildcard when several related capabilities should qualify:
checkout.*checkout.* matches checkout.drawer and checkout.modal. It does not match
billing.drawer.
Report capabilities from your app
Send the capabilities the current app version supports when you load the widget. If capabilities change after the page loads, update them at runtime. The widget checks for newly eligible surveys after capabilities change.
For exact setup examples, see:
Example uses
New checkout drawer
You ship a checkout drawer in your web app and want feedback only from people
who can see it. Add a condition for checkout.drawer.
People on old cached app code, old mobile builds, or pages that still use the previous checkout flow will not see that survey.
Changed message composer
You replace your message composer in stages. Add a condition for
messages.compose.v2, then ask about the new composer only where it is
available.
If several composer variants should qualify, use messages.compose.*.
Recording replay surface
You release a recording replay panel gradually. Add a condition for
recording.replay, so the survey only appears once the user's app version can
open that panel.
New command palette
You add a command palette in a new app release. Add a condition for
command-palette, so the survey only appears after the user's app version can
open it.
Good capability names
Pick names that make sense in your app. We do not require a naming scheme.
Good names are specific enough to target:
checkout.drawermessages.composerecording.replay
Keep names stable. If you rename a capability in your app, update any survey conditions that use the old name.