In response to the question about connecting Zoho Creator to Zoho Writer for prefilled documents, I wanted to share a working implementation that demonstrates how to use the
record_id parameter with the Zoho Writer Merge API. This allows Writer to automatically fetch data from your Creator record without manually building the merge data map.
The Solution
According to the
official Merge and Sign documentation, instead of using
merge_data, you can pass the
record_id and Writer will fetch the data internally:
Key Insight:
This approach is applicable only for Zoho CRM, Creator, Recruit and Bigin templates. When you pass the record_id parameter, Zoho Writer automatically retrieves the field values from your Creator record - no need to manually construct a merge data map.
Working Script Example
Here's a complete Deluge function that demonstrates using the Creator record ID with the Merge and Sign API:
Pro Tip:
When configuring your merge template in Writer, you'll connect it to a Creator report as the data source. If you trigger a merge manually within Writer, all fields will populate correctly. However, when triggered via the Merge API, Writer uses the
Creator Get Record by ID API to fetch data from your report — this means any fields not included in the connected Creator report will return empty in the merged document. Ensure all fields you need are present in the Creator report before using the API.
void zWriterSign.sendForSigning(Form_Name fnRecord)
{
//fetch employee record
eeRecord = Employee[ID = fnRecord.Employee_Lookup];
//
//Writer template ID (found in document URL)
templateId = "dfd8f76sf0dfdfeb8974ifcx9873d9876d8s03";
//
//Use the Creator record ID - Writer will fetch the data automatically
recordId = fnRecord.ID.toString();
//
param = Map();
param.put("record_id",recordId);
param.put("service_name","zohosign");
param.put("filename",fnRecord.Field_Name);
//
//Build signer list
signerList = List();
//
//First signer - approver
signerObj1 = Map();
signerObj1.put("recipient_1",ifnull(eeRecord.Email,"fallback@example.com"));
signerObj1.put("action_type","approve");
//approve|sign|view|in_person_sign
signerObj1.put("language","en");
signerList.add(signerObj1);
//
//Second signer - actual signer
signerObj2 = Map();
signerObj2.put("recipient_2",fnRecord.Signer_Email);
signerObj2.put("action_type","sign");
//approve|sign|view|in_person_sign
signerObj2.put("language","en");
signerList.add(signerObj2);
//
param.put("signer_data",signerList);
param.put("sign_in_order","true");
//
//Optional: custom message
if(!fnRecord.Custom_Message.isEmpty())
{
param.put("message",fnRecord.Custom_Message);
}
//
//Optional parameters
param.put("reminder_period","3");
param.put("set_expire","7");
param.put("test_mode",true);
//
//Execute the merge and sign request
newSignMerge = invokeurl
[
url :"https://www.zohoapis.eu/writer/api/v1/documents/" + templateId + "/merge/sign"
type :POST
parameters:param
connection:"zwritersign"
];
//
info newSignMerge;
}
Important: Data Center Considerations
The API endpoint URL must match your Zoho data center. Using the wrong domain will result in authentication failures or data access issues.
How to determine your data center:
- Log into your Zoho Creator application
- Check the URL in your browser's address bar
- If it shows
creator.zoho.eu, use zohoapis.eu - If it shows
creator.zoho.com, use zohoapis.com - Match the domain suffix accordingly for other regions
Prerequisites
Before using this API, ensure you have:
1. Template Access
Open your Writer template at least once from the Zoho Writer dashboard before sending API requests. Navigate to the hamburger menu → Automate tab.
|
2. OAuth Connection
Create a connection in Creator with the required scopes:
ZohoWriter.documentEditor.ALL
ZohoWriter.merge.ALL
ZohoSign.documents.ALL
|
Template Field Mapping:
Your Writer template merge fields must match your Creator form field names exactly. When using record_id, Writer automatically maps fields by their link names.
Available Merge API Endpoints
The record_id approach works with multiple Writer Merge APIs:
| API |
Endpoint |
Purpose |
| Merge and Sign |
/merge/sign |
Merge document and send for electronic signature via Zoho Sign |
| Merge and Email |
/merge/email |
Merge document and send as email attachment |
| Merge and Store |
/merge/store |
Merge document and save to Zoho WorkDrive |
| Merge Document |
/merge |
Merge and return download link (expires in 2 days) |
| Merge and Share Fillable |
/merge/sharetofill |
Generate pre-filled fillable links for data collection |
Signer Configuration Options
//Available action types for signers:
signerObj.put("action_type","sign"); //Requires signature
signerObj.put("action_type","approve"); //Approval only, no signature
signerObj.put("action_type","view"); //View only access
signerObj.put("action_type","in_person_sign"); //In-person signing
//Optional: Specify recipient name
signerObj.put("recipient_name","John Smith");
//Optional: Add private notes to signer
signerObj.put("private_notes","Please review section 3 carefully");
//Optional: Alternative delivery methods
deliveryType = Map();
deliveryType.put("type","sms"); //or "whatsapp"
deliveryType.put("countrycode","+1");
deliveryType.put("phonenumber","5551234567");
signerObj.put("delivery_type",{deliveryType});
Common Issues and Solutions
| Issue |
Cause |
Solution |
| "Invalid merge data" error |
Record ID not found or wrong format |
Ensure record_id is passed as a string using .toString() |
| Empty merge fields |
Field name mismatch between Creator and Writer |
Verify template merge field names match Creator field link names exactly |
| Authentication failure |
Wrong data center domain |
Match API domain to your account's data center |
| "Template not accessible" error |
Template not opened in Writer UI |
Open template once from Writer dashboard → Automate tab |
| Connection scope error |
Missing OAuth scopes |
Regenerate connection with all required scopes listed above |
Pro Tip:
Use param.put("test_mode",true); during development. This allows you to test the merge without consuming Zoho Sign credits (though the output will contain a watermark). Remove this parameter for production use.
📚 Documentation References:
Recent Topics
Free webinar: Focal point: Building a financial ecosystem with Zoho Vault and Zoho Workplace
Hi everyone! Cyber threats against the financial sector are escalating. In the last two decades, nearly one-fifth of reported incidents targeted financial institutions, causing $12 billion in direct losses. Cybercriminals are becoming more sophisticated,
New features in Zoho Vault
We’re thrilled to introduce a wave of powerful updates in Zoho Vault, designed to enhance security, streamline workflows, and improve your overall experience. Let’s dive into what’s new! Folder creation restrictions Limit who can create folders in your
Join our World Password and Passkey Day expert Q&A 2025
Hey everyone! World Password and Passkey Day is almost here, and there's no better time to talk about something we all rely on daily—secure authentication. Did you know that a staggering 60% of hacking-related breaches are tied to weak or stolen passwords?
Dashlane discontinued its free plan: Here's why Zoho Vault's free plan is worth the switch
Hey everyone, Dashlane password manager has officially announced that its free plan will be discontinued starting September 16, 2025. This change means that current free users will need to either upgrade to a paid subscription or export their data and
Introducing SecureForms in Zoho Vault
Hey everyone, Let’s face it—asking someone to send over a password or other sensitive data is rarely straightforward. You wait. You nudge. You follow up once, twice—maybe more. And when the information finally arrives, it shows up in the worst possible
Clickjacking: Zoho Vault's Response
Issue: Password manager browser extensions are found to be vulnerable to clickjacking security vulnerabilities that could allow attackers to steal account credentials, TFA codes, and card details under certain conditions. Reported by: Marek Toth, Independent
Free webinar: Security that works: Building resilience for the AI-powered workforce
Hello there, Did you know that more than 51% of organizations worldwide have experienced one or more security breaches, each costing over $1 million in losses or incident response? In today’s threat landscape, simply playing defense is no longer enough.
Free webinar—Redefining workforce security with Zoho Vault: Passwords, passkeys, and multi-factor authentication
Hi everyone! Did you know that in Q2 alone, 94 million data records were leaked globally? Behind every breach is a combination of poor password habits, phishing attacks, privilege misuse, and simple human error. The fallout—including reputational damage,
Fill Colors
Hello, Just curious, is it possible to manage the Used and standard colors in the fill drop down menu ? I would like to change/edit them is possible to colors I frequently use. Thanks for you reply, Bruce
Client scripts for Zoho Books ?
Good day everyone, I am looking for a way to be able to interact with the Quotes and Invoices as they are being created. Think of it like Zoho client script in Zoho CRM. But for the life of me I dont see a way to do this. The issue with having function
Fillable template with dynamic tables?
Is there a way to build a fillable template so that users can add rows to a table? To describe what I'm trying to accomplish the table has 3 sections; a header row, some number of rows with custom information, and a summary row with totals. I can't figure
Invoicing multiple expense items as a single line item
My client would like me to invoice them for multiple expense items on a single line item on an invoice. Can this be done? I know I can import billable expenses to an invoice, but I don't know how to show them as a single line item or have them
Tables improvement ideas / features
Heya, I've been using Zoho Tables for a few months now and wanted to post some features that I think will be greatly beneficial for the tool: 1. Ability to delete a record in automation or move a record in automation. - Usecase: I move a record from one
Announcing offline payment modes for event tickets
Hello everyone, Collecting ticket payments from prospective attendees can be a tricky part of event planning. While Zoho Backstage has always allowed you to collect payments online as people buy tickets from your event microsite, we have now enabled
Gmail is ramping up its email sender policy from November 2025
Hello marketers, As you may be aware, Gmail introduced a guideline for bulk senders starting February 2024. If not, here's a quick refresher straight from Google: After this policy was announced first in 2023 and soft-implemented in February 2024, we
Is there a list of Zoho Icons?
Is there a list of Zoho Icons you can reference: i.e. business-gold is <image marginRight='7px' color='#2A70E7' bgColor='#FFFFFF' width='52px' height='52px' type='icon' value='business-gold' size='24px' cornerRadius='26px' iconType='solid' /> Thanks!
Item images
Can we get an "On hover" expanded image for items please ?
Ability to Create and Manage YouTube Video Chapters in Zoho Social
Hi Zoho Social Team, How are you? We would like to request an enhancement to Zoho Social that would allow users to create and manage YouTube video chapters directly within the platform. Currently, Zoho Social does not support manually adding chapters
What happens to my current site SEO if i opt for zoho creator?
I have an existing website and I need to use Zoho creators for the rapid creation of my webpage creation. Currently, my IT team is creating the web pages, but I am concerned about the SEO of my current website if I shift to zoho will i loose it all?
Preview Emails with Merge Fields before sending
Hello, Are there plans to preview an email with merge fields before sending out? Currently, all you see in the preview are the merge field values, but before I send out the email I want to make sure the merge is working. Also, the saved emails only show
User Filter not selecting All Items
We are encountering 2 issues when using the user filter. When users are trying to search using the filter option, the OK button is grayed out. Users have to unselect or make a change before it filters properly. 2. When filtering and the OK button works,
Support Nested JavaScript Variables in PageSense Pop-up Targeting
Hello Zoho PageSense Team, I hope you're doing well. I’d like to request a feature enhancement for the PageSense pop-up targeting functionality. Current Limitation: Currently, PageSense pop-ups can be triggered using simple JavaScript variables. However,
Cannot Invert Axis for Rankings
Hi there I want to be able to create a ranking graph in Analytics/BI, with 1 at the top of the Y axis, but I am unable to invert the axis. Super simple example in Excel below. Higher rankings need to be higher up on the graph to give the correct visual
How to copy value from a single line field into a picklist field within a module's subform?
Hello there, I have a single line field in a module's subform. I would like the value in the field to automatically update a picklist field within the same subform (both have items with the same names). Is this possible via function? Unfortunately, workflows
Committed Stock and To Be Received Stock via API?
Is it possible to retrieve Committed Stock and/or To Be Received Stock for an Item via the API? I want to use this information for calculating the amount of inventory needed to be purchased.
Creating Email template that attaches file uploaded in specific field.
If there's a way to do this using Zoho CRM's built-in features, then this has eluded me! I'm looking to create a workflow that automatically sends an email upon execution, and that email includes an attachment uploaded in a specific field. Email templates
Marketer’s Space - Automate a Personalized Holiday Workflow with Zoho Campaigns
Hello marketers, Welcome back to another post in Marketer’s Space! From Thanksgiving through Christmas, you have a flurry of opportunities to connect with your audience. In this post, we’ll see how you can plan an entire month-long automated workflow
Sorting columns in Zoho Projects
Hi, In project management best practice, sorting columns (ascending, descending) is an important tool. Sorting dates to see the order of tasks starting, sorting on priority or even on planned hours is a must for an efficient project control. Currently,
Zoho CRM - Calendar Cards View - Let Users Decide What Is Displayed On Calendar Entries
Imagine planning your week of face-to-face meetings across three counties. You’re trying to group appointments by location to make the best use of your time, but Zoho CRM’s calendar doesn’t show where each meeting is happening. You’re left trying to remember
Zoho Inventory - How to pay a supplier up front then receive multiple deliveries
How do we manage situations where we pay a supplier up front, then the receive the products in increments? Example Workflow: Create Purchase Order > Receive Bill for full amount > Receive Items 2 or more deliveries. Currently, once a Bill is created against
How can I add or change the active customer in Zoho Projects?
I'm trying to change the customer in an active Zoho project. Is it possible to add or change the customer?
What happens when someone clicks 'unsubscribe' in a zoho CRM email
Hello, As per, i am going round in circles trying to find an answer to these 2 question. I have an email template that has an unsubscribe link in the footer in zoho CRM. First, what happens when someone clicks it - where does the contact get unsubscribed
Zoho CRM - Scheduled Reports Which Contain Chart
Hi Zoho CRM Team, I'm requesting that the Report Export and Scheduling feature be enhanced to include a chart, if one has been created on a report. At the moment I have a report which shows Sales This Week by Deal Owner and a pie chart at the top of the
Cadences
I have just started using Cadences for follow-up up email pipeline. Is it just me or do you find the functionality very basic? For example, it will tell me (if I go looking for it) if someone has replied to a follow-up and been unenrolled; but it won't
Canvas View in Zoho Recruit
Is it possible or would it be possible to have the new 'Canvas View' in Zoho Recruit?
Zoho Inventory - Move Orders
Quick question about Move Orders... Why is there no status to say something like "Draft", "In Progress" and "Completed", similar to Transfer Orders? I'm assuming that when something needs to be moved it should be planned in Inventory, executed and then
Kaizen #215 - Workflow APIs - Part 3 - Create and Update Workflow Rules
Welcome back to another week of Kaizen! Over the last couple of weeks, we’ve joined Zylker Cloud Services as they review and improve their workflows. In Part 1, we discovered and audited their sprawling workflow landscape. In Part 2, we learned how to
DataPrep Bigquery Connection failed
Hello everybody, I want to create a connnection beetwen Bigquery and Dataprep but when I try to connect my project I got this error Loading tables has failed. Table list fetched from the data source expired.
Issue in Zoho People Regularization – Incorrect Hour Calculation
I have noticed that when applying attendance regularization in Zoho People for previous dates, the total working hours are not calculated correctly. For example, even if the check-in is 10:00 AM and check-out is 6:00 PM, the system shows an incorrect
Allow Multiple usage units to items while adding them to sales/purchase transactions
The usage unit of items added in zoho books are static right now and can not be changed. But certain items are received or sold in multiple usage units. One example is fabric. It can be bought in Meters, inches, kgs or other units. Another example would
Next Page