ModulesGarden Documentation
Back Home Home

App Templates Tool

  • Navigation
    • Main Page
    • ModulesGarden Website
    • Help
  • WHMCS Modules
    • Abandoned Cart
    • Account Synchronization
    • AdminBolt Licenses
    • Advanced Billing
    • Alibaba Cloud Virtual Machines
    • Amazon EC2
    • Amazon Lightsail
    • Anti-Fraud And Email Verification
    • Client Area Designer
    • Client Area Popup
    • Client Profile Viewer
    • Cloud Billing
    • cPanel Extended
    • cPanel Manage2
    • CRM
    • DigitalOcean Droplets
    • DirectAdmin Extended
    • DirectAdmin Licenses
    • Discount Center
    • DNS Manager
    • Domain Allocator
    • Domain & Email Forwarding
    • Domain Orders Extended
    • Domains Reseller
    • EasyDCIM Colocation
    • EasyDCIM Dedicated Servers
    • Email Notifications Organizer
    • Emoji Picker
    • EURid Registrar
    • Expense Tracker
    • Freshdesk
    • Freshservice
    • Geolocation Hook
    • GoDaddy Domain Registrar
    • GoGetSSL
    • Google Analytics
    • Google Cloud Virtual Machines
    • Google Workspace
    • Hetzner Cloud Servers
    • Hosting Quota Notifications
    • Hosting Renewals
    • IBM Cloud Virtual Servers
    • IP Manager
    • Lagom Smart Order Form
    • Login-Free Payments
    • Marketing Triggers Automation
    • MetricsCube Business Analytics
    • MikroTik WireGuard VPN
    • Multibrand
    • NIC IT Registrar
    • Office 365
    • OpenStack Projects
    • OpenStack VPS & Cloud
    • OVHcloud VPS & Dedicated Servers
    • Password Manager
    • Payment Gateway Allocator
    • Payment Gateway Charges
    • Plesk Extended
    • Plesk Key Administrator
    • Portainer Docker Containers
    • Premium Support Tickets
    • Product Cross-Selling
    • Product Feedback Center
    • Product Free Trial Manager
    • Product Linker
    • Products Reseller
    • Proxmox Mail Gateway
    • Proxmox VE Cloud VPS (Legacy)
    • Proxmox VE VPS & Cloud
    • QuickBooks Desktop
    • QuickBooks Online
    • QuickBooks Online Survey
    • Quotes Automation
    • R1Soft Backups
    • Rackspace Email Extended
    • Recurring Contract Billing
    • Report Generator
    • Resellers Center
    • Server Allocator
    • Secure Support Messages
    • Server Monitoring
    • SMS Center
    • Social Media Login
    • SolusVM 2 VPS & Cloud
    • SolusVM Extended VPS
    • SolusVM Extended Cloud
    • SolusVM Extended Reseller
    • Stripe SEPA Payments
    • Support PIN
    • Support Tickets Allocator
    • Time & Task Manager
    • Unban Center
    • Virtuozzo Hybrid Infrastructure S3
    • Virtuozzo Hybrid Server
    • Vultr VPS
    • WithoutDNS
    • WordPress Manager
    • Zendesk
    • Zimbra & Carbonio Email
  • Legacy Versions
    • Advanced Billing 3.X
    • Domain Orders Extended 2.X
    • Domains Reseller 1.X
    • EasyDCIM Colocation V1.X
    • EasyDCIM Dedicated Servers V1.X
    • EasyDCIM Dedicated Servers V2.X
    • Hosting Quota Notifications 1.X
    • Hosting Renewals 2.X
    • IP Manager 2.5.X
    • Lagom One Step Order Form 1.2.X
    • Multibrand 1.X
    • Office 365 1.0.0
    • Payment Gateway Charges 1.X
    • Proxmox Cloud 2.X
    • Proxmox VPS 2.X
    • Quotes Automation 1.X
    • Recurring Contract Billing 1.5.X
    • Report Generator 3.X
    • Resellers Center 2.X
    • SMS Center 2.X
    • Unban Center 1.X
    • Zimbra Email For WHMCS
    • Zimbra Email 1.X
  • WHMCS Module Bundles
    • Accounting
    • Commerce
    • CRM
    • Customer Experience
    • Domain Reseller
    • Hosting Accounts Provisioning
    • IaaS VPS And Cloud Provisioning
    • On-Premises VPS And Cloud Provisioning
  • WHMCS Widgets
    • Freshdesk Customer Widget
    • ModulesGarden Widget
    • WHMCS Widget For Zendesk
  • Tools And Applications
    • Access Control Tool
    • App Templates Tool
    • Automations Tool
    • Logs
    • Proxmox Proxy Application
    • Task Queue Tool
    • Theme Management Tool
  • Translations
    • Translations Tool
    • Translations
    • Polish Language Translation
    • Polska Wersja Językowa (PL)
  • General
    • 7-Day Free Access
    • How To Change WHMCS Module Language
    • How To Debug Module
    • How To Solve Problems With Module License
    • How To Change WHMCS Module Design
    • How To Update WHMCS Module
    • How To Upgrade WHMCS Module
    • How To Use Configurable Options
  • FAQ
    • Common Questions
    • WHMCS Module Bundles
  • Community
    • Forums
    • Blog
    • Facebook
    • X
    • LinkedIn
    • Instagram
    • Reddit
    About App Templates Tool Management

# App Templates Tool

  • About App Templates Tool
  • Management
    • Applications
    • Groups
    • Advanced Configuration
      • Adding Applications Manually
      • Including Cloud-Init / User-Data Scripts
      • How To Use Variables

# About App Templates Tool

The App Templates tool allows you to manage ready-to-use application templates that clients can install directly on their virtual machines.

Templates are created in the Applications tab and grouped in the Groups tab, which can later be assigned to products.
This feature provides a simple way to manage templates and organize groups, ensuring clients can deploy preconfigured applications on their VPS with ease.

# Management

The App Templates section in the admin area consists of two main parts: Applications and Groups.
You can create templates under the Applications tab and gather them into groups under the Groups tab.
For clients to install applications on their VPS, the product must include an Application Group and allow App Templates in the client area.

# Applications

Read the guide carefully as it explains the key functions of the App Templates feature.
You can hide the information panel after reading by clicking the “Hide” button.

Switch between Applications, ISO Images, Operating Systems, and Snapshots using the available tabs.
Keep in mind that the applications section differs per module. The following example comes from the Vultr VPS module.

Use the refresh button to download and update the list of templates from your connected platform.

Once the templates are loaded, you can use the action buttons to edit, duplicate, or delete them.
Mass action buttons are also available for bulk operations.

# Groups

After preparing your templates, group them to make them available to clients through selected products.
Go to App Templates → Groups and click on Create.

When creating a group, provide:

  • Name
  • Description

Templates to include

You can edit or delete groups individually or use mass actions to manage several at once.

To make templates available for installation, go to the product’s module settings and select the desired groups under App Templates Configuration → Default Application Group.
Also, ensure that the App Templates option is enabled under Client Area Features.

# Advanced Configuration

The App Templates feature supports detailed configuration, including manual application addition, user-data scripting, and advanced variables.
The examples below illustrate these options.

# Adding Applications Manually

  1. You can manually add a single application instead of importing all templates at once.
  2. Navigate to App Templates → Applications and click on Create.
  1. List the supported applications provided by your virtualization platform’s API.
    Each platform has different API endpoints to retrieve application data.
    In the case of Vultr, the command to access the list can be found in the official documentation (opens new window).
    Make sure to include your API Key, the request looks like this:
curl "https://api.vultr.com/v2/applications" \   
-X GET \   
-H "Authorization: Bearer ${VULTR_API_KEY}"   

Example result:

{
"applications": [
{
"id": 1,
"name": "LEMP",
"short_name": "lemp",
"deploy_name": "LEMP on CentOS 6 x64",
"type": "one-click",
"vendor": "vultr",
"image_id": ""
}
  1. Enter the application details such as Name, Description, Status, and optionally assign an icon.
    We recommend using the name or deploy_name from the API response for easier reference.
  1. Edit your new application and open the Setting Details section.
    Create entries based on the API output - each entry corresponds to a parameter used when deploying the application.

For example, if the API returns:

"id": 1,   
"image_id": "",   
"user_data": ""   

then create fields such as id, image_id, and optionally user_data if supported.

Each field includes:
Name – the parameter name (same as in the API)
Default Value – the API’s value or your preferred default
Visibility – whether the client can modify the value
Validation – optional Laravel validation rule (opens new window), e.g. required

# Including Cloud-Init / User-Data Scripts

If the selected application or system image supports user-data or cloud-init scripts, the user_data field will appear automatically.
This field lets you execute initialization tasks such as writing configuration files or running commands on first boot.

Example:

#cloud-config
write_files:
 - path: /etc/motd
   content: |
     Welcome to your server, {$client.email}!

runcmd:
 - apt update
 - apt install nginx -y

If Visibility is enabled, the client can modify the script before deployment. Otherwise, it will execute silently on creation.

# How To Use Variables

You can use merge fields (variables) to dynamically insert values into script content or configuration fields.
Supported variables depend on the module and provisioning context. Examples include:

  • {$service.id} - the WHMCS service ID
  • {$client.email} - client’s email address
  • {$password} - the generated password for the instance
  • {$hostname} - server hostname
  • {$domain} - domain name of the service
    Variables can be used in any editable text field, for example:
write_files:
 - path: /etc/motd
   content: |
     Welcome to {$hostname} managed by {$client.email}!