Articles in this section
Authenticate Emails with SPF, DKIM, and SenderID Auto forward your emails to Vtiger Managing User Profiles Automate Outgoing Emails in Email Settings Automation - Approvals Automation - Assignment Rules Set up Multi-path Workflows Creating a Scheduled Workflow Automation - Scheduler Creating a Workflow Webforms in Vtiger CRM Set up a Workflow Action to Create Event Set up a Workflow Action to Create Records Set up a Workflow Action to Create Task Set up a Workflow Action to Create an SMS Task Set up a Workflow Action to Send Mails Set up a Workflow Action to Update Fields Automation - Workflow Action - Webhook Automation - Workflows - Vtiger Expressions Configuration - Business Hours Configuration - Company Details Configuration - Consents Configuration - Customer Portal Maps in Vtiger CRM Configuration - Usage Details Configuring Encrypted Data Fields in Vtiger CRM Configure Picklist Dependencies Considerations for Deactivating Vtiger Users Control Fields and Record Displays using Configuration Editor Create Reminders for Records and Inbox Create a field of a Grid type Dealing with Currencies and Taxes Enable Desktop Notifications on Chrome Web Browsers Vtiger CRM Add-ons IMAP Configuration - 2-way sync between Vtiger and IMAP providers Setting up Autopay & Payment Gateways Inventory - Tax Management Inventory - Terms and Conditions Login to Vtiger on SSO SAML using ADFS Mailroom Functionality for Different Scenarios Manage Multiple Currencies Marketing and Sales - Deal to Project Mapping Marketing and Sales - Lead Conversion Data Mapping Marketing and Sales - Profile Scoring Module Management - Labels Editor Module Management - Module Numbering Configure My Preferences Feature My Preferences - Calendar Settings Tags in Vtiger My Preferences - Notification Preferences SAML Support in Vtiger CRM Vtiger Mailroom Settings - Configure Module Settings Settings - Create Dynamic Fields and Layouts Module Management - Creating a Relationship Between Modules Settings - Customize Records and Fields for your Business Settings - How to set email autoresponder to Webform submission? Settings - Left Menu Settings - Manage Global Picklists in Vtiger Settings - Set up your Support Team Settings - Start Up Page Settings - Working with Picklist Values Module Management - Module Builder Support - SLA Policies Troubleshooting Login Issues Add-Edit Unsubscribe Links in your Email Template User Management - Authentication User Management - Encrypted Field Access Logs User Management - Groups User Management - Login History User Management - Profiles User Management - Roles User Management - Settings Log User Management - Sharing Rules User Management - Users User Management - Vtiger Support Access Vtiger Buzz - Chrome Extension for Notifications Vtiger Implementation wizard Vtiger Language Support Configuring Websense Trackers Websense - Widgets Module Management - Module Layouts & Fields Generate and Manage Third-party App Passwords in Yahoo Configuring App Passwords for Gmail Outgoing Server and Yahoo Mail Configuration - Storage Guard Customizing your Self-Service Portal Theme Using CSS Styles Automation - SMS Reply Actions Adding Hidden Fields to a Webform Configuring Dependent Fields and Blocks for Modules Auto forward Emails from Microsoft Office 365 Adding Custom Module Login Page Customization Settings - Personalize Module Layouts Module Management - Modules Duplicate Prevention in Modules Formula Fields Creating Custom Filters Adding a local DNS Entry

Set up a Workflow Action to Invoke Custom Function

The Workflows module provides you with a simple interface to add custom actions that execute on saving an entity.
R
Ruba
29 Dec, 2023 - Updated  1 year ago

Invoke Custom Function - A Workflow Action

The Workflows module provides you with a simple interface to add custom actions that execute on saving an entity.

Vtiger has a Custom Task function of entity method tasks that calls certain methods on Vtiger entity objects. Custom Tasks provides a way for developers to add custom actions to workflows. Let us walk through creating a Custom Task.

For example, if you want to compute a natural Math Log as a custom operation, then first, we need to register a method that will perform the operation. The method needs an operation name, a file path (can be anywhere, even in a custom module), and a function name.

Let’s say you have a custom module called Deals. You can register a method in the post-install event(vtlib_handler API of Deals.php file) of the module. The event is triggered after the module is installed. 

For more details on how to write a module, click here.

 

Note: We have taken the example of the Deals module only for better understanding. Deals is a default Vtiger module and is available in the Sales and All-in-one editions. To learn about Deals, click here.

 
 
 

Setting up the workflow

Follow these steps to set up the workflow with a custom function:

Accessing the workflow page:

  1. Click the User Menu on the top right corner of the screen
  2. Click the Settings button
  3. Look for the Automation section
  4. Select Workflows
  5. Click the +New Workflow button
  6. Select Standard

Entering the basic information:

  1. Select the Target Module 
  2. Enter workflow name, status, etc

Select the workflow trigger:

  1. Select the Workflow Trigger

Set up the workflow entry criteria:

  1. Click the +Add Condition button
  2. Enter the condition that must be satisfied for the workflow to execute.

Note: To learn about the basic information, trigger, and entry criteria, click here.

Set up the action:

  1. Click the Add Action drop-down
  2. Select Invoke Custom Function
    • This opens a window where you must enter the Action Title
  3. Enter the Action Title
  4. Click Save to save the action
  5. Click Save to save the workflow
Note: If you want to update the Purchase cost of Products based on the List price given for the Product in the latest Purchase Order, do the following:
  • The admin has to select the custom function when creating a workflow for PO,
  • The custom function will update the Item's Purchase Cost based on the following formula:
    • ((Qty*List price)-Item level discount)/ Qty
  • This should update the Purchase cost for all the Items selected in the PO/Bill.
  • The latest selected price is recorded if the same product is selected in the PO or Bill more than once.
    • For example, if the product - Glass is selected in the 3rd and 7th fields with prices of 400 and 600, respectively, then the price of the 7th field, that is 600, is recorded.
  • Ensure that the ModTracker entry should be added to the Product and the Product or service workflow should not be triggered.
Related articles
Creating a Workflow Set up a Workflow Action to Create Event Set up a Workflow Action to Create Task Set up a Workflow Action to Create Records Set up a Workflow Action to Update Fields
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