# Create a Custom Auto Provisioning Template

A custom Auto Provisioning template lets you shape how a group of devices, or a single device, is configured, starting from one of the system's default templates. Use one when the default settings need adjusting, or when you need parameters the default template doesn't include. Once saved, a custom template can be applied wherever the matching phones are provisioned.

:::note
Auto Provisioning is how the phone system sends configuration to handsets automatically over the network, so you do not have to set up each phone by hand. A template defines the settings that get sent.
:::

## Types of custom template

Cloud Voice offers three kinds of custom template, depending on how far you need to go:

- **Basic**: Adjust the settings that a default template already exposes.
- **Advanced**: Adjust the default template's settings *and* append extra parameters for the phones you're targeting.

  :::note
  Check with your vendor that any parameters you add are supported by the phone model.
  :::
- **Custom Phone Model**: Upload configuration files for a model from a supported manufacturer that the system doesn't yet recognize. See [Upload a Template for a Custom Phone Model](/pbx/administrator-guide/upload-a-template-for-a-custom-phone-model/) for that workflow.

The rest of this page covers the Basic and Advanced templates.

## Create a basic template

Choose a basic template when everything you want to change is already available in a default provisioning template.

1. Sign in to the PBX (Private Branch Exchange, your phone system) web portal and go to **Auto Provisioning > Resource Repository > Custom Templates**.
2. Click **Add**.
3. In the **Basic** section, fill in the template's identifying details:
   - **Template Name**: A name you'll recognize later.
   - **Source Default Template**: The default provisioning template you want to base this one on.
   - **Template Type**: Select **Basic**. The settings carried over from the source template appear in the **Preference**, **Distinctive Ringtone**, **Codecs**, and **LDAP Directory** sections below.
   - **Remark**: Optional. A short note describing the template.
4. In the **Preference** section, change any of the preference settings inherited from the source template.
5. In the **Distinctive Ringtone** section, adjust the ringtone settings as needed.
6. In the **Codecs** section, pick the codec (coder-decoder, the format used to compress call audio) you want the devices to use.
7. In the **LDAP Directory** section, update the directory settings as needed. LDAP (Lightweight Directory Access Protocol) lets the phones look up a shared company phonebook.
8. In the **VLAN** section, set the VLAN (Virtual Local Area Network) options as needed.

   :::caution
   VLAN settings must match your network switch configuration. A wrong VLAN ID can leave a phone unable to reach the network, and it will fail to register.
   :::
9. Click **Save**.

## Create an advanced template

Choose an advanced template when the settings you need to push to your devices aren't part of any default provisioning template.

1. Sign in to the PBX web portal and go to **Auto Provisioning > Resource Repository > Custom Templates**.
2. Click **Add**.
3. In the **Basic** section, fill in the template's identifying details:
   - **Template Name**: A name you'll recognize later.
   - **Source Default Template**: The default template you want to base this one on.
   - **Template Type**: Select **Advanced**. The inherited settings appear in the **Preference**, **Distinctive Ringtone**, **Codecs**, and **LDAP Directory** sections, and a **Customize Configuration Parameters In Text** section appears containing every configuration parameter in editable text.
   - **Remark**: Optional. A short note describing the template.
4. In the **Preference** section, change any of the preference settings inherited from the source template.
5. In the **Distinctive Ringtone** section, adjust the ringtone settings as needed.
6. In the **Codecs** section, pick the codec you want the devices to use.
7. In the **LDAP Directory** section, update the directory settings as needed.
8. In the **VLAN** section, set the VLAN options as needed.
9. Add the extra parameters that the source default template doesn't provide.

   :::caution
   The inherited settings are represented by variables, each one begins with `{{.` and ends with `}}`. These variables tie the text fields back to the **Preference**, **Codecs**, and [**Function Keys**](/pbx/administrator-guide/auto-provision-function-keys-for-phones/) sections. Leave a variable in place if you still want to control that setting from the portal; editing it breaks that link.
   :::

   1. In the first text box of the **Customize Configuration Parameters In Text** section, enter your configuration parameters.

      :::note
      Confirm with your vendor that the parameters are supported for the device model.
      :::
   2. In the second text box, choose which function keys to apply for the phone model. You can also add your own function key parameters here.

      ![Advanced template editor with configuration text boxes for parameters and function keys](/images/pbx/custom-tempalte-function-key.png)
10. Click **Save**.
