Hi there,
I am trying to create deep link in email to call a screen in a mobile app:
com.outsystems.ibdeeplink://DeepLinkMob/TestMe
but it does not work, saying:
com.outsystems.ibdeeplink's server ip address could not be found.
But it works if i run in outsystems reactive web using Redirect to URL.
How to solve this?
thanks
To implement the “short timeout” before a fallback, use setTimeout in the same JavaScript where you trigger the deep link.
setTimeout
Example for your redirect screen (Reactive/Web):
// 1. Try to open the mobile app window.location = 'com.outsystems.ibdeeplink:///DeepLinkMob/TestMe?Code=' + $parameters.Code; // 2. After N ms, go to fallback (e.g. store or web screen) setTimeout(function () { window.location = 'https://yourserver.com/FallbackOrStore'; }, 3000); // 3000 ms = 3 seconds
Key points:
If you want the timeout to be configurable, pass the value from an input parameter or site setting and concatenate it into the JS instead of hard‑coding 3000.
3000
You’re mixing two different things:
In an email, when you click com.outsystems.ibdeeplink://DeepLinkMob/TestMe, your device/email client is trying to resolve it like a web URL, so it looks for a server named com.outsystems.ibdeeplink and fails with “server IP address could not be found”. That’s why it works in Reactive (Redirect to URL) but not from the email.
com.outsystems.ibdeeplink
For an OutSystems mobile app the deep link syntax is:
<app_identifier>:///<Module>/<Screen>?Param1=...&Param2=...
Notes:
app_identifier
Example:
com.outsystems.ibdeeplink:///DeepLinkMob/TestMe
If the screen has an input parameter, for instance Code, you’d use:
Code
com.outsystems.ibdeeplink:///DeepLinkMob/TestMe?Code=123
Deep-link syntax reference: How to define Mobile App deep links
Several email clients / mobile OSes do not automatically treat custom schemes (com.outsystems.ibdeeplink://) as clickable links, or they try to open them as normal URLs (hence the DNS error). This is a known limitation mentioned in similar forum threads. Deep link inside email
com.outsystems.ibdeeplink://
Also:
A common pattern is:
In the email, don’t send com.outsystems.ibdeeplink://....
com.outsystems.ibdeeplink://...
Send a normal HTTPS link, e.g.:
https://yourdomain.com/DeepLinkRedirect?code=...
That link opens a web screen (Reactive/Web) which:
Detects the device (JS)
Attempts to open the deep link:
window.location = 'com.outsystems.ibdeeplink:///DeepLinkMob/TestMe?Code=...';
If the app doesn’t open in a short timeout, redirect the user to a fallback URL (e.g. App Store / Play Store or a web version).
This “redirect page + JS” approach is what OutSystems also recommends and what community components implement (“Deeplink Web” / “Deferred deep linking”). Deep link inside email
If you share which OS you’re testing on (iOS/Android) and the email client, I can outline a more specific JS snippet and fallback flow.
Put the window.location (deep‑link) JavaScript in a Client Action that runs on screen load, typically in the On Initialize (or On Ready) of the Reactive/Web screen that you open from the email.
window.location
Flow is:
Email link
https://yourserver.com/DeepLinkRedirect?Code=123
DeepLinkRedirect Screen
Has a Client Action set on its On Initialize (or On Ready).
Inside that action you place a Run JavaScript node:
window.location = 'com.outsystems.ibdeeplink:///DeepLinkMob/TestMe?Code=' + $parameters.Code;
Optionally, after a short timeout, redirect to a fallback URL (store/app download).
This way the email only opens a normal web page (which all clients support), and that page immediately runs the JavaScript to trigger the custom‑scheme deep link. Implement deeplink in react web application