Articles in this section
Server Scripts & Jobs Overview Using Custom Server Scripts in Processes, Workflows, and Approvals Running Custom Background Tasks with Vtiger Server Jobs Helper Method for Server Scripts and Jobs - Debugging Helper Method for Server Scripts and Jobs - HTTP Request Helper Methods for Server Scripts and Jobs - Vtiger REST API Server Scripts Example - Contact Email Validation and Data Enrichment Server Scripts Example - Update Credit Score of a Contact Server Scripts Example - Calculate Organization Outstanding Invoice Amount Server Scripts Example - Set Case SLA by Created Day Server Jobs Example - Importing Daily Leads from a File Server Jobs Example - Update Stocks Weekly in Warehouse System Server Side Scripts & Jobs User Guide

Writing Code for Server Scripts and Jobs

This article gives you a checklist on how to write codes for the Server Scripts and jobs in Vtiger CRM.
A
Abdul Sameer
19 Apr, 2024 - Updated  11 months ago

Writing Scripts

  • Scripts & Jobs are written in Javascript (ES5).
  • As of now, other programming languages are not supported.
  • All the code must be within the main() method. Anything outside this method will not execute.
  • The main method is invoked automatically and you do not need to call it.
  • You can utilize basic JavaScript methods like Math functions, JSON, String, etc.
  • You can also use helper methods provided like HTTP request methods, Vtiger’s REST API methods, and log methods for debugging.
 

Helper Methods

Following are a few helper methods provided which are available by default to make your work easier:

  • Debugging methods: To make coding easier and debug, there is a log() method. Logs added can be viewed while test execution and in script/job logs. You can also use JavaScript's console methods to debug.
  • HTTP request methods: To send HTTP requests to external services, methods are available (vtap.macro.http)
  • Vtiger REST API methods: To make REST API calls to the CRM instance, you can use vtap.macro.ws

To learn more about helper methods and see code in action, refer to the below examples 

Constraints

  • Code must be within the main() method, anything outside will not be executed.
  • Server script execution has a limit of 15 sec and 32 MB of memory.
  • Hourly server jobs can run for up to 90 sec with 128 MB of memory.
  • Other server jobs can run for up to 4 mins with 128 MB of memory.
  • Scheduled workflows or processes cannot use server scripts.
  • Daily execution limits apply to server scripts and jobs. If exceeded, they run the next day or are skipped.
  • Certain JavaScript methods like setTimeout, setInterval, and eval are restricted due to potential security risks or delays in execution.
  • Importing external modules using require or import is restricted for security reasons.
  • Use await instead of .then() to handle promises from HTTP requests and Vtiger's REST API methods.
  • Use try-catch to handle errors from requests and REST API methods.
  • HTTP requests are only allowed for secure websites (https) with valid SSL certificates.
  • Direct IPs, localhost, and Vtiger domains are not allowed for HTTP requests, except the CRM instance URL where the script is invoked.
Related articles
Server Scripts & Jobs Overview Using Custom Server Scripts in Processes, Workflows, and Approvals Running Custom Background Tasks with Vtiger Server Jobs Server Scripts Example - Update Credit Score of a Contact Server Scripts Example - Contact Email Validation and Data Enrichment
Home Privacy Policy Terms of Service Security Center Policy & Legal Center Contact Us
© Copyright 2025 Vtiger. All rights reserved.
Powered by Vtiger
Facebook Twitter Linkedin Youtube