Dynamic placeholders (`${esper.*}`) in Esper Web App `webappURL` managed config: supported, but Web App feature requires enablement
Android
Learn how to use dynamic placeholders in your Esper Web App configuration to pass device-specific values like serial number, UUID, MAC address, and device name to your web application URL. This article explains what placeholders are supported, how they work, and how to enable the Web App feature on your tenant.
Supported dynamic placeholders in webappURL
Esper dynamic placeholders are fully supported in the webappURL managed configuration key. You can use the following placeholders to automatically insert device-specific values into your Web App URL:
| Placeholder | Resolves To |
|---|---|
${esper.serialNumber} |
Device serial number |
${esper.uuid} |
Esper device UUID |
${esper.macAddress} |
Device MAC address |
${esper.deviceName} |
Esper device name |
Example configuration
Here's an example managed configuration using dynamic placeholders:
{
"webappURL": "https://example.com?serial=${esper.serialNumber}&deviceId=${esper.uuid}&mac=${esper.macAddress}&deviceName=${esper.deviceName}"
}
When this configuration is applied to your devices, each device substitutes its own values. For example, one device might resolve to https://example.com?serial=ABC123&deviceId=uuid-xyz&mac=00:11:22:33:44:55&deviceName=Tablet-01, while another resolves to a completely different URL with its own identity values.
How placeholder resolution works
Placeholders are resolved on each device when the managed configuration is applied or converged. This means:
- Resolution happens automatically on the device — you don't need to do anything special.
- Each device substitutes its own identity values independently.
- Every device launches the Web App with a unique, device-specific URL.
- Your backend can use these URL parameters to identify and register each device individually.
Verify placeholder resolution
To confirm that placeholders are working correctly:
- Deploy your managed configuration with the placeholder syntax to a test device.
- Check the URL that launches on the device.
- Verify that the placeholder tokens (like
${esper.serialNumber}) have been replaced with actual device values (like the device's serial number).
Enable the Web App feature on your tenant
The Esper Web App is a paid, opt-in feature that must be explicitly enabled on your tenant. It does not appear in the Esper Console by default.
To enable the Web App feature:
- Check your Esper Console to see if the Web App option is already available. If you see it, your feature is already enabled and you can proceed with deployment.
- If the Web App option is not visible, contact your Account Manager or your Esper point of contact to discuss licensing and enablement.
- Once your Account Manager confirms that licensing is in place, Esper's Esper Support can enable the Web App feature on your tenant.
- After enablement is complete, log back into the Esper Console and verify that the Web App option is now available.
- You can then create and deploy managed configurations using the
webappURLkey with dynamic placeholders.
Troubleshooting
Placeholders are not resolving (literal placeholder strings appear in the URL)
If you see the literal text ${esper.serialNumber} in your URL instead of the actual device serial number, this may indicate that your device's Esper Agent version does not support placeholder resolution. Check your Esper Agent version by navigating to Devices & Groups → [Your Device] → Device Info, then contact Esper Support with this version information.
Web App feature is not appearing in the Esper Console after enablement
If your Account Manager has confirmed that enablement was processed but you still don't see the Web App option in your console, contact Esper Support to verify that the feature flag was applied correctly to your tenant.
Still need help?
If you encounter any issues or have questions about using dynamic placeholders in your Web App configuration, submit a support ticket and our team will assist you.
Please sign in to leave a comment.
Comments
0 comments