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
Send out follow-up email in the same thread (threaded conversations in individual emails) from Zoho CRM
Hi, I'm new to Zoho. I'm trying to send individual emails to my leads one by one. And I'll send out follow up email if I don't hear back from them later. However, instead of sending a new email, I want to reply in the same email thread so that the recipients
Cadence Support in Zoho Vertical Studio
We would like to know whether it is possible to create and configure Cadences in Zoho Vertical Studio, similar to the Cadence feature available in Zoho CRM. Please confirm if Vertical Studio supports creating cadences for modules and users, and whether
Removing "Products" as mandatory field from Sales Order creation page
Hello, friends According to our workflow, we should: 1) create Sales Order (Stage "New") 2) call and discuss the Products with a customer (Stage "Communication") 3) add the Products to the Sales Order during the call However, "Products" is mandatory to
Zoho Books says "The customer "Hakimuddin P A Ali" already exists. Please specify a different name.""
One of my transaction is not getting posted from Stripe to Zoho books. I already checked in Zoho books that there is no customer already present in Zoho books with the same name (as the error mentions) I already raised this complaint on Zoho flow portal,
Is it possible to automate a file to be directly uploaded to a specific subfolder in Zoho Workdrive?
I am establishing a workflow so that when a new task is marked "complete", the document submitted in the task (under the "Documents" tab) is automatically uploaded to a specific subfolder in the associated WorkDrive for the project. However, the dilemma
Steuerberater der Zoho benutzt in Deutschland
I write in English because the issue is related to German regulations. Wir sind ein Unternehmen, welches aktuell keine Pflicht zur doppelten Buchführung hat. Aktuell bucht unser Steuerberater jeden Beleg, auch unsere Auslagen. Wir würden dies gerne selbst
Why are some folders not showing up as an action trigger in Zoho Flow?
I am currently working on a flow that automates the process of creating a folder in WorkDrive once a Task List is created. When I am selecting a destination for the folder, some projects are not showing up. I intend to create a folder within a specific
Getting Date from PostgreSQL error
I am pulling data from PostgreSQL table into a CRM record via FLOW but the field is coming out empty. Need some suggestions: Field Type in CRM: Date/Time Field value in PostgreSQL: 2024-12-05 21:06:32.479 Field value in FLOW "Fetch Row": created : "2024-12-05T21:06:32.479382000",
Zoho Flow to SendOwl API error
SendOwl is listed in the apps list of Zoho Flow. When trying to connect through the API with valid key and secret, the error given is: SendOwl says "HTTP Basic: Access denied" It seems Zoho doesn't connect via HTTPS. I've already tried using webhooks,
decisions based on content of a ticket
Hi, I need to create a flow that sends automated email based on the content of a ticket in zoho desk. I have certain tickets that are formatted in a particular way, and contain certain keywords. How can I filter (based on decisions) the tickets based
Newline Character "\n" parsing problem in webhooks
Hi there, I am facing an issue in Zoho Flow (maybe a general issue or maybe only in Zoho Flow): I have this function: void sendListWebhook(string url, list array) { for each arrayElement in array { result = invokeurl [ url :url type :POST parameters:arrayElement.toString()
One Company, multi branches, multi warehouses and I need to manage this in one organization
Dears, I'm a new user to zoho solutions, however I found a lot of persons giving a nice feedback about it also a lot of good reviews. I though why we try to move to it in our company. I'm not sure if Zoho could give me all what I need or not that's why I'm going to post in this topic most of the things I know about managing our business to let you ,as zoho experts, tell me if Zoho will meet my business requirements or not. First of all we are a flowers and landscaping company we have like 6 to
Migration Evernote
Bonjour Apres plus d'une dizaine d'année passer avec evernote j'ai décidé de franchir le pas . J'ai débuté par migrer mes notes vers zoho et depuis la migration est bloquée. Impossible d'avoir un retour du support malgré plusieurs mails et tentative d'appel
Pushing GCLID info from Gravity Forms to ZohoCRM
We are switching to Gravity Forms from Zoho Forms and I cannot find any good info on how to make sure my GCLID tracking info is pushed through to the CRM through my new forms. There was an article in the documentation about placing something within the
On Zoho Flow, Record deleted trigger from Zoho Creator
On creating flow in Zoho Flow, when we select app Zoho created, it provides 3 trigger options - Record created, Record updated and Record created or updated We need trigger on "Record Delete" as well, We have a use case to fire our system api if record
Zoho Flow Switch On Not Working
I have created a flow which is when the mailbox address received the email that meet the condition will auto fetch the contact, account and finally create the ticket by using Zoho Desk. When I do a test and debug on my flow it work well as what I expect
MS Teams Flow Integration Question
Where can I find the chat ID for the "Post message to chat" target?
Zoho Flow - Access denied to recover recording from call module - OpenAI
Hi, I am trying to build a Flow to recover recoding when a new call is saved in my CRM. I have integrated my CRM with ringcentral and the recordings are saved in the event. Trigger: When new module entry Step 2: Fetch module entry (Zoho CRM says "permission
Unable to send price in big commerce from zoho flow.
I am creating a flow from zoho flow to create a product in zoho inventory and sending this to big commerce. But the problem is like when ever i send the price its getting error. it require decimal format value if i am sending ${trigger.sales_rate} the
Not sending mail to new lead in zoho flow
I have created a flow in zoho flow and triggered an action to send email notification when the new lead is created but even after user entering the mail id the email is not going to them
Access query string from incoming webhook URL in Zoho Flow
I have a fairly straightforward use case, but cannot find anything conclusive on this subject. How can I simply access the query string of the incoming webhook request in Zoho Flow? I am attaching the Deal ID to the end of the request like: https://flow.zoho.com/762439902/flow/webhook/incoming?zapikey=1001.0dec2d7dd15080c464a13925275f0129.448c23ee219c545c89f5a178456cfc8b&isdebug=false&dealID=${Deals.Deal
Unable to access my Zoho forms account
For some days now, I haven't had access to my Zoho Forms account. I keep getting an error that says, "You are an inactive user in your organization" via the mobile app and "You don't have permission to access this organization" via the web. I was removed
Identify Unused Deluge Functions in Zoho CRM
Hello Zoho Support Team, I would like to request a feature that helps administrators identify unused or rarely used Deluge functions in Zoho CRM. Currently, Deluge functions are distributed across different areas, and there is no centralized overview
User Automation: User based workflow rules & webhooks
User management is an undeniable part of project management and requires adequate monitoring. As teams grow and projects multiply, manual coordination for updating users & permissions becomes difficult and can give way to errors. User automation in Zoho
Update on V2 API End-of-Life Timeline
Dear Users, Earlier this year, we shared the launch of the V3 APIs and requested users to migrate from the older V2 APIs by December 2025. We have received valuable feedback from our users and partners regarding their migration timelines. We are happy
Run a workflow after record merge
Hello, We are wondering if there is a way to trigger a workflow after two records are merged? We have a sms service that use to text back and forth with Prospects and Contacts. To make it easy for our users, we automatically create them in this other
Live webinar | The Evolution of Zoho Show: 2025 Feature Recap
2025 has been a year of exciting updates and features for Zoho Show. From advanced design and formatting tools to smarter presentation delivery, enhanced collaboration, and AI-powered features—along with the launch of our desktop apps, Show has continued
Batch Tracking custom function
Hi fellow zoho users, We have our ecommerce site setup to shopify. I have some products I want to add batch tracking too, my only issue is that it breaks our shopify workflow (create sales order, invoice, payment, package) because it requires us to manually
Include Suggested Articles in New Ticket Email
When someone creates a new ticket, is there any way to include recommended knowledge base articles (like the ones Zia Suggests) in the email notification to the user? When they're waiting for a reply, it would be nice to have sent them some recommended
Item Bulk Edit - Allow for Reorder Level
We're implementing a process for using the Reorder Level field for Items, and I have to go through and add this value to a huge chunk of our Items. It's driving me bonkers that I have to do this individually through the UI rather than bulk updating. It
Sharing my portal URL with clients outside the project
Hi I need help making my project public for anyone to check on my task. I'm a freelance artist and I use trello to keep track on my client's projects however I wanted to do an upgrade. Went on here and so far I'm loving it. However, I'm having an issue sharing my url to those to see progress. They said they needed an account to access my project. How do I fix this? Without them needing an account.
Zoho Flow + QuickBooks Estimates – Line items not created from CRM subform
Hi everyone, I’m trying to create QuickBooks Estimates from Zoho CRM Quotes using Zoho Flow. I’m aware that Zoho Flow’s native “Create Estimate” action does not support multiple line items, so I followed the community guidance for Invoices using a custom
SAP S/4 HANA Integration via ZOHO Flow
Hi How do I change the SAP Client ID while creating a new connection ? MY client ID is 421. I believe the client id should be an input field for length 3 numbers rather then a drop down to select from a fixed set of values. Thanks
VLOOKUP FUNCTION PROBLEM
Hello, i have a problem with the VLOOKUP function in my sheet http://public.sheet.zoho.com/public/tonimoreno/indicemasacorporal2 in cell D2. This function doesn't work correctly and always returns the last content of the range. Can you help me?
Zoho Flow Completely Broken?
Since December 13th, 100% of our flows have stopped working completely. Nothing is working or triggering??? I called support & sat on the line with them for 2 HOURS until they finally concluded it was a back-end problem on their end?? Now i'm calling
Print / Export full Dashboard page
Hello Zoho team, It is currently only possible to print/export one component of a dashboard at a time. Requesting the option to print/export a full dashboard page with all components to a pdf or picture. Doing through the browser doesn't give good results.
emails duplicated in my outlook client
Hello I am just new here and I have a litle problem that I do not find how to solve. I sumarise here after. Your help would be very appreciated. I have just recently contracted this zoho mail servicesservices as an initial evaluation yesterday night. I then: - opened a free account - created 1 initial email address ..........@domain.com - created a second email address ..........@domain.com - proceeded with the config instructions (checking the ownership of my domain, changing MX etc... ) as
How to check task starting time in zoho mobile app?
I am using the Zoho mobile app on my iPhone, and I am not able to see the task's starting and finishing times. When opening the Task information / Details, I can only see the Task start date and due date, but not the time. Is there any way to check a
Creating an extension in Sigma: Zoho CRM isn't selectable as a service
I have 2 Zoho accounts which are part of 2 different workplaces. One workplace is able to select 'Zoho CRM' as a service option when creating a new extension, the other one is not. I'm not sure what the exact differences are between them. What do I need
List of packaged components and if they are upgradable
Hello, In reference to the article Components and Packaging in Zoho Vertical Studio, can you provide an overview of what these are. Can you also please provide a list of of components that are considered Packaged and also whether they are Upgradable?
Next Page