Email Alerts
Imagine you want to send offer mails to customers purchasing over a certain amount. You can create a mail template and map it to the workflow with the invoice amount condition. Whenever an invoice value exceeds your limit, an offer email will be triggered to the customer.
Field | Description |
---|---|
Name | Provide a unique name for the email alert. |
Module | Select the module for which you wish to create an email alert. |
Email Template | You can pick a template from the drop-down or click + New Email Template to create a new template. |
Email Recipients | Pick contacts from the drop-down to whom you wish to send the email alerts. |
Additional Recipients | If you wish to send out email alerts to more people, enter their email addresses separated by a comma. Please note that you can add a maximum of 10 additional recipients. |
- Navigate to Settings > Automations > Workflow Actions and click +New Email Alert.
- Fill out the required details and choose your email template.
- Click Save.
You have now successfully configured an email alert. The email will be triggered to the recipients once the set conditions are met.
Note
- You can create a maximum of five email alerts for each workflow rule.
- A maximum of 500 email alerts can be triggered per day.
Actions on email Alerts
Edit Email Alerts
You can modify the email alert and change it into a different email alert.
- Navigate to Settings > Automations > Workflow Actions and click +New Email Alert.
- Hover over the email alert and select Edit in the drop-down.
- Make the required changes and click Save.
Delete Email Alerts
You can delete any email alerts that are no longer useful.
- Navigate to Settings > Automations > Workflow Actions and click +New Email Alert.
- Hover over the email alert and select Delete in the drop-down.
- Click Yes in the pop-up screen to delete the email alert.
Once deleted, email alerts can't be reverted.
Field Updates
Imagine you run an electronic store where you want to assign high value home delivery orders to the senior salesperson in your organization automatically. You can create a field update with the senior salesperson and associate it with the workflow rule. Whenever a home delivery order value exceeds your limit, the sales order will be assigned to the senior salesperson.
Field | Description |
---|---|
Name | Give a unique name for the email alert. |
Module | Select the module for which you wish to update any specific field. |
Update | Select the field which you want to update and specify the value in the corresponding box. If you wish to update the field with an empty value, check the box Update with empty value?. |
- Navigate to Settings > Automations > Workflow Actions.
- Select Field updates and click +New Field Update.
- Fill out the required details and click Save.
Actions on Field Updates
Modify Field Update
You can modify the field updates.
- Navigate to Settings > Automations > Workflow Actions and select Field Updates.
- Hover over the field update and select Edit in the drop-down.
- Make the required changes and click Save.
Delete Field Update
You can delete the field updates, which is not required.
- Navigate to Settings > Automations > Workflow Actions and select Field Updates.
- Hover over the field update and select Delete in the drop-down.
- Click Yes in the pop-up screen to delete the field update.
Note
- A maximum of three field updates can be created for each workflow rule.
Webhooks
Webhooks helps Zakya communicate with the third-party applications by sending instant web notifications every time an event occurs. You can configure HTTP and HTTPS URLs and associate them with workflow rules to automate the notification process. In some cases, this notification can be utilized to initiate an action in another application.
Assume you own a clothing store and regularly collect feedback from your customers about their shopping experiences. This feedback data is collected using a third-party application that is not integrated with Zakya.To fetch and utilize this information in Zakya, you may define a workflow rule with a webhook action. Once established, Zakya can connect with your third-party application and fetch the information according to your requirement.
Learn more about webhooksA webhook can be created with the following fields:
Field/Section | Description |
---|---|
Name | Provide a unique name for the webhook. |
Module | Select the module for which you want to create the webhook. |
Description | A description about the webhook can be added if required. |
URL & Parameters | Select any one of the HTTP methods listed below and enter the URL of the third-party application. These
Note: If you want to specify a port number in the URL and Parameters field, note that Zakya only supports port numbers 80 and 443. |
Add Parameters | You can also add additional query parameters by entering the required values in the Key and Value fields. You can add custom parameters like Auth Token, Security Token, API Key, and so on. Once you have added the value, check the I want to secure this webhook option if you want to secure your webhook. Enter the secret key in the Secret Token field. This will help to verify whether the webhook was sent from Zakya. It should be alphanumeric and range between 12-50 characters. Note:
|
Headers | You can include any additional information that you want to be included in the HTTP request here. Click + Add New Headers if you want to add additional headers. |
Authorization type | Choose how you want to authorize the webhook.
|
Body | Choose how you want to send the data. You can choose between
|
Let us see how to create a webhook
- Navigate to Settings > Automations > Workflow Actions.
- Select Webhooks and click +New Webhook.
- In the + New Webhook page, fill out the required fields and click Save and Execute to check if the webhook works properly, or click Save if you want to execute it later.
Notes:
- When you set up webhooks, all your contacts’ details in your Zakya organization (name, phone number, address, and email address) will be shared with the URL you want to notify.
Protect Your Webhooks
Securing your webhooks might assist in verifying that they were sent by Zakya. To achieve this, configure your server to listen for Zakya webhooks. When your server receives a webhook from Zakya, it must build a hash value depending on the payload and your secret token. Once completed, check to see if it matches the hash value from Zakya, validating the webhook's source. This can provide an extra layer of security by allowing your server to ignore third-party webhooks that appear to be from Zakya.
Validate webhooks
When your server receives the webhook, a hash value for the payload must be generated in the same way as Zakya did. This is required in order to generate the same hash value and validate the webhook.
The following parameters (if available) are utilized to create the hash value:
- Query string parameters.
- The default payload or a modified raw JSON payload.
- The payload is x-www-form-urlencoded (key-value pairs).
Create a string by ordering the key-value pairs in the payload alphabetically. The pairs must be ordered alphabetically based on their keys.
Notes
- If your webhook contains query string parameters, ensure that those key-value pairs are sorted along with the payload’s key-value pairs.
- There cannot be any spaces between the key-value pairs.
Other Actions in Webhooks
Modify Webhooks
You can make changes to the existing webhooks.
- Navigate to Settings :> Automation > Workflow Actions and select Webhooks.
- Hover over the webhook and select Edit in the drop-down.
- Make the required changes and click Save.
Delete Webhooks
- Navigate to Settings :> Automation > Workflow Actions and select Webhooks.
- Hover over the webhook and select Delete in the drop-down.
- In the pop up that appears, click Yes.
- The webhook will be deleted. If you’ve used the webhook in a workflow rule, ensure that you update the workflow rule as the workflow rule might not get triggered.
Custom Function
Zakya's custom functions allow you to automate your business operations by writing short pieces of code. Whether you're offering a special discount on your customers' invoices or charging a late fee for exceeding their credit period, simply create a code in Deluge script and associate it to a workflow rule, and the process will be automated.
Assume you run a clothing store and as a summer sale, you want to provide 20% discount on MRP for all your garments if they are bought in quantity of three. To achieve this, you can write a Deluge script and associate it with a workflow. So, every time your customer make a purchase that satisfies your condition, the Deluge script will and auto apply the 20% on the MRP of the product.
Deluge
Deluge (Data Enriched Language for the Universal Grid Environment) is an online scripting language integrated with Zoho Creator. It enables you to add logic to the application incrementally, making it more powerful and robust.
Learn more about DelugePractice Deluge with code samples
Field | Description |
---|---|
Name | Provide a unique name for the custom function. |
Module | Select the module for which you want to create the custom function. |
Description | A description about the custom function can be added if required. |
- Navigate to Settings > Automations > Workflow Actions.
- Select Custom Functions and click + New Custom Function.
- On the New Custom Function page, fill out the required details and click Proceed.
- Enter your deluge script to perform the required action in Zakya and click Save and Execute to check if the custom function works properly, or click Save if you want to execute it later.
Default fields
As of now, custom functions support Users, Organization, Quotes, Invoices, Sales Orders, Purchase Orders, Customers, Bills, and Items modules.
These modules will have the following fields from which you can get the necessary parameters for your custom function.
User
The user field supports the following parameters:
Key Fields | Description |
---|---|
name | Name of the user |
zuid | ZUID of the user |
Organization
The organization map supports the following fields:
Key Fields | Description |
---|---|
organisation_id | Your organisation ID |
name | Organisation name |
time_zone | Time zone of your organisation |
language_code | Organisation’s language |
date_format | Your organisation’s date format |
currency_id | Currency ID |
currency_code | Currency code |
currency_symbol | Currency symbol |
address | Organisation address |
phone | Organisation’s contact number |
fax | Fax number |
website | Organisation URL |
Email address | |
portal_name | Portal name of your organisation |
Invoice
The invoice map supports the following fields:
Key Fields | Description |
---|---|
due_date | Invoice due date |
payment_expected_date | Expected payment date for the invoice |
reference_number | Reference number of the invoice |
customer_id | Customer ID |
customer_name | Name of the customer who is assigned to the invoice |
currency_id | Currency ID |
currency_code | Currency code |
currency_symbol | Currency symbol |
exchange_rate | Exchange rate involved in the invoice |
discount_amount | Discount amount involved in the invoice |
discount | Discount involved in the invoice |
shipping_charge | Shipping charge entered in the invoice |
adjustment | Adjustments |
sub_total | Sub total of the invoice |
tax_total | Total tax amount in the invoice |
total | Total amount |
balance | Balance |
price_precision | Number of Decimal places |
billing_address | Billing address of the customer |
shipping_address | Shipping address of the customer |
notes | Notes |
terms | Terms and conditions |
custom_fields | Invoice custom fields |
salesperson_id | ID of the salesperson |
Sales Order
Key Fields | Description |
---|---|
date | Sales Order date |
tax_total | Total tax amount in the sales order |
zcrm_potential_id | ID of the potential in Zoho CRM |
discount_amount | Discount amount involved in the sales order |
salesorder_id | Sales order ID |
discount | Discount |
shipment_date | Date on which shipment is made |
billing_address | Billing address of the customer |
line_items | Line items |
currency_code | Currency code |
total | Total amount |
delivery_method_id | Delivery method ID |
terms | Terms and conditions |
delivery_method | Method of delivery |
shipping_address | Shipping address of the customer |
exchange_rate | Exchange rate involved in the sales order |
currency_symbol | Currency symbol |
custom_fields | Sales order custom fields |
quote_id | Quote ID |
reference_number | Reference number of the sales order |
salesperson_name | Name of the salesperson involved |
salesperson_id | ID of the salesperson involved |
shipping_charge | Shipping charge entered in the sales order |
salesorder_number | Your sales order number |
sub_total | Sub total of the sales order |
adjustment | Adjustments made |
customer_name | Name of the customer who is assigned to the sales order |
customer_id | ID of the customer who is assigned to the sales order |
currency_id | Currency ID |
status | Status of your sales order |
Purchase Order
The purchase order map supports the following fields:
Key Fields | Description |
owner_id | ID of associated owner |
billing_address | Billing address associated to customer |
source | Source of the customer |
contact_id | Contact ID |
payment_terms | Payments terms associated to customer |
currency_code | Currency code |
language_code | Language code |
contact_type | Type of the contact |
Twitter info | |
shipping_address | Shipping address associated to customer |
pricebook_id | ID of pricebook associated |
contact_name | Name of contact |
website | Website of contact |
owner_name | Name of contact owner |
currency_symbol | Currency symbol |
custom_fields | Custom fields associated with customer |
Facebook info | |
pricebook_name | Name of pricebook associated |
primary_contact_id | ID of primary contact |
company_name | Name of the company |
contact_salutation | Contact salutation |
currency_id | Currency ID |
payment_terms_label | Payment terms label |
status | Status |
Bill
The bill map supports the following fields:
Key Fields | Description |
date | Date on the bill |
bill_id | ID of the bill |
purchaseorder_ids | ID of the purchase order involved |
tax_total | Total tax amount in the bill |
exchange_rate | Exchange rate involved in the bill |
currency_symbol | Currency symbol |
custom_fields | Bill custom fields |
due_date | Due date of the bill |
vendor_name | Name of the vendor involved |
billing_address | Billing adress |
line_items | Line items in the bill |
payment_terms | Payments terms associated to vendor |
payment_expected_date | Expected payment date |
reference_number | Reference number of the bill |
currency_code | Currency code |
total | Total on the bill |
bill_number | Bill number |
payment_made | Payment made for the bill |
balance | Balance amount |
recurring_bill_id | ID of the recurring bill profile |
vendor_id | ID of the vendor involved |
sub_total | Sub-total on the bill |
status | Bill status |
Item
The item map supports the following fields:
Key Fields | Description |
item_id | Item ID |
custom_fields | Item custom fields |
item_type | Type of the item |
tax_name | Name of the tax involved |
purchase_rate | Purchase rate of the item |
tax_id | ID of the tax involved |
unit | Unit of the item |
account_id | Sales account ID |
purchase_account_name | Name of the purchase account |
purchase_account_id | Purchase account ID |
tax_type | Type of the tax involved |
rate | Sales rate of the item |
account_name | Name of the sales account involved |
name | Name of the item |
tax_percentage | Percentage of tax involved |
pricebook_rate | Pricebook rate |
sku | SKU of the item |
status | Status of the item |
Learn more about how to use Deluge scripts for writing custom functions
Other Actions in Custom Functions
Modify custom functions
You can make changes to the existing custom functions.
- Navigate to Settings :> Automation > Workflow Actions and select Custom Functions.
- Hover over the webhook and select Edit in the drop-down.
- Make the required changes and click Save.
Delete custom functions
- Navigate to Settings :> Automation > Workflow Actions and select Custom Functions.
- Hover over the webhook and select Delete in the drop-down.
- In the pop-up that appears, click Yes to delete the custom function.
Schedules
Zakya lets you create and run predefined tasks at the specified time intervals using schedules. You can create your tasks using a Deluge script and schedule this task to be executed at a particular time or on a recurring basis.
Assume you are running a clothing store, where you set a monthly sales target for your salesperson. Every month, you want to send Sales by Salesperson report and a congratulatory email when they have achieved their target or a motivating email for them to perform better. To achieve this, you can write a function and schedule it to be sent to your sales person every month.
Fields | Description |
Name | Provide a unique that represents the schedule type. |
Frequency | Frequency and recurrence pattern for the schedule to be executed. This can be hourly, daily, weekly, monthly, or yearly. Hourly: The task will be executed every hour of the day (or based on your recurrence pattern). Daily: The task will be executed every day (or based on your recurrence pattern). You can choose to exclude the weekends. Weekly: The task will be executed once a week. Select the day of the week on which the task should be executed. Monthly: The task will be executed once a month. This can be a specific date or a day in a month. Yearly: The task will be executed once a year. You can select the month and specify the date of execution or specify the day. |
Execute task on | Weekly: For example, you can select Monday and Tuesday, and the task will run on those days each week. Monthly: For example, you can set it to run on the 5th of every month or on the second Saturday of the month. Yearly: For example, the task can be scheduled for the first Sunday in January or specifically on January 5. |
Start Date and Time | When the schedule should start. For example, you can set your hourly schedule to start on 28th February, 2025, at 00:06 AM. |
Expires after | When the schedule should expire. It can expire after many executions or on a set date or not expire at all. |
Create your Schedule
- Navigate to Settings > Automation > Schedules and click +New Schedule
- In the New Schedule page, fill out the required fields and create a Deluge script for your required action.
- Click Save, or Save and Execute to run it.
Notes
- The start date of a schedule cannot be more than one year from the creation date.
- You can create a maximum of 10 custom schedules.
Actions on Schedule
Modify your schedule
You can make changes to the existing schedule.
- Navigate to Settings > Automation > Schedules.
- Hover over the schedule amd select Edit in the drop-down.
- Make the required changes to the schedule and click Save.
Inactive your schedule
- Navigate to Settings > Automation > Schedules.
- Hover over the schedule amd select Mark as Inactive in the drop-down.
Delete your schedule
- Navigate to Settings > Automation > Schedules.
- Hover over the schedule amd select Delete in the drop-down.
- In the pop-up that appears, click Yes to delete the schedule.
On this Page
- Email Alerts
- Actions on email Alerts
- Edit Email Alerts
- Delete Email Alerts
- Field Updates
- Actions on Field Updates
- Modify Field Update
- Delete Field Update
- Webhooks
- Protect Your Webhooks
- Validate webhooks
- Other Actions in Webhooks
- Modify Webhooks
- Delete Webhooks
- Custom Function
- Default fields
- Other Actions in Custom Functions
- Modify custom functions
- Delete custom functions
- Schedules
- Create your Schedule
- Actions on Schedule
- Modify your schedule
- Inactive your schedule
- Delete your schedule