diff --git a/Riot/Riot-Defaults.plist b/Riot/Riot-Defaults.plist
index 954859b75..7b9df11ce 100644
--- a/Riot/Riot-Defaults.plist
+++ b/Riot/Riot-Defaults.plist
@@ -24,6 +24,10 @@
https://riot.im/beta
webAppUrl
https://riot.im/app
+ integrationsUiUrl
+ https://scalar.vector.im/
+ integrationsRestUrl
+ https://scalar.vector.im/api
apnsDeviceToken
showAllEventsInRoomHistory
diff --git a/Riot/Utils/Widgets/WidgetManager.m b/Riot/Utils/Widgets/WidgetManager.m
index ce390a05c..1dbf43c80 100644
--- a/Riot/Utils/Widgets/WidgetManager.m
+++ b/Riot/Utils/Widgets/WidgetManager.m
@@ -181,10 +181,11 @@ NSString *const WidgetManagerErrorDomain = @"WidgetManagerErrorDomain";
NSString *confId = [room.roomId substringWithRange:NSMakeRange(1, [room.roomId rangeOfString:@":"].location - 1)];
confId = [confId stringByAppendingString:widgetSessionId];
- // TODO: This url may come from modular API
+ // TODO: This url should come from modular API
// Note: this url can be used as is inside a web container (like iframe for Riot-web)
// Riot-iOS does not directly use it but extracts params from it (see `[JitsiViewController openWidget:withVideo:]`)
- NSString *url = [NSString stringWithFormat:@"https://scalar-staging.riot.im/scalar/api/widgets/jitsi.html?confId=%@&isAudioConf=%@&displayName=$matrix_display_name&avatarUrl=$matrix_avatar_url&email=$matrix_user_id@", confId, video ? @"false" : @"true"];
+ NSString *modularRestUrl = [[NSUserDefaults standardUserDefaults] objectForKey:@"integrationsRestUrl"];
+ NSString *url = [NSString stringWithFormat:@"%@/widgets/jitsi.html?confId=%@&isAudioConf=%@&displayName=$matrix_display_name&avatarUrl=$matrix_avatar_url&email=$matrix_user_id@", modularRestUrl, confId, video ? @"false" : @"true"];
NSString *hash = [NSString stringWithFormat:@"%p", room.mxSession];
successBlockForWidgetCreation[hash][widgetId] = success;