> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clickterm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating an app & template

> Set up your ClickTerm integration credentials and publish your first clickwrap template.

Before integrating ClickTerm into your app, you need to create an integration (to get your API credentials) and publish a template (to define the agreement content).

## Creating an app

Go to [Integrations](https://app.clickterm.com/integrations) and click **Add new app** to generate your credentials:

<Frame caption="Integrations page showing the form to add a new ClickTerm app">
  <img src="https://mintcdn.com/clickterm/Tkp_GRyJwpuLYp7_/dev/images/create_app.webp?fit=max&auto=format&n=Tkp_GRyJwpuLYp7_&q=85&s=559c657c95deff51f1f93383f51c9ccc" alt="Integrations page showing the form to add a new ClickTerm app" width="1304" height="880" data-path="dev/images/create_app.webp" />
</Frame>

<Info>
  You can have as many Apps as you need. This lets you manage **Clickwrap Templates** for different products.
</Info>

After creating the app, you'll receive your **App ID** and **App Key**. You will need these at different points of the integration — the App ID for the client SDK, and the App Key for backend verification.

<Frame caption="Confirmation dialog displaying a new App ID and App Key">
  <img src="https://mintcdn.com/clickterm/Tkp_GRyJwpuLYp7_/dev/images/app_created.webp?fit=max&auto=format&n=Tkp_GRyJwpuLYp7_&q=85&s=00861979477a96c85de1f393b4131b7f" alt="Confirmation dialog displaying a new App ID and App Key" width="1296" height="604" data-path="dev/images/app_created.webp" />
</Frame>

<Warning>
  Store your App Key in a safe place. It will not be shown again after this step, but you can regenerate it at any time. If you regenerate or delete it, you will need to update it on your backend.
</Warning>

## Creating a template

Create a new **Clickwrap Template** in the [Templates](https://app.clickterm.com/templates) menu. Use the rich text editor to write your agreement content. You can insert dynamic [placeholders](/dev/guides/placeholders) from the sidebar to personalize the clickwrap for each end user.

<Frame caption="Template editor showing placeholder tokens available for clickwrap content">
  <img src="https://mintcdn.com/clickterm/Tkp_GRyJwpuLYp7_/dev/images/create_content.webp?fit=max&auto=format&n=Tkp_GRyJwpuLYp7_&q=85&s=d3e79330e599969eac4701f67560226c" alt="Template editor showing placeholder tokens available for clickwrap content" width="3248" height="1516" data-path="dev/images/create_content.webp" />
</Frame>

## Publishing your template

You can save your content as a **Draft** at any time. When you are ready, click **Publish** — this locks the content and saves it as a new version. You can publish additional versions in the future if you need to make changes.

<Frame caption="Publish content version button">
  <img src="https://mintcdn.com/clickterm/Tkp_GRyJwpuLYp7_/dev/images/publish_content.webp?fit=max&auto=format&n=Tkp_GRyJwpuLYp7_&q=85&s=eaa8796a256682cdfb7fa6aa6e461b38" alt="Publish content version button" width="654" height="126" data-path="dev/images/publish_content.webp" />
</Frame>

During publication, you can specify:

* **Acceptance deadline** (`mustAcceptBy`) — The date and time by which end users are expected to accept the clickwrap. This field is optional and serves primarily as informational guidance; it does not automatically block access or enforce acceptance.
* **Effective at** (`effectiveAt`) — The date and time when the published version becomes effective and is presented to end users. Before this time, the previous version (if any) remains in effect. Note that the active version is determined by this timestamp, not by publish order — a newly published version does not become current until its **Effective at** time is reached.

<Info>
  The date and time you see in the ClickTerm UI are in your browser's time zone. They are automatically converted to UTC when processed.
</Info>

## Enabling the template

After publishing the template content, you must **Enable** the template from the Templates table to make it available for client clickwrap requests. You can **Disable** the template at any time to stop new requests from using it.

<Frame caption="Templates list highlighting the enable toggle for a template">
  <img src="https://mintcdn.com/clickterm/Tkp_GRyJwpuLYp7_/dev/images/enable_template.webp?fit=max&auto=format&n=Tkp_GRyJwpuLYp7_&q=85&s=aa9c314da4fa9d06212fb7725ba76e59" alt="Templates list highlighting the enable toggle for a template" width="1788" height="290" data-path="dev/images/enable_template.webp" />
</Frame>

<Warning>
  Make sure your Clickwrap Template is **Enabled** and has at least one content version in the **Effective** state (i.e. its **Effective at** time has already been reached) before attempting to request a clickwrap from the Client SDKs. A version that is still **Scheduled** will not be served yet.
</Warning>

Once your template is enabled, retrieve the **Clickwrap Template Id** from the templates list — you will need it in the SDK integration steps.

<Frame caption="Templates list showing all templates with their statuses">
  <img src="https://mintcdn.com/clickterm/Tkp_GRyJwpuLYp7_/dev/images/templates_list.webp?fit=max&auto=format&n=Tkp_GRyJwpuLYp7_&q=85&s=b5bfcf30968f123379a336ed2685765a" alt="Templates list showing all templates with their statuses" width="1220" height="634" data-path="dev/images/templates_list.webp" />
</Frame>

## Next steps

<CardGroup cols={2}>
  <Card title="Quickstart — Web SDK" icon="js" href="/dev/quickstart-web">
    Integrate ClickTerm into your web app.
  </Card>

  <Card title="Quickstart — Android SDK" icon="android" href="/dev/quickstart-android">
    Integrate ClickTerm into your Android app.
  </Card>
</CardGroup>
