Workflows

Workflows

Workflows allow you to automate actions in your organization based on specific triggers. You can configure rules that execute actions like sending alerts, updating fields, triggering webhooks, or running custom functions when certain events occur.

Download Workflows OpenAPI Document
End Points
Create a workflow
List workflows
Update a workflow
Get a workflow
Delete a workflow
Activate a workflow
Deactivate a workflow
Reorder workflows
Get workflow edit page data
Get module filters
Trigger a workflow
Trigger a workflow action
Create a custom trigger
List custom triggers
Get custom trigger edit page data
Update a custom trigger
Delete a custom trigger
Regenerate API key
Execute a custom trigger
Get custom trigger URL
Create a retry policy
List retry policies
Update a retry policy
Get a retry policy
Delete a retry policy
List workflow logs
Get workflow log details
List upcoming workflows
List upcoming actions
List failed workflows
List failed workflow actions

Create a workflow

Create a new workflow rule for automating actions based on triggers.
OAuth Scope : ZohoBooks.settings.CREATE

Arguments

workflow_name
string
(Required)
Name of the workflow rule.
description
string
Description of the workflow. Max-len [1000]
rule_type
string
(Required)
Trigger type for the workflow.
placeholder
string
Placeholder identifier of the workflow.
entity
string
(Required)
The entity type this workflow applies to (e.g., invoice, bill, contact).
sub_entities
array
Sub-entity types for the workflow.
field_update
array
Field update conditions for the workflow trigger. Max items: 1000.
field_update_comparator
string
Comparator for field update conditions. Allowed Values: and, or, any, except_or, except_and
date_field
string
Date field for time-based workflows.
time
string
Execution time for time-based workflows.
day_difference
integer
Number of days/hours before or after the date field.
day_difference_type
string
Whether the difference is before or after. Allowed Values: before, after
day_difference_unit
string
Unit for day difference. Allowed Values: hours, days
apply_rule_always
boolean
Whether to apply the rule every time the trigger condition is met.
rule
object
Criteria rule for the workflow.
events
array
Event bindings for the workflow. Max items: 1000.
instant_actions
array
List of instant actions to execute when the workflow triggers. Max items: 1000.
Show Sub-Attributes arrow
action_id
long
ID of the action.
action_type
string
Type of the action. Allowed Values: alert, fieldupdate, webhook, customfunction, pushnotification. Also supports custom action connector types matching the pattern cac_<connector_name>.
action_ph
string
Placeholder of the action.
entity
string
(Required)
Entity type for the action.
message_content
string
Message content for alert actions. Max-len [255]
alert_name
string
Name of the alert action.
pushnotification_name
string
Name of the push notification action.
email_template_id
long
ID of the email template for alert actions.
email_template_ph
string
Placeholder of the email template.
email_template
object
Inline email template details for alert actions.
Show Sub-Attributes arrow
name
string
Name of the email template. Max-len [50]
from_address_id
long
ID of the from address.
placeholder
string
Placeholder of the email template.
type
string
Type of the email template.
from_address
long
From address ID.
body
string
Body content of the email. Max-len [64000]
subject
string
Subject of the email. Max-len [500]
is_default
boolean
Whether this is the default template.
cc_mail_ids
array
CC email addresses.
bcc_mail_ids
array
BCC email addresses.
recipients
array
List of recipients for alert actions.
additional_recipients
array
Additional email recipients for alert actions.
fieldupdate_name
string
Name of the field update action. Max-len [100]
field_name
string
Name of the field to update.
field_value
string
Value to set for the field. Max-len [100]
webhook_name
string
Name of the webhook action. Max-len [50]
method
string
HTTP method for webhook actions. Allowed Values: POST, PUT, DELETE
url
string
URL for the webhook action. Max-len [5000]
entity_parameters
array
Entity parameters for webhook actions.
query_parameters
array
Query parameters for webhook actions.
form_data
array
Form data for webhook actions.
body_type
string
Content type of the webhook request body.
additional_parameters
array
Additional parameters for webhook actions.
secret
string
Secret key for webhook signature verification. Min-len [12], Max-len [50]
headers
array
Custom headers for webhook actions.
raw_data
string
Raw data body for webhook actions.
is_new_response_format
boolean
Whether to use the new response format for webhooks.
user_defined_format_name
string
User-defined format name for webhook payload. Max-len [100000]
user_defined_format_value
string
User-defined format value for webhook payload. Max-len [100000]
script
string
Script code for custom function actions.
function_name
string
Name of the custom function. Max-len [50]
description
string
Description of the custom function action. Max-len [100]
function_param
array
Parameters for the custom function.
is_execute
boolean
Whether to execute the custom function immediately.
include_orgvariables_params
boolean
Whether to include organization variable parameters in the custom function.
time_based_actions
array
List of time-based actions for the workflow. Max items: 1000.
Show Sub-Attributes arrow
timetrigger_id
long
ID of the time trigger.
name
string
Name of the time-based action group.
field_type
string
Date field for the time trigger.
delay
integer
Delay value.
delay_unit
string
Unit for delay. Allowed Values: hours, days
delay_type
string
Whether delay is before or after. Allowed Values: before, after
actions
array
List of actions to execute. Max items: 1000.
Show Sub-Attributes arrow
action_id
long
ID of the action.
action_type
string
Type of the action. Allowed Values: alert, fieldupdate, webhook, customfunction, pushnotification. Also supports custom action connector types matching the pattern cac_<connector_name>.
action_ph
string
Placeholder of the action.
entity
string
(Required)
Entity type for the action.
message_content
string
Message content for alert actions. Max-len [255]
alert_name
string
Name of the alert action.
pushnotification_name
string
Name of the push notification action.
email_template_id
long
ID of the email template for alert actions.
email_template_ph
string
Placeholder of the email template.
email_template
object
Inline email template details for alert actions.
Show Sub-Attributes arrow
name
string
Name of the email template. Max-len [50]
from_address_id
long
ID of the from address.
placeholder
string
Placeholder of the email template.
type
string
Type of the email template.
from_address
long
From address ID.
body
string
Body content of the email. Max-len [64000]
subject
string
Subject of the email. Max-len [500]
is_default
boolean
Whether this is the default template.
cc_mail_ids
array
CC email addresses.
bcc_mail_ids
array
BCC email addresses.
recipients
array
List of recipients for alert actions.
additional_recipients
array
Additional email recipients for alert actions.
fieldupdate_name
string
Name of the field update action. Max-len [100]
field_name
string
Name of the field to update.
field_value
string
Value to set for the field. Max-len [100]
webhook_name
string
Name of the webhook action. Max-len [50]
method
string
HTTP method for webhook actions. Allowed Values: POST, PUT, DELETE
url
string
URL for the webhook action. Max-len [5000]
entity_parameters
array
Entity parameters for webhook actions.
query_parameters
array
Query parameters for webhook actions.
form_data
array
Form data for webhook actions.
body_type
string
Content type of the webhook request body.
additional_parameters
array
Additional parameters for webhook actions.
secret
string
Secret key for webhook signature verification. Min-len [12], Max-len [50]
headers
array
Custom headers for webhook actions.
raw_data
string
Raw data body for webhook actions.
is_new_response_format
boolean
Whether to use the new response format for webhooks.
user_defined_format_name
string
User-defined format name for webhook payload. Max-len [100000]
user_defined_format_value
string
User-defined format value for webhook payload. Max-len [100000]
script
string
Script code for custom function actions.
function_name
string
Name of the custom function. Max-len [50]
description
string
Description of the custom function action. Max-len [100]
function_param
array
Parameters for the custom function.
is_execute
boolean
Whether to execute the custom function immediately.
include_orgvariables_params
boolean
Whether to include organization variable parameters in the custom function.
sub_rules
array
Sub-rules with their own criteria and actions. Max items: 1000.
is_locked
boolean
Whether the workflow is locked.
lock_type
string
Type of lock. Allowed Values: error, none
lock_reason
string
Reason for locking the workflow. Max-len [255]
is_hidden
boolean
Whether the workflow is hidden.
allowed_apps
string
Comma-separated list of allowed apps. Maximum 6 apps.
is_draft
boolean
Whether the workflow is in draft mode.
trigger_id
long
ID of the custom trigger associated with this workflow.
trigger_ph
string
Placeholder of the custom trigger. Max-len [255]
entity_id
long
Entity ID for record-level workflows.
execution_timezone
string
Timezone for workflow execution. Allowed Values: customer, default
is_custom_execution_time
boolean
Whether execution time is custom.

Query Parameters

organization_id
string
(Required)
ID of the organization.
template_id
string
ID of the template to use for creating the workflow.
entity_type
string
The entity type for the workflow.

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/workflows?organization_id=10234695" type: POST headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/workflows?organization_id=10234695") .post(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/settings/workflows?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("POST", "/books/v3/settings/workflows?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/workflows?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/settings/workflows?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "workflow_name": "Send reminder on due date", "description": "string", "rule_type": "add", "placeholder": "string", "entity": "invoice", "sub_entities": [ {} ], "field_update": [ {} ], "field_update_comparator": "string", "date_field": "string", "time": "string", "day_difference": 0, "day_difference_type": "string", "day_difference_unit": "string", "apply_rule_always": true, "rule": {}, "events": [ {} ], "instant_actions": [ { "action_id": 0, "action_type": "string", "action_ph": "string", "entity": "string", "message_content": "string", "alert_name": "string", "pushnotification_name": "string", "email_template_id": 0, "email_template_ph": "string", "email_template": { "name": "string", "from_address_id": 0, "placeholder": "string", "type": "string", "from_address": 0, "body": "string", "subject": "string", "is_default": true, "cc_mail_ids": [ {} ], "bcc_mail_ids": [ {} ] }, "recipients": [ {} ], "additional_recipients": [ {} ], "fieldupdate_name": "string", "field_name": "string", "field_value": "string", "webhook_name": "string", "method": "POST", "url": "string", "entity_parameters": [ {} ], "query_parameters": [ {} ], "form_data": [ {} ], "body_type": "string", "additional_parameters": [ {} ], "secret": "string", "headers": [ {} ], "raw_data": "string", "is_new_response_format": true, "user_defined_format_name": "string", "user_defined_format_value": "string", "script": "string", "function_name": "string", "description": "string", "function_param": [ {} ], "is_execute": true, "include_orgvariables_params": true, "connection_link_name": "string" } ], "time_based_actions": [ { "timetrigger_id": 0, "name": "string", "field_type": "string", "delay": 0, "delay_unit": "string", "delay_type": "string", "actions": [ { "action_id": 0, "action_type": "string", "action_ph": "string", "entity": "string", "message_content": "string", "alert_name": "string", "pushnotification_name": "string", "email_template_id": 0, "email_template_ph": "string", "email_template": { "name": "string", "from_address_id": 0, "placeholder": "string", "type": "string", "from_address": 0, "body": "string", "subject": "string", "is_default": true, "cc_mail_ids": [ {} ], "bcc_mail_ids": [ {} ] }, "recipients": [ {} ], "additional_recipients": [ {} ], "fieldupdate_name": "string", "field_name": "string", "field_value": "string", "webhook_name": "string", "method": "POST", "url": "string", "entity_parameters": [ {} ], "query_parameters": [ {} ], "form_data": [ {} ], "body_type": "string", "additional_parameters": [ {} ], "secret": "string", "headers": [ {} ], "raw_data": "string", "is_new_response_format": true, "user_defined_format_name": "string", "user_defined_format_value": "string", "script": "string", "function_name": "string", "description": "string", "function_param": [ {} ], "is_execute": true, "include_orgvariables_params": true, "connection_link_name": "string" } ] } ], "sub_rules": [ {} ], "is_locked": true, "lock_type": "string", "lock_reason": "string", "is_hidden": true, "allowed_apps": "app1,app2", "is_draft": true, "trigger_id": 0, "trigger_ph": "string", "entity_id": 0, "execution_timezone": "string", "is_custom_execution_time": true }

Response Example

{ "code": 0, "message": "success", "workflow": {...} }

List workflows

Get a list of all workflow rules configured in your organization.
OAuth Scope : ZohoBooks.settings.READ

Query Parameters

organization_id
string
(Required)
ID of the organization.
filter_by
string
Filter workflows by entity type. Allowed Values: Entity.All, Entity.Invoice, Entity.Bill, etc.
is_summary
boolean
Return summary information only. Allowed values true and false.
is_record_level
boolean
Filter record-level workflows. Allowed values true and false.
entity_id
long
Filter workflows by entity ID.
sort_column
string
Sort workflows by column. Allowed Values: workflow_name, created_time
page
integer
Page number to be fetched. Default value is 1.
per_page
integer
Number of records to be fetched per page. Default value is 200.
sort_order
string
Sort order. Allowed Values: A (Ascending), D (Descending)

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/workflows?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/workflows?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/workflows?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/settings/workflows?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/workflows?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/settings/workflows?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "workflows": [ { "workflow_id": "460000000038001", "workflow_name": "Send reminder on due date", "placeholder": "string", "entity": "invoice", "sub_entities": "string", "rule_type": "add", "description": "string", "is_active": true, "is_from_plugin": false, "created_time": "2025-01-15T10:30:00+0530", "is_locked": false, "lock_reason": "string" }, {...}, {...} ] }

Update a workflow

Update an existing workflow rule.
OAuth Scope : ZohoBooks.settings.UPDATE

Arguments

workflow_name
string
(Required)
Name of the workflow rule.
description
string
Description of the workflow. Max-len [1000]
rule_type
string
(Required)
Trigger type for the workflow.
placeholder
string
Placeholder identifier of the workflow.
entity
string
(Required)
The entity type this workflow applies to (e.g., invoice, bill, contact).
sub_entities
array
Sub-entity types for the workflow.
field_update
array
Field update conditions for the workflow trigger. Max items: 1000.
field_update_comparator
string
Comparator for field update conditions. Allowed Values: and, or, any, except_or, except_and
date_field
string
Date field for time-based workflows.
time
string
Execution time for time-based workflows.
day_difference
integer
Number of days/hours before or after the date field.
day_difference_type
string
Whether the difference is before or after. Allowed Values: before, after
day_difference_unit
string
Unit for day difference. Allowed Values: hours, days
apply_rule_always
boolean
Whether to apply the rule every time the trigger condition is met.
rule
object
Criteria rule for the workflow.
events
array
Event bindings for the workflow. Max items: 1000.
instant_actions
array
List of instant actions to execute when the workflow triggers. Max items: 1000.
Show Sub-Attributes arrow
action_id
long
ID of the action.
action_type
string
Type of the action. Allowed Values: alert, fieldupdate, webhook, customfunction, pushnotification. Also supports custom action connector types matching the pattern cac_<connector_name>.
action_ph
string
Placeholder of the action.
entity
string
(Required)
Entity type for the action.
message_content
string
Message content for alert actions. Max-len [255]
alert_name
string
Name of the alert action.
pushnotification_name
string
Name of the push notification action.
email_template_id
long
ID of the email template for alert actions.
email_template_ph
string
Placeholder of the email template.
email_template
object
Inline email template details for alert actions.
Show Sub-Attributes arrow
name
string
Name of the email template. Max-len [50]
from_address_id
long
ID of the from address.
placeholder
string
Placeholder of the email template.
type
string
Type of the email template.
from_address
long
From address ID.
body
string
Body content of the email. Max-len [64000]
subject
string
Subject of the email. Max-len [500]
is_default
boolean
Whether this is the default template.
cc_mail_ids
array
CC email addresses.
bcc_mail_ids
array
BCC email addresses.
recipients
array
List of recipients for alert actions.
additional_recipients
array
Additional email recipients for alert actions.
fieldupdate_name
string
Name of the field update action. Max-len [100]
field_name
string
Name of the field to update.
field_value
string
Value to set for the field. Max-len [100]
webhook_name
string
Name of the webhook action. Max-len [50]
method
string
HTTP method for webhook actions. Allowed Values: POST, PUT, DELETE
url
string
URL for the webhook action. Max-len [5000]
entity_parameters
array
Entity parameters for webhook actions.
query_parameters
array
Query parameters for webhook actions.
form_data
array
Form data for webhook actions.
body_type
string
Content type of the webhook request body.
additional_parameters
array
Additional parameters for webhook actions.
secret
string
Secret key for webhook signature verification. Min-len [12], Max-len [50]
headers
array
Custom headers for webhook actions.
raw_data
string
Raw data body for webhook actions.
is_new_response_format
boolean
Whether to use the new response format for webhooks.
user_defined_format_name
string
User-defined format name for webhook payload. Max-len [100000]
user_defined_format_value
string
User-defined format value for webhook payload. Max-len [100000]
script
string
Script code for custom function actions.
function_name
string
Name of the custom function. Max-len [50]
description
string
Description of the custom function action. Max-len [100]
function_param
array
Parameters for the custom function.
is_execute
boolean
Whether to execute the custom function immediately.
include_orgvariables_params
boolean
Whether to include organization variable parameters in the custom function.
time_based_actions
array
List of time-based actions for the workflow. Max items: 1000.
Show Sub-Attributes arrow
timetrigger_id
long
ID of the time trigger.
name
string
Name of the time-based action group.
field_type
string
Date field for the time trigger.
delay
integer
Delay value.
delay_unit
string
Unit for delay. Allowed Values: hours, days
delay_type
string
Whether delay is before or after. Allowed Values: before, after
actions
array
List of actions to execute. Max items: 1000.
Show Sub-Attributes arrow
action_id
long
ID of the action.
action_type
string
Type of the action. Allowed Values: alert, fieldupdate, webhook, customfunction, pushnotification. Also supports custom action connector types matching the pattern cac_<connector_name>.
action_ph
string
Placeholder of the action.
entity
string
(Required)
Entity type for the action.
message_content
string
Message content for alert actions. Max-len [255]
alert_name
string
Name of the alert action.
pushnotification_name
string
Name of the push notification action.
email_template_id
long
ID of the email template for alert actions.
email_template_ph
string
Placeholder of the email template.
email_template
object
Inline email template details for alert actions.
Show Sub-Attributes arrow
name
string
Name of the email template. Max-len [50]
from_address_id
long
ID of the from address.
placeholder
string
Placeholder of the email template.
type
string
Type of the email template.
from_address
long
From address ID.
body
string
Body content of the email. Max-len [64000]
subject
string
Subject of the email. Max-len [500]
is_default
boolean
Whether this is the default template.
cc_mail_ids
array
CC email addresses.
bcc_mail_ids
array
BCC email addresses.
recipients
array
List of recipients for alert actions.
additional_recipients
array
Additional email recipients for alert actions.
fieldupdate_name
string
Name of the field update action. Max-len [100]
field_name
string
Name of the field to update.
field_value
string
Value to set for the field. Max-len [100]
webhook_name
string
Name of the webhook action. Max-len [50]
method
string
HTTP method for webhook actions. Allowed Values: POST, PUT, DELETE
url
string
URL for the webhook action. Max-len [5000]
entity_parameters
array
Entity parameters for webhook actions.
query_parameters
array
Query parameters for webhook actions.
form_data
array
Form data for webhook actions.
body_type
string
Content type of the webhook request body.
additional_parameters
array
Additional parameters for webhook actions.
secret
string
Secret key for webhook signature verification. Min-len [12], Max-len [50]
headers
array
Custom headers for webhook actions.
raw_data
string
Raw data body for webhook actions.
is_new_response_format
boolean
Whether to use the new response format for webhooks.
user_defined_format_name
string
User-defined format name for webhook payload. Max-len [100000]
user_defined_format_value
string
User-defined format value for webhook payload. Max-len [100000]
script
string
Script code for custom function actions.
function_name
string
Name of the custom function. Max-len [50]
description
string
Description of the custom function action. Max-len [100]
function_param
array
Parameters for the custom function.
is_execute
boolean
Whether to execute the custom function immediately.
include_orgvariables_params
boolean
Whether to include organization variable parameters in the custom function.
sub_rules
array
Sub-rules with their own criteria and actions. Max items: 1000.
is_locked
boolean
Whether the workflow is locked.
lock_type
string
Type of lock. Allowed Values: error, none
lock_reason
string
Reason for locking the workflow. Max-len [255]
is_hidden
boolean
Whether the workflow is hidden.
allowed_apps
string
Comma-separated list of allowed apps. Maximum 6 apps.
is_draft
boolean
Whether the workflow is in draft mode.
trigger_id
long
ID of the custom trigger associated with this workflow.
trigger_ph
string
Placeholder of the custom trigger. Max-len [255]
entity_id
long
Entity ID for record-level workflows.
execution_timezone
string
Timezone for workflow execution. Allowed Values: customer, default
is_custom_execution_time
boolean
Whether execution time is custom.

Path Parameters

workflow_id
string
(Required)
Unique identifier of the workflow.

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/workflows/460000000038001?organization_id=10234695" type: PUT headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/workflows/460000000038001?organization_id=10234695") .put(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'PUT', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/settings/workflows/460000000038001?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("PUT", "/books/v3/settings/workflows/460000000038001?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "PUT", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/workflows/460000000038001?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request PUT \ --url 'https://www.zohoapis.com/books/v3/settings/workflows/460000000038001?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "workflow_name": "Send reminder on due date", "description": "string", "rule_type": "add", "placeholder": "string", "entity": "invoice", "sub_entities": [ {} ], "field_update": [ {} ], "field_update_comparator": "string", "date_field": "string", "time": "string", "day_difference": 0, "day_difference_type": "string", "day_difference_unit": "string", "apply_rule_always": true, "rule": {}, "events": [ {} ], "instant_actions": [ { "action_id": 0, "action_type": "string", "action_ph": "string", "entity": "string", "message_content": "string", "alert_name": "string", "pushnotification_name": "string", "email_template_id": 0, "email_template_ph": "string", "email_template": { "name": "string", "from_address_id": 0, "placeholder": "string", "type": "string", "from_address": 0, "body": "string", "subject": "string", "is_default": true, "cc_mail_ids": [ {} ], "bcc_mail_ids": [ {} ] }, "recipients": [ {} ], "additional_recipients": [ {} ], "fieldupdate_name": "string", "field_name": "string", "field_value": "string", "webhook_name": "string", "method": "POST", "url": "string", "entity_parameters": [ {} ], "query_parameters": [ {} ], "form_data": [ {} ], "body_type": "string", "additional_parameters": [ {} ], "secret": "string", "headers": [ {} ], "raw_data": "string", "is_new_response_format": true, "user_defined_format_name": "string", "user_defined_format_value": "string", "script": "string", "function_name": "string", "description": "string", "function_param": [ {} ], "is_execute": true, "include_orgvariables_params": true, "connection_link_name": "string" } ], "time_based_actions": [ { "timetrigger_id": 0, "name": "string", "field_type": "string", "delay": 0, "delay_unit": "string", "delay_type": "string", "actions": [ { "action_id": 0, "action_type": "string", "action_ph": "string", "entity": "string", "message_content": "string", "alert_name": "string", "pushnotification_name": "string", "email_template_id": 0, "email_template_ph": "string", "email_template": { "name": "string", "from_address_id": 0, "placeholder": "string", "type": "string", "from_address": 0, "body": "string", "subject": "string", "is_default": true, "cc_mail_ids": [ {} ], "bcc_mail_ids": [ {} ] }, "recipients": [ {} ], "additional_recipients": [ {} ], "fieldupdate_name": "string", "field_name": "string", "field_value": "string", "webhook_name": "string", "method": "POST", "url": "string", "entity_parameters": [ {} ], "query_parameters": [ {} ], "form_data": [ {} ], "body_type": "string", "additional_parameters": [ {} ], "secret": "string", "headers": [ {} ], "raw_data": "string", "is_new_response_format": true, "user_defined_format_name": "string", "user_defined_format_value": "string", "script": "string", "function_name": "string", "description": "string", "function_param": [ {} ], "is_execute": true, "include_orgvariables_params": true, "connection_link_name": "string" } ] } ], "sub_rules": [ {} ], "is_locked": true, "lock_type": "string", "lock_reason": "string", "is_hidden": true, "allowed_apps": "app1,app2", "is_draft": true, "trigger_id": 0, "trigger_ph": "string", "entity_id": 0, "execution_timezone": "string", "is_custom_execution_time": true }

Response Example

{ "code": 0, "message": "success", "workflow": {...} }

Get a workflow

Get the details of a specific workflow rule.
OAuth Scope : ZohoBooks.settings.READ

Path Parameters

workflow_id
string
(Required)
Unique identifier of the workflow.

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/workflows/460000000038001?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/workflows/460000000038001?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/workflows/460000000038001?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/settings/workflows/460000000038001?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/workflows/460000000038001?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/settings/workflows/460000000038001?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "workflow": {...} }

Delete a workflow

Delete an existing workflow rule.
OAuth Scope : ZohoBooks.settings.DELETE

Path Parameters

workflow_id
string
(Required)
Unique identifier of the workflow.

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/workflows/460000000038001?organization_id=10234695" type: DELETE headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/workflows/460000000038001?organization_id=10234695") .delete(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'DELETE', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/workflows/460000000038001?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("DELETE", "/books/v3/settings/workflows/460000000038001?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "DELETE", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/workflows/460000000038001?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request DELETE \ --url 'https://www.zohoapis.com/books/v3/settings/workflows/460000000038001?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success" }

Activate a workflow

Mark an existing workflow as active.
OAuth Scope : ZohoBooks.settings.CREATE

Path Parameters

workflow_id
string
(Required)
Unique identifier of the workflow.

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/workflows/460000000038001/active?organization_id=10234695" type: POST headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/workflows/460000000038001/active?organization_id=10234695") .post(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/workflows/460000000038001/active?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("POST", "/books/v3/settings/workflows/460000000038001/active?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/workflows/460000000038001/active?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/settings/workflows/460000000038001/active?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success" }

Deactivate a workflow

Mark an existing workflow as inactive.
OAuth Scope : ZohoBooks.settings.CREATE

Path Parameters

workflow_id
string
(Required)
Unique identifier of the workflow.

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/workflows/460000000038001/inactive?organization_id=10234695" type: POST headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/workflows/460000000038001/inactive?organization_id=10234695") .post(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/workflows/460000000038001/inactive?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("POST", "/books/v3/settings/workflows/460000000038001/inactive?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/workflows/460000000038001/inactive?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/settings/workflows/460000000038001/inactive?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success" }

Reorder workflows

Change the execution order of workflow rules.
OAuth Scope : ZohoBooks.settings.CREATE

Arguments

entity_type
string
(Required)
The entity type for which to reorder workflows.
execution_order
array
(Required)
Array of workflow IDs in desired execution order.
entity_id
long
Entity ID for record-level workflow reordering.

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/workflows/reorder?organization_id=10234695" type: POST headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/workflows/reorder?organization_id=10234695") .post(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/settings/workflows/reorder?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("POST", "/books/v3/settings/workflows/reorder?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/workflows/reorder?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/settings/workflows/reorder?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "entity_type": "invoice", "execution_order": [ 0 ], "entity_id": 0 }

Response Example

{ "code": 0, "message": "success" }

Get workflow edit page data

Get the data needed to render the workflow edit page, including entities, fields, actions, and related configurations.
OAuth Scope : ZohoBooks.settings.READ

Query Parameters

organization_id
string
(Required)
ID of the organization.
entity
string
The entity type for the workflow.
rule_id
long
ID of the workflow rule to edit.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/workflows/editpage?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/workflows/editpage?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/workflows/editpage?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/settings/workflows/editpage?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/workflows/editpage?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/settings/workflows/editpage?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "entities": [ {...}, {...}, {...} ], "entity_fields": [ {...} ], "supported_actions": [ {...} ], "entity": "string", "workflow": {...} }

Get module filters

Get the list of module filters available for workflow configuration.
OAuth Scope : ZohoBooks.settings.READ

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/automation/modulefilters?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/automation/modulefilters?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/automation/modulefilters?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/settings/automation/modulefilters?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/automation/modulefilters?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/settings/automation/modulefilters?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "module_filters": {...} }

Trigger a workflow

Manually trigger a workflow for a specific entity.
OAuth Scope : ZohoBooks.settings.CREATE

Path Parameters

workflow_id
string
(Required)
Unique identifier of the workflow.

Query Parameters

organization_id
string
(Required)
ID of the organization.
entity_id
long
ID of the entity to trigger the workflow for.
trigger_for_all_entities
boolean
Trigger the workflow for all matching entities. Allowed values true and false.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/workflows/460000000038001/trigger?organization_id=10234695" type: POST headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/workflows/460000000038001/trigger?organization_id=10234695") .post(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/workflows/460000000038001/trigger?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("POST", "/books/v3/workflows/460000000038001/trigger?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/workflows/460000000038001/trigger?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/workflows/460000000038001/trigger?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success" }

Trigger a workflow action

Manually trigger time-based actions of a workflow for a specific entity.
OAuth Scope : ZohoBooks.settings.CREATE

Path Parameters

workflow_id
string
(Required)
Unique identifier of the workflow.

Query Parameters

organization_id
string
(Required)
ID of the organization.
entity_id
long
ID of the entity to trigger the action for.
trigger_for_all_entities
boolean
Trigger the action for all matching entities. Allowed values true and false.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/workflows/460000000038001/triggeraction?organization_id=10234695" type: POST headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/workflows/460000000038001/triggeraction?organization_id=10234695") .post(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/workflows/460000000038001/triggeraction?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("POST", "/books/v3/workflows/460000000038001/triggeraction?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/workflows/460000000038001/triggeraction?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/workflows/460000000038001/triggeraction?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success" }

Create a custom trigger

Create a new custom trigger that can be used to invoke workflows via API.
OAuth Scope : ZohoBooks.settings.CREATE

Arguments

name
string
Name of the custom trigger.
description
string
Description of the custom trigger.
entity
string
(Required)
The entity type for the custom trigger.
placeholder
string
Placeholder for the custom trigger.

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/customtriggers?organization_id=10234695" type: POST headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/customtriggers?organization_id=10234695") .post(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/settings/customtriggers?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("POST", "/books/v3/settings/customtriggers?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/customtriggers?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/settings/customtriggers?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "name": "Invoice Custom Trigger", "description": "string", "entity": "invoice", "placeholder": "string" }

Response Example

{ "code": 0, "message": "success" }

List custom triggers

Get a list of all custom triggers configured in your organization.
OAuth Scope : ZohoBooks.settings.READ

Query Parameters

organization_id
string
(Required)
ID of the organization.
filter_by
string
Filter custom triggers by entity type.
page
integer
Page number to be fetched. Default value is 1.
per_page
integer
Number of records to be fetched per page. Default value is 200.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/customtriggers?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/customtriggers?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/customtriggers?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/settings/customtriggers?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/customtriggers?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/settings/customtriggers?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "customtriggers": [ { "customtrigger_id": "460000000050001", "name": "Invoice Custom Trigger", "placeholder": "string", "entity": "invoice", "created_time": "string", "is_from_plugin": false, "service_name": "string", "related_rules": [ {...} ], "zapikey_url": "string", "oauth_url": "string" }, {...}, {...} ] }

Get custom trigger edit page data

Get the data needed to render the custom trigger edit page.
OAuth Scope : ZohoBooks.settings.READ

Query Parameters

organization_id
string
(Required)
ID of the organization.
trigger_id
long
ID of the custom trigger to edit.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/customtriggers/editpage?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/customtriggers/editpage?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/customtriggers/editpage?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/settings/customtriggers/editpage?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/customtriggers/editpage?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/settings/customtriggers/editpage?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success" }

Update a custom trigger

Update an existing custom trigger.
OAuth Scope : ZohoBooks.settings.UPDATE

Arguments

name
string
Name of the custom trigger.
description
string
Description of the custom trigger.
entity
string
(Required)
The entity type for the custom trigger.
placeholder
string
Placeholder for the custom trigger.

Path Parameters

trigger_id
string
(Required)
Unique identifier of the custom trigger.

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/customtriggers/460000000050001?organization_id=10234695" type: PUT headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/customtriggers/460000000050001?organization_id=10234695") .put(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'PUT', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/settings/customtriggers/460000000050001?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("PUT", "/books/v3/settings/customtriggers/460000000050001?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "PUT", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/customtriggers/460000000050001?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request PUT \ --url 'https://www.zohoapis.com/books/v3/settings/customtriggers/460000000050001?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "name": "Invoice Custom Trigger", "description": "string", "entity": "invoice", "placeholder": "string" }

Response Example

{ "code": 0, "message": "success" }

Delete a custom trigger

Delete an existing custom trigger.
OAuth Scope : ZohoBooks.settings.DELETE

Path Parameters

trigger_id
string
(Required)
Unique identifier of the custom trigger.

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/customtriggers/460000000050001?organization_id=10234695" type: DELETE headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/customtriggers/460000000050001?organization_id=10234695") .delete(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'DELETE', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/customtriggers/460000000050001?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("DELETE", "/books/v3/settings/customtriggers/460000000050001?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "DELETE", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/customtriggers/460000000050001?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request DELETE \ --url 'https://www.zohoapis.com/books/v3/settings/customtriggers/460000000050001?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success" }

Regenerate API key

Regenerate the API key for a custom trigger.
OAuth Scope : ZohoBooks.settings.UPDATE

Path Parameters

trigger_id
string
(Required)
Unique identifier of the custom trigger.

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/customtriggers/460000000050001/regenerate?organization_id=10234695" type: PUT headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/customtriggers/460000000050001/regenerate?organization_id=10234695") .put(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'PUT', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/customtriggers/460000000050001/regenerate?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("PUT", "/books/v3/settings/customtriggers/460000000050001/regenerate?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "PUT", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/customtriggers/460000000050001/regenerate?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request PUT \ --url 'https://www.zohoapis.com/books/v3/settings/customtriggers/460000000050001/regenerate?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success" }

Execute a custom trigger

Execute a custom trigger for a specific entity using OAuth or ZAPI key authentication.
OAuth Scope : ZohoBooks.customtriggers.CREATE

Path Parameters

customtrigger_ph
string
(Required)
Placeholder identifier of the custom trigger (e.g., ct_xxxxx).

Query Parameters

organization_id
string
(Required)
ID of the organization.
entity_id
long
(Required)
ID of the entity to execute the trigger for.
is_debug
boolean
Enable debug mode for the execution. Allowed values true and false.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/customtriggers/ct_abc123/execute?organization_id=10234695&entity_id=SOME_INTEGER_VALUE" type: POST headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/customtriggers/ct_abc123/execute?organization_id=10234695&entity_id=SOME_INTEGER_VALUE") .post(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/customtriggers/ct_abc123/execute?organization_id=10234695&entity_id=SOME_INTEGER_VALUE', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("POST", "/books/v3/settings/customtriggers/ct_abc123/execute?organization_id=10234695&entity_id=SOME_INTEGER_VALUE", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/customtriggers/ct_abc123/execute?organization_id=10234695&entity_id=SOME_INTEGER_VALUE", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/settings/customtriggers/ct_abc123/execute?organization_id=10234695&entity_id=SOME_INTEGER_VALUE' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success" }

Get custom trigger URL

Get the ZAPI key URL for a custom trigger.
OAuth Scope : ZohoBooks.settings.READ

Path Parameters

customtrigger_ph
string
(Required)
Placeholder identifier of the custom trigger (e.g., ct_xxxxx).

Query Parameters

organization_id
string
(Required)
ID of the organization.
name_space
string
(Required)
Namespace for the custom trigger URL.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/customtriggers/ct_abc123/url/fetch?organization_id=10234695&name_space=SOME_STRING_VALUE" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/customtriggers/ct_abc123/url/fetch?organization_id=10234695&name_space=SOME_STRING_VALUE") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/customtriggers/ct_abc123/url/fetch?organization_id=10234695&name_space=SOME_STRING_VALUE', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/settings/customtriggers/ct_abc123/url/fetch?organization_id=10234695&name_space=SOME_STRING_VALUE", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/customtriggers/ct_abc123/url/fetch?organization_id=10234695&name_space=SOME_STRING_VALUE", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/settings/customtriggers/ct_abc123/url/fetch?organization_id=10234695&name_space=SOME_STRING_VALUE' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success" }

Create a retry policy

Create a new retry policy for webhook or custom function actions.
OAuth Scope : ZohoBooks.settings.CREATE

Arguments

policy_name
string
Name of the retry policy.
retry_type
string
(Required)
Type of retry strategy. Allowed Values: fixed, varying_linear, varying_exponential, honor_retry_after
action_type
string
(Required)
Type of action the policy applies to. Allowed Values: webhook, custom_function
base_interval
integer
Base interval between retries.
base_interval_unit
string
Unit for the base interval. Allowed Values: minutes, hours
interval_modifier
integer
Modifier applied to the interval between retries.
retry_count
integer
(Required)
Maximum number of retry attempts (1-20).

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/retrypolicies?organization_id=10234695" type: POST headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/retrypolicies?organization_id=10234695") .post(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/retrypolicies?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("POST", "/books/v3/retrypolicies?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/retrypolicies?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/retrypolicies?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "policy_name": "Default Retry Policy", "retry_type": "fixed", "action_type": "webhook", "base_interval": 0, "base_interval_unit": "minutes", "interval_modifier": 0, "retry_count": 3 }

Response Example

{ "code": 0, "message": "success", "retry_policy": { "policy_id": "460000000060001", "policy_name": "string", "action_type": "webhook", "retry_type": "fixed", "base_interval": 0, "base_interval_unit": "minutes", "interval_modifier": 0, "retry_count": 0 } }

List retry policies

Get a list of all retry policies configured in your organization.
OAuth Scope : ZohoBooks.settings.READ

Query Parameters

organization_id
string
(Required)
ID of the organization.
page
integer
Page number to be fetched. Default value is 1.
per_page
integer
Number of records to be fetched per page. Default value is 200.
sort_column
string
Sort retry policies by column. Allowed Values: created_time
sort_order
string
Sort order. Allowed Values: A (Ascending), D (Descending)

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/retrypolicies?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/retrypolicies?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/retrypolicies?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/retrypolicies?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/retrypolicies?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/retrypolicies?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "retrypolicies": [ { "policy_id": "460000000060001", "policy_name": "Default Retry Policy", "retry_type": "fixed", "base_interval": 5, "base_interval_unit": "minutes", "interval_modifier": 0, "retry_count": 3, "created_time": "string" }, {...}, {...} ] }

Update a retry policy

Update an existing retry policy.
OAuth Scope : ZohoBooks.settings.UPDATE

Arguments

policy_name
string
Name of the retry policy.
retry_type
string
(Required)
Type of retry strategy. Allowed Values: fixed, varying_linear, varying_exponential, honor_retry_after
action_type
string
(Required)
Type of action the policy applies to. Allowed Values: webhook, custom_function
base_interval
integer
Base interval between retries.
base_interval_unit
string
Unit for the base interval. Allowed Values: minutes, hours
interval_modifier
integer
Modifier applied to the interval between retries.
retry_count
integer
(Required)
Maximum number of retry attempts (1-20).

Path Parameters

policy_id
string
(Required)
Unique identifier of the retry policy.

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/retrypolicies/460000000060001?organization_id=10234695" type: PUT headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/retrypolicies/460000000060001?organization_id=10234695") .put(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'PUT', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/retrypolicies/460000000060001?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("PUT", "/books/v3/retrypolicies/460000000060001?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "PUT", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/retrypolicies/460000000060001?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request PUT \ --url 'https://www.zohoapis.com/books/v3/retrypolicies/460000000060001?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "policy_name": "Default Retry Policy", "retry_type": "fixed", "action_type": "webhook", "base_interval": 0, "base_interval_unit": "minutes", "interval_modifier": 0, "retry_count": 3 }

Response Example

{ "code": 0, "message": "success", "retry_policy": { "policy_id": "460000000060001", "policy_name": "string", "action_type": "webhook", "retry_type": "fixed", "base_interval": 0, "base_interval_unit": "minutes", "interval_modifier": 0, "retry_count": 0 } }

Get a retry policy

Get the details of a specific retry policy.
OAuth Scope : ZohoBooks.settings.READ

Path Parameters

policy_id
string
(Required)
Unique identifier of the retry policy.

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/retrypolicies/460000000060001?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/retrypolicies/460000000060001?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/retrypolicies/460000000060001?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/retrypolicies/460000000060001?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/retrypolicies/460000000060001?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/retrypolicies/460000000060001?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "retry_policy": { "policy_id": "460000000060001", "policy_name": "string", "action_type": "webhook", "retry_type": "fixed", "base_interval": 0, "base_interval_unit": "minutes", "interval_modifier": 0, "retry_count": 0 } }

Delete a retry policy

Delete an existing retry policy.
OAuth Scope : ZohoBooks.settings.DELETE

Path Parameters

policy_id
string
(Required)
Unique identifier of the retry policy.

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/retrypolicies/460000000060001?organization_id=10234695" type: DELETE headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/retrypolicies/460000000060001?organization_id=10234695") .delete(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'DELETE', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/retrypolicies/460000000060001?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("DELETE", "/books/v3/retrypolicies/460000000060001?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "DELETE", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/retrypolicies/460000000060001?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request DELETE \ --url 'https://www.zohoapis.com/books/v3/retrypolicies/460000000060001?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success" }

List workflow logs

Get a list of workflow execution logs.
OAuth Scope : ZohoBooks.settings.READ

Query Parameters

organization_id
string
(Required)
ID of the organization.
entity_type
string
Filter logs by entity type.
workflow_id
long
Filter logs by workflow ID.
triggered_by
long
Filter logs by the user who triggered the workflow.
entity_ids
string
Comma-separated list of entity IDs to filter logs.
user_action
string
Filter logs by user action. Allowed Values: created, edited, deleted, system
status
string
Filter logs by execution status. Allowed Values: executed, scheduled, skipped
filter_by
string
Filter logs by date range. Allowed Values: TransactionDate.Today, TransactionDate.ThisWeek, TransactionDate.ThisMonth, TransactionDate.ThisQuarter, TransactionDate.ThisYear, TransactionDate.CustomDate, etc.
from_date
string
Start date for custom date filter (yyyy-MM-dd).
to_date
string
End date for custom date filter (yyyy-MM-dd).
sort_column
string
Sort logs by column. Allowed Values: date, workflow_name, timestamp_formatted
page
integer
Page number to be fetched. Default value is 1.
per_page
integer
Number of records to be fetched per page. Default value is 200.
sort_order
string
Sort order. Allowed Values: A (Ascending), D (Descending)

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/reports/workflowlogs?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/reports/workflowlogs?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/reports/workflowlogs?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/reports/workflowlogs?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/reports/workflowlogs?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/reports/workflowlogs?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "workflow_logs_details": [ {...}, {...}, {...} ], "page_context": {...} }

Get workflow log details

Get the detailed execution log of a specific workflow run.
OAuth Scope : ZohoBooks.settings.READ

Query Parameters

organization_id
string
(Required)
ID of the organization.
workflow_history_id
long
(Required)
ID of the workflow history entry.
timestamp
long
(Required)
Timestamp of the workflow execution.
triggered_by
long
ID of the user who triggered the workflow.
page
integer
Page number to be fetched. Default value is 1.
per_page
integer
Number of records to be fetched per page. Default value is 200.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/workflowlogs/details?organization_id=10234695&workflow_history_id=SOME_INTEGER_VALUE&timestamp=SOME_INTEGER_VALUE" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/workflowlogs/details?organization_id=10234695&workflow_history_id=SOME_INTEGER_VALUE&timestamp=SOME_INTEGER_VALUE") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/workflowlogs/details?organization_id=10234695&workflow_history_id=SOME_INTEGER_VALUE&timestamp=SOME_INTEGER_VALUE', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/workflowlogs/details?organization_id=10234695&workflow_history_id=SOME_INTEGER_VALUE&timestamp=SOME_INTEGER_VALUE", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/workflowlogs/details?organization_id=10234695&workflow_history_id=SOME_INTEGER_VALUE&timestamp=SOME_INTEGER_VALUE", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/workflowlogs/details?organization_id=10234695&workflow_history_id=SOME_INTEGER_VALUE&timestamp=SOME_INTEGER_VALUE' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "workflow_logs_details": [ {...}, {...}, {...} ], "entity_fields": {...}, "meta_details": {...} }

List upcoming workflows

Get a report of upcoming time-based workflow executions.
OAuth Scope : ZohoBooks.reports.READ

Query Parameters

organization_id
string
(Required)
ID of the organization.
entity_ids
string
Comma-separated list of entity IDs to filter.
entity_type
string
Filter by entity type (e.g., invoice, bill).
workflow_id
long
Filter by workflow ID.
workflow_name
string
Filter by workflow name.
filter_by
string
Filter by date range. Allowed Values: TransactionDate.Today, TransactionDate.ThisWeek, TransactionDate.ThisMonth, TransactionDate.ThisQuarter, TransactionDate.ThisYear, TransactionDate.Tomorrow, TransactionDate.NextWeek, TransactionDate.NextMonth, TransactionDate.CustomDate
sort_column
string
Sort by column. Allowed Values: execution_date, workflow_name
page
integer
Page number to be fetched. Default value is 1.
per_page
integer
Number of records to be fetched per page. Default value is 200.
sort_order
string
Sort order. Allowed Values: A (Ascending), D (Descending)

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/reports/upcomingworkflows?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/reports/upcomingworkflows?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/reports/upcomingworkflows?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/reports/upcomingworkflows?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/reports/upcomingworkflows?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/reports/upcomingworkflows?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "upcoming_workflows_details": [ { "upcoming_workflows": [ { "entity_id": "string", "entity": "string", "entity_name": "string", "execution_time": "string", "execution_date": "string", "workflow_id": "string", "workflow_name": "string" } ], "group_name": "string" }, {...}, {...} ] }

List upcoming actions

Get a report of upcoming time-based workflow action executions.
OAuth Scope : ZohoBooks.reports.READ

Query Parameters

organization_id
string
(Required)
ID of the organization.
entity_ids
string
Comma-separated list of entity IDs to filter.
entity_type
string
Filter by entity type (e.g., invoice, bill).
workflow_id
long
Filter by workflow ID.
workflow_name
string
Filter by workflow name.
action_type
string
Filter by action type (e.g., alert, webhook, customfunction).
action_ids
string
Comma-separated list of action IDs to filter.
filter_by
string
Filter by date range. Allowed Values: TransactionDate.Today, TransactionDate.ThisWeek, TransactionDate.ThisMonth, TransactionDate.CustomDate, etc.
sort_column
string
Sort by column. Allowed Values: execution_date, workflow_name
page
integer
Page number to be fetched. Default value is 1.
per_page
integer
Number of records to be fetched per page. Default value is 200.
sort_order
string
Sort order. Allowed Values: A (Ascending), D (Descending)

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/reports/upcomingactions?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/reports/upcomingactions?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/reports/upcomingactions?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/reports/upcomingactions?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/reports/upcomingactions?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/reports/upcomingactions?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "upcoming_actions_details": [ { "upcoming_actions": [ { "entity_id": "string", "entity": "string", "entity_name": "string", "execution_time": "string", "execution_date": "string", "workflow_id": "string", "workflow_name": "string", "action_id": "string", "action_name": "string", "action_type": "string" } ], "group_name": "string" }, {...}, {...} ] }

List failed workflows

Get a report of failed workflow executions.
OAuth Scope : ZohoBooks.reports.READ

Query Parameters

organization_id
string
(Required)
ID of the organization.
entity_ids
string
Comma-separated list of entity IDs to filter.
entity_type
string
Filter by entity type.
workflow_id
long
Filter by workflow ID.
show_failed_only
boolean
Show only failed workflows. Allowed values true and false.
filter_by
string
Filter by date range.
sort_column
string
Sort by column. Allowed Values: execution_time, workflow_name
page
integer
Page number to be fetched. Default value is 1.
per_page
integer
Number of records to be fetched per page. Default value is 200.
sort_order
string
Sort order. Allowed Values: A (Ascending), D (Descending)

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/reports/failedworkflows?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/reports/failedworkflows?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/reports/failedworkflows?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/reports/failedworkflows?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/reports/failedworkflows?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/reports/failedworkflows?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "upcoming_workflows_details": [ { "upcoming_workflows": [ { "entity_id": "string", "entity": "string", "entity_name": "string", "execution_time": "string", "execution_date": "string", "workflow_id": "string", "workflow_name": "string" } ], "group_name": "string" }, {...}, {...} ] }

List failed workflow actions

Get a report of failed workflow action executions.
OAuth Scope : ZohoBooks.reports.READ

Query Parameters

organization_id
string
(Required)
ID of the organization.
entity_ids
string
Comma-separated list of entity IDs to filter.
entity_type
string
Filter by entity type.
workflow_id
long
Filter by workflow ID.
action_type
string
Filter by action type.
action_ids
string
Comma-separated list of action IDs to filter.
show_failed_only
boolean
Show only failed actions. Allowed values true and false.
filter_by
string
Filter by date range.
sort_column
string
Sort by column. Allowed Values: execution_time, workflow_name
page
integer
Page number to be fetched. Default value is 1.
per_page
integer
Number of records to be fetched per page. Default value is 200.
sort_order
string
Sort order. Allowed Values: A (Ascending), D (Descending)

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/reports/failedworkflowactions?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/reports/failedworkflowactions?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/reports/failedworkflowactions?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/reports/failedworkflowactions?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/reports/failedworkflowactions?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/reports/failedworkflowactions?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "upcoming_actions_details": [ { "upcoming_actions": [ { "entity_id": "string", "entity": "string", "entity_name": "string", "execution_time": "string", "execution_date": "string", "workflow_id": "string", "workflow_name": "string", "action_id": "string", "action_name": "string", "action_type": "string" } ], "group_name": "string" }, {...}, {...} ] }