Skip to content

Zoho: Email Templates

Zoho emailTemplates.getEmailTemplates: arguments, response, policy and SDK examples.

← Email templates operations · Get started

Operation zoho.getemailtemplates

Provider route: GET /crm/v8/settings/email_templates. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/zoho with npm, or alter-sdk-zoho with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { ZohoIntegration } from "@alter-ai/zoho";
async function execute(input: Parameters<ZohoIntegration["emailTemplates"]["getEmailTemplates"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new ZohoIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.emailTemplates.getEmailTemplates(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_zoho import ZohoIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = ZohoIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.email_templates.get_email_templates(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
queryobjectOptionalAdditional keys: not allowed
query.modulestringOptionalMaximum length: 255
query.per_pageintegerOptionalDefault: 200
Format: int32
Maximum: 200
query.pageintegerOptionalDefault: 1
Format: int32
Minimum: 1

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$JSONRoot
$ (anyOf 1)ModelAlternativeExpand Email Templates — response body — Successful response for email templates retrieval
$ (anyOf 2)nullAlternative

Referenced models: Email Templates — response body — Successful response for email templates retrieval

3 more schemas are linked from the tables above, on the schema pages.

Email Templates — response body — Successful response for email templates retrieval
FieldTypePresenceDescription and constraints
$objectRootSuccessful response for email templates retrieval
Additional keys: not allowed
email_templatesarrayRequired within parentRepresents the list of email templates matching the request criteria.
Maximum items: 2000
email_templates[]ModelEach itemExpand Email Templates — response body — Successful response for email templates retrieval email templates item
infoModelRequired within parentExpand Email Templates — response body — Successful response for email templates retrieval info

Referenced models: Email Templates — response body — Successful response for email templates retrieval email templates item, Email Templates — response body — Successful response for email templates retrieval info

Email Templates — response body — Successful response for email templates retrieval email templates item
FieldTypePresenceDescription and constraints
$objectRootRepresents an Email Template in list view with summary information, including metadata, statistics, and association details.
Additional keys: not allowed
activebooleanRequired within parentIndicates whether the Email Template is active.
Possible values:
**true** - The template is active.
**false** - The template is inactive/deleted.
associatedbooleanRequired within parentIndicates whether the Email Template is currently associated with one or more CRM components.
Possible values:
**true** - The template is associated with one or more CRM components.
**false** - The template is not associated with any CRM component.
attachmentsJSONRequired within parent
attachments (anyOf 1)arrayAlternativeRepresents the list of attachments associated with the Email Template.
Maximum items: 10
attachments (anyOf 1)[]ModelEach itemExpand Email Templates — response body — Successful response for email templates retrieval email templates item attachments null item
attachments (anyOf 2)nullAlternativeRepresents the list of attachments associated with the Email Template.
Maximum items: 10
attachments (anyOf 2)[]ModelEach itemExpand Email Templates — response body — Successful response for email templates retrieval email templates item attachments null item
categorystringRequired within parentTemplate category - normal, draft, marketplace, plugin, or default
Known values: normal, draft, marketplace, plugin, system_templates
consent_linkedbooleanRequired within parentIndicates whether this Email Template is linked to a consent form.
Possible values:
**true** - The template is linked to a consent form.
**false** - The template is not linked to a consent form.
created_byModelRequired within parentExpand Email Templates — response body — Successful response for email templates retrieval email templates item created by
created_timestringRequired within parentRepresents the timestamp indicating when Zoho CRM created the Email Template.
Format: date-time
editor_modestringRequired within parentRepresents the editor mode used to create the Email Template.
Possible values:
**plain_text** - The template uses plain text format.
**rich_text** - The template uses rich text format.
**gallery** - The template uses the gallery drag-and-drop editor.
Known values: plain_text, rich_text, gallery
favoritebooleanRequired within parentIndicates whether the Email Template is marked as a favorite by the authenticated user.
Possible values:
**true** - The template is marked as a favorite.
**false** - The template is not marked as a favorite.
folderModelRequired within parentExpand Email Templates — response body — Successful response for email templates retrieval email templates item folder
idstringRequired within parentRepresents the unique ID of the Email Template.
Maximum length: 255
last_usage_timeJSONRequired within parent
last_usage_time (anyOf 1)stringAlternativeRepresents the timestamp indicating when the Email Template was last used.
Format: date-time
last_usage_time (anyOf 2)nullAlternativeRepresents the timestamp indicating when the Email Template was last used.
Format: date-time
last_version_statisticsobjectRequired within parentRepresents the email delivery and engagement statistics from the most recent version of the template.
Additional keys: not allowed
last_version_statistics.bouncedJSONRequired within parent
last_version_statistics.bounced (anyOf 1)integerAlternativeRepresents the number of emails that bounced when sent using this template.
Format: int32
last_version_statistics.bounced (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
last_version_statistics.clickedJSONRequired within parent
last_version_statistics.clicked (anyOf 1)integerAlternativeRepresents the number of link clicks recorded in emails sent using this template.
Format: int32
last_version_statistics.clicked (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
last_version_statistics.deliveredJSONRequired within parent
last_version_statistics.delivered (anyOf 1)integerAlternativeRepresents the number of emails delivered successfully when sent using this template.
Format: int32
last_version_statistics.delivered (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
last_version_statistics.openedJSONRequired within parent
last_version_statistics.opened (anyOf 1)integerAlternativeRepresents the number of emails opened by recipients when sent using this template.
Format: int32
last_version_statistics.opened (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
last_version_statistics.sentJSONRequired within parent
last_version_statistics.sent (anyOf 1)integerAlternativeRepresents the total number of emails sent using this template.
Format: int32
last_version_statistics.sent (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
last_version_statistics.trackedJSONRequired within parent
last_version_statistics.tracked (anyOf 1)integerAlternativeRepresents the number of emails sent using this template for which tracking is enabled.
Format: int32
last_version_statistics.tracked (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
modified_byModelRequired within parentExpand Email Templates — response body — Successful response for email templates retrieval email templates item created by
modified_timestringRequired within parentRepresents the timestamp indicating when the Email Template was last modified.
Format: date-time
moduleModelRequired within parentExpand Email Templates — response body — Successful response for email templates retrieval email templates item module
namestringRequired within parentRepresents the display name of the Email Template.
Maximum length: 75
subjectstringRequired within parentRepresents the email subject line of the template.
Maximum length: 250

Referenced models: Email Templates — response body — Successful response for email templates retrieval email templates item folder, Email Templates — response body — Successful response for email templates retrieval email templates item module, Email Templates — response body — Successful response for email templates retrieval email templates item created by, Email Templates — response body — Successful response for email templates retrieval email templates item attachments null item

Email Templates — response body — Successful response for email templates retrieval info
FieldTypePresenceDescription and constraints
$objectRootRepresents the pagination metadata for the email templates list response.
Additional keys: not allowed
countJSONRequired within parent
count (anyOf 1)integerAlternativeRepresents the number of Email Template records returned in the current page.
Format: int32
count (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
more_recordsbooleanRequired within parentIndicates whether additional pages of results are available.
Possible values:
**true** - More records are available on subsequent pages.
**false** - The current page contains the last available records.
pageJSONRequired within parent
page (anyOf 1)integerAlternativeRepresents the current page number of the paginated response.
Format: int32
page (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
per_pageJSONRequired within parent
per_page (anyOf 1)integerAlternativeRepresents the number of Email Template records returned per page.
Format: int32
per_page (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
Email Templates — response body — Successful response for email templates retrieval email templates item folder
FieldTypePresenceDescription and constraints
$objectRootRepresents a reference to the folder in which the Email Template is stored.
Additional keys: not allowed
idstringRequired within parentRepresents the unique ID of the folder.
Maximum length: 255
namestringRequired within parentRepresents the display name of the folder.
Maximum length: 255

SDK function policy ID: zoho.getemailtemplates. Catalog operation: getEmailTemplates. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

No-content response statuses: [204]

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.