Feature: Launch options

Build a single app that adapts to different contexts, including the host page for embedded apps. Launch options are accessible from formulas.

You’ve built a loan calculator that your clients love. Then they ask: “Can you make one for our mortgage division? Different rates, our logo, our colors?” So you duplicate the app and customize it.

Then the car loan team reaches out, making the same request. More duplication. Then the business loan department. Soon you’re maintaining four identical apps that differ only in branding and a few parameters.

Every bug fix needs to be applied four times. Every improvement gets rolled out four times. Every formula update requires four separate edits. You’ve multiplied your maintenance burden by the number of variations you support.

This multiplication problem affects anyone building apps for multiple contexts: consultants serving different clients, companies with multiple divisions, agencies creating branded calculators for various websites.

Launch options eliminate this duplication entirely and are available today.

This feature is only available in our White Label plans introduced in 2023.

How launch options work

Launch options are values passed to your app through its address. Instead of building separate apps, you build one app that reads these values and adapts accordingly.

Here’s a standard app address:

connect.calcapp.net/?app=abc123

Here’s the same app with launch options:

connect.calcapp.net/?app=abc123#Client=MortgageCorp&InterestRate=3.5

Now your single app can display MortgageCorp’s branding and use their specific interest rate — all without touching the core app.

Different clients get different addresses pointing to the same underlying app:

  • Mortgage division: #Client=MortgageCorp&InterestRate=3.5
  • Auto loans: #Client=AutoLoans&InterestRate=4.2
  • Business credit: #Client=BusinessCredit&InterestRate=6.1

One app, unlimited variations. When you fix a bug or add a feature, every variation benefits immediately.

Defining launch options

When you open your app in Calcapp Creator, you’ll notice that there’s a new section in the inspector:

Setting launch codes in the inspector

To add your first launch option, simply start typing a name (no spaces). To add another one, start typing in the newly-revealed empty space.

Launch options are either numbers, text strings or logical values (TRUE or FALSE). That matters when you use them in formulas — you won’t be able to apply SUM to a text string, for example.

Setting launch option values

When you publish an app that uses launch options (using the Publish app button), you’ll see a new step for setting launch option values:

Setting launch codes in the inspector

When you proceed to the next step, your launch option values are part of your app’s address.

If you like, you can also set launch options just by changing the address manually. However, note that text strings in particular can be tricky. Having Creator create your app links for you, including launch parameter values, is the safer choice.

Using launch options from formulas

As you have no doubt seen from the screenshots above, use LaunchOptions to access the values you have set for your launch options:

App.LaunchOptions!InterestRateApp,LaunchOptions!InterestRate
App.LaunchOptions!ClientApp,LaunchOptions!Client

Most of Calcapp’s many properties can set be through formulas, which can now take launch options into account.

What if you want a logo to be visible only if the client is Contoso? Add a new text box for the logo and use this formula with its Visible property:

App.LaunchOptions!Client = "Contoso"App,LaunchOptions!Client = "Contoso"

What if you want the colors of your app to match the brand colors of your client? Associate a formula like the following with properties like BackgroundColor, PrimaryColor and AccentColor on your first screen:

SWITCH(App.LaunchOptions!Client, "Contoso", COLOR("#fa43ae"), "Acme", COLOR("#bb23ca"))SWITCH(App,LaunchOptions!Client; "Contoso"; COLOR("#fa43ae"); "Acme"; COLOR("#bb23ca"))

Launch options pair perfectly with the new FirstScreen property of an app. Read the announcement post for an example.

The end of app multiplication

Launch options transform how you think about building apps for multiple contexts. Instead of asking “How many copies do I need?” you ask “What should vary between contexts?”

That loan calculator that started as four separate apps? Now it’s one app with launch options for client branding, interest rates and loan types. One app to maintain. One place to fix bugs. One location for improvements.

Whether you’re a consultant serving multiple clients, a company with various divisions or an agency building branded calculators, launch options let you scale your apps without multiplying your workload.

« Feature: Customize the first screen shown Feature: Redesigned publishing workflow »