Skip to main content

URL Schemes

The Communic8 platform includes a mobile app, typically installed via the Apple or Google Play stores.

When installed, the Communic8 mobile app registers one or more URI / URL Schemes on the device to facilitate programmatic interaction. For example, when a person opens an email from the Communic8 platform and clicks on a link in that email, URL Schemes are involved in the process of automatically opening of the Communic8 mobile app to the correct state.

An example URL for a Communic8 URL Scheme is:

c8internal://about

Where c8internal is the scheme indicating the Communic8 mobile app and about is the path within the app (in this case the app about page).

Schemas​

App NameEnvironmentRestrictionSpecific Scheme
Communic8ProductionN.Ac8
WorkforceXProductionN.Aworkforcex
C8 TestTestN.Ac8test
C8 PentestCustomCustom Pentesting Envc8pentest
C8 DevelopmentTest / Customc8development
C8 HotfixHotfixN.Ac8hotfix
C8 StagingTestN.Ac8stage

All of the above applications register:

  • c8internal
  • wfxinternal

These "internal" URL Schemes are (despite their names) registered system-wide. These are used when you (the link creator) doesn't mind which application the end user has installed. Since multiple apps register these two schemes you can get a race condition when launching via the system in multi-app conditions. As such, it's recommended to either launch the internal schemes from within a C8 application, from the in-app QR Code Scanner or use an app-specific scheme outlined above.

The app specific schemes are unique to each application. These are schemes that should be used when launching system-wide or where you require the URL to be handled by a specific app (this is used internally... this is the basis for how inter-app communication is performed).

Operations​

All the above schemes (internal & app specific) all support the same "operations" or paths.

PathParamsExample
bookmarkc8internal://bookmark
feedOne of campaignID, broadcastID or publicCampaignID are requiredc8internal://feed?publicCampaignID=xxxx
about
urlscheme and path are required. message, title, continueButtonLabel and inapp are optionalc8internal://url?scheme=https&path=google.com&message=Take%20me%20to%20Google&title=Example&continueButtonLabel=launch%20me&inapp=true
messagetitle & message are requiredc8internal://message?title=Example%20Alert&message=Just%20a%20heads%20up
contacts
medialibrary
internalappbuilder
internalshowlogs
internaleventlog
internalenabledebug
internaldisabledebug
internalchangeiconname requiredc8internal://internalchangeicon?name=xxxxxx
internalclearcache
triggerapplicationcrash
changehubsystem
generateloginqrcode
addaccount
debug
profileclearCache optional. As of 8.8.2 a new editProfile=true param was added to take the user directly to the Edit Profile Pagec8internal://profile?clearCache=true or c8internal://profile?editProfile=true
int-reportid or code required (as of >=6.2.1, pre 6.2.1 - just id required)c8internal://int-report?id=xxxx
categoryname requiredc8internal://category?name=xxxx
collectionname requiredc8internal://collection?name=xxxx
contactid required. If >=6.2.1, either id or email is required.c8internal://contact?id=xxxx
scanqrcode
sysdiaghelpc8internal://sysdiaghelp
addtocalendartitle, startDate and endDate are required. location and description are optional. Only supported in 7.3.0 and above.c8internal://addtocalendar?title=Example%20Event&description=Exmple%20Event%20Description&loction=Example%20Location&startDate=2023-07-06%2020%3A00%3A00Z&endDate=2023-07-06%2021%3A00%3A00Z
logeventname is the only required parameter. Any additional parameters will be passed through into the log event. Only supported in v8.1.0 and above.c8internal://logevent?name=Example%20Event&id=123
dialogtitle, message, icon, qrData and showShareButton are all optional. Supported in 8.3.0 and above.c8internal://dialog?title=Scan%20me&message=Just%20an%20example%20message&icon=solid%20qrcode&qrData=c8internal%3A%2F%2Fabout&showShareButton=true
channelid is optional, changes behaviour to launch a specific channel not list of channels. In 8.7.0 support for chatOnly to hide channel feed.c8internal://channel
launchbusinessappid is required. Supported in 8.6.0c8internal://launchbusinessapp?id=123
chatids or channelId are required. ids is expected to be a JSON string of recipient ids for a group chat or channelId for channel chat.c8internal://chat?ids=["123", "456"] or c8internal://chat?channelId=123
campaigneditorid is required, added in 8.8.0c8internal://campaigneditor?campaignId=xxxxx

Additionally, there are some properties that can be added to any of the above operations:

Parameter KeyExamplePurpose
clientIdc8internal://about?clientId=teamEnsures the correct instance handles the request. In >=6.3.0 this will prompt the user to sign in if the instance isn't already setup.
localAuthc8internal://about?localAuth=truePrompts the user to authenticate with their biometrics or device passcode before executing the action of the URL. Only available in v>=8.1.0 and on instances configured with local authentication options eventDriven, enabled or required.