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.