Creating an App

Requirements:

Before you can start building apps you should ensure that all of the following apply to you.

  • You must have a Partner Account and access to the Partner Portal
  • You are intending to build apps that can be installed on other Thinkific sites, if you are building a private app, go to our API documentation

Creating your first app

When creating your first app from within your Partner account, you will be expected to provide the following required information:

1. App Name

This will be used to identify your app to course creators when installing it on their site.

2. App URL

This is the URL where your app will be hosted. This link is available to course creators to easily navigate to your app.

3. Callback URLs

You must include at least one callback URL. Course creators will be redirected back to these white-labelled URLs when they complete the install of the app.

Once your app is created, you will be provided with a Client Key and a Client Secret. Use your key/secret to authenticate your app once its installed on a Thinkific site.

Choosing your app's authentication method

When installing your app on a client's site, you can choose to authenticate using an authorization code flow, or an implicit flow depending on the purpose and function of your app.

Learn more about each flow here: OAuth Flow for app authentication

Installing your app on a Thinkific Site

When managing an app in your Partner tools, you have the option to quickly install the app on a client site by using the available Installation UI (see below) and a site subdomain. This tool will install your app on a qualifying site using the implicit flow.

However you can easily replicate and customize this functionality on your own pages to build an install link that your customers can use to install your app on their site.

<script type="text/javascript">
  function buildURL(subdomain) {
    var client_id = "your_app_client_id"
    var redirect_url = "your_redirect_url"
    var response_type = "token" // or 'code' for authorization code flow

    var url =
      "https://" +
      subdomain +
      ".thinkific.com/oauth2/authorize?client_id=" +
      client_id +
      "&redirect_uri=" +
      redirect_url +
      "&response_type=" +
      response_type
    return url
  }

  function installApp(event) {
    window.location.href = buildURL(document.getElementById("subdomain").value)
    return false
  }
</script>
<form onsubmit="return installApp()">
  <input
    id="subdomain"
    type="text"
    name="subdomain"
    placeholder="Thinkific Subdomain"
  />
  <button class="button" type="submit" id="install">
    Install on Thinkific
  </button>
</form>

Fill out your app's profile

Though not immediately required to begin building your app, there is additional information that you will be expected to add to your app settings before distributing to course creators. This includes:

1. Description (required)

This is a description of what your app will do for course creators. This is displayed to customers during the app's installation flow so you'll want to make sure it accurately represents the functionality that you are providing.

2. Customer support email (required)

This email is displayed to customers during the install flow and in their app management view so they know who to contact when they require support using your app.

3. App icon URL The app icon is displayed everywhere the app is displayed to customers. Recommended icon size: 64px by 64px

4. API contact email This email is used by Thinkific to communicate important information about your app and API changes that require your action.

5. App website This is your Marketing website or landing page, which you can use specifically for marketing and selling your app.

Up Next: Submit your App for Approval