Zoho Creator to Zoho Writer for prefilled documents...

Zoho Creator to Zoho Writer for prefilled documents...

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.
Data Center Region API Domain
US United States https://www.zohoapis.com/writer/api/v1/...
EU Europe https://www.zohoapis.eu/writer/api/v1/...
IN India https://www.zohoapis.in/writer/api/v1/...
AU Australia https://www.zohoapis.com.au/writer/api/v1/...
JP Japan https://www.zohoapis.jp/writer/api/v1/...
CA Canada https://www.zohoapis.ca/writer/api/v1/...
CN China https://www.zohoapis.com.cn/writer/api/v1/...
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.


      Zoho Campaigns Resources


        • Desk Community Learning Series


        • Digest


        • Functions


        • Meetups


        • Kbase


        • Resources


        • Glossary


        • Desk Marketplace


        • MVP Corner


        • Word of the Day


        • Ask the Experts


          Zoho CRM Plus Resources

            Zoho Books Resources


              Zoho Subscriptions Resources

                Zoho Projects Resources


                  Zoho Sprints Resources


                    Zoho Orchestly Resources


                      Zoho Creator Resources


                        Zoho WorkDrive Resources



                          Zoho CRM Resources

                          • CRM Community Learning Series

                            CRM Community Learning Series


                          • Tips

                            Tips

                          • Functions

                            Functions

                          • Meetups

                            Meetups

                          • Kbase

                            Kbase

                          • Resources

                            Resources

                          • Digest

                            Digest

                          • CRM Marketplace

                            CRM Marketplace

                          • MVP Corner

                            MVP Corner




                            Zoho Writer Writer

                            Get Started. Write Away!

                            Writer is a powerful online word processor, designed for collaborative work.

                              Zoho CRM コンテンツ



                                ご検討中の方

                                  • Recent Topics

                                  • Reverse Charge Services (Non-EU) Showing Correctly in 84/85 and 67, But Missing in Box 46 - Germany

                                    Hi, I'm located in Germany and I’ve set up my expenses for non-EU services (e.g., OpenAI, DeepSeek) under the reverse charge mechanism (§ 13b UStG) in Zoho Books, and I noticed some discrepancies in the VAT Summary Report. What’s Correct: Reverse Charge
                                  • Zoho Live Chat/Support

                                    What is going on with Zoho support lately? I've tried to use the live chat feature 4 different times and it refuses to connect to any (despite waiting over 30 minutes one of the tries). I finally gave up and emailed my question nearly a week ago and still
                                  • Can we have a module to records Certificate No and TDS rates for Lower TDS Certificates by the vendors ?

                                    Can we have a module to records Certificate No and TDS rates for Lower TDS Certificates by the vendors ?
                                  • Tip #38- Track Organizational Changes: A Guide to Using Action Log Viewer- 'Insider Insights'

                                    Hello Zoho Assist Community! Ever needed to trace who did what and when within your remote support operations? Let’s say your support team is growing, and you want to monitor key activities like settings updates, user invites, module changes, or permission
                                  • Answer Bot - Issues with language recognization

                                    When a user enters the phrase "gift vouchers" into the chatbot as their first message, the bot responds in French, even though: The default bot language is set to English The user's browser language settings are set to English All translate settings in
                                  • Tip of the Week #67– Avoid confusion – Mark duplicate threads.

                                    When customers send the same message to multiple email addresses, such as support@ and sales@, your team may end up seeing the same message in different inboxes. This creates confusion, risks double replies, and clutters your workspace. Use the Mark as
                                  • Final Reminder: Discontinuation of Older ASAP Widgets and Mobile SDK Support

                                    We launched the new ASAP Help Widget last year, introducing a unified and enhanced experience. Since then, older configurations have been placed in read-only mode, with all major updates and improvements built exclusively on the new version. As part of
                                  • Zoho Subscriptions -- Zoho Commerce integration

                                    Is there integration between Zoho Subscriptions and Zoho Commerce? I would like to create subscription plans in Zoho Subscritpions and list them for on my Zoho Commerce store.
                                  • Website show Blank white screen

                                    Customer called me to tell me my website is currently down upon review it shows a white screen however I can access everything via editor. JITCADCAM.com
                                  • How manufacturing analytics can transform your enterprise with Zoho Projects Plus

                                    Did you know that every single car is made up of 30,000 to 40,000 individual parts? All of these are manufactured meticulously in various facilities before being assembled into one. The global manufacturing industry spans a wide range from delivering
                                  • Customize your SalesIQ live chat with Custom CSS and blend it with your website design

                                    Hi everyone. Hope you all are having a great day! SalesIQ offers various inbuilt customization choices for your chat widget and window like changes in colour, theme, font etc. Although these choices are many, sometimes they may not match with the design
                                  • From Email Address When Replaying to Missed Chats

                                    One of the most common things we do is follow up on every missed chat.  Missed chats are like money in the bank, people just waiting for your response and to start a relationship with our companies. However, SalesIQ only lets you respond from 1 email address from your entire account?! We have happily paid for 4 subscriptions, but our users cannot reply from their own email address?  How are we supposed to build customer relationships? The fix to this issue is so simple, just load in the logged in
                                  • Narrative 6 - The impact of rebranding

                                    Behind the scenes of a successful ticketing system - BTS Series Narrative 6 - The impact of rebranding Every organization has invested in branding to set itself apart, and that should be reflected in the help desk. Zoho Desk enables organizations to apply
                                  • custom color palette for picklist in Sheet

                                    Migrating over from Google Sheets and missing the ability to customize the individual item colors of my picklist/dropdown menus. Is this something that is possible? A search showed me creating a custom color palette in Analytics is possible but I am not
                                  • What's New - July 2025 | Zoho Backstage

                                    Start smart, end strong. From knowing who’s coming to celebrating who showed up, July’s updates help you run events that feel organized from the first invite to the final thank you. Planning an event used to be like writing a choose-your-own-adventure
                                  • Image Upload Field API get encrypted ID and sequence number

                                    Hello is there a way to extract the encrypted id and sequence number from image upload fields through the Zoho CRM API? I created a custom script with javascript within Zoho CRM, but I want to extract the encrypted id and sequence number for all my images
                                  • Attention: Changes to 10DLC TCR pricing and new authentication requirements

                                    Hi everyone, Starting August 1, 2025, The Campaign Registry (TCR) is introducing new pricing changes and a mandatory brand verification process called Authentication+ 2.0, which will affect how you register and manage your 10DLC messaging services. These
                                  • Better Time Tracking

                                    We need better time tracking customization for IT MSPs. We also need reporting that is built in, rather than having to try and fumble with creating custom reports. We also need to be able to mark whether a ticket has been billed or not, I don't think
                                  • Scheduled Tickets Need Updated

                                    There is a very clunky manual way to create reoccurring scheduled tickets. This should be created to be easy for the administrator to create. We create several (10 to 12) reoccurring tickets per account for biweekly and monthly auditing purposes.. The
                                  • Team Feeds Improvements

                                    Team Feeds needs to show a feed of every action within the department. Currently it seems that the feed will only show a ticket that I've personally commented on or interacted with/followed. A feed should be that, a feed. As a manager I would like to
                                  • Better Security, Better User Experience | Help Center Update | June'25

                                    As part of our commitment to enhancing user experience and security, we are happy to announce updates to our authentication mechanism. This update introduces several key enhancements designed to improve the password recovery process and streamline the
                                  • Upload Logo to Account Page

                                    It would be nice to set a logo for an Account
                                  • View Agent Collision on Ticket List Page

                                    It would be nice from the ticket listing page (views) to see what agents are working on what tickets rather than having to click into each ticket throughout the day to see what agents are working on what tickets. This functionality would also be desired
                                  • Restrict user from viewing the detail standard view

                                    Is there any way to restrict a user(it can be user-field-based) from viewing the detail standard view? Basically, I have created a canvas detailed view so that on some conditions I can hide some data from the users but the standard view client script
                                  • Upload Picture to Contact

                                    It would be nice to upload a profile picture to a contact.
                                  • Allowing Pictures for Client Contacts

                                    Do you have any plans to allow us to add pictures of our client contacts? There is a silhouette of a person there now, but no way that I can see where I can actually add a picture of the individual.
                                  • Agent name Alias

                                    I am seeing that Full name of my staffs are written on every ticket response which is not good for some reasons. It is possible to user like this: Manny P. (First Name with Last Name's First Letter) or  Manny (First Name) This is want we want to show
                                  • Unable to add attachments to tickets through Desk API

                                    I able to use the Desk API to generate tickets. However when I try to use the tickets/{ticketId}/attachments endpoint, I always get an Unauthorized error. My app has Desk.Tickets.ALL included in its scope so this should not be an issue
                                  • What's wrong with this COQL?

                                    What's wrong with this COQL? Code returns "invalid operator found". SELECT id, Name, Stage, Account, Created_Time, Tag FROM Production_Orders WHERE (Account = '4356038000072566002' AND Stage NOT LIKE '%customer%') ORDER BY Created_Time DESC LIMIT 200
                                  • [Feature Request] Add support for internationalized top-level domains mail hosting

                                    This is an important request to add support for internationalized domains mail hosting to https://www.zoho.com/mail/ In this case, that is only limited to domain name/mail address however currently it's already possible for us send mails etc using below
                                  • Add Enable/Disable to Field Rules and other Rules

                                    Hi, Sometimes I have rules setup for fields, and until I want to enable them for use, I can set the fields to Hidden but rules still show them, today you have to delete rules and then recreate them again, would be nice to have a toggle for Enabled/Disabled
                                  • Syncing stuck for days

                                    Hello when I made an account a few days ago and synced all my notes to it, it is still syncing. My app is only 400mb so I do not know why it is taking so long. Please help
                                  • Workflow runs on every edit despite not ticking the field repeat this workflow whenever a parent is edited.....

                                    Hi, It is my understanding that this workflow should only trigger once. Why is this triggering on every edit of the field? Based on another support query - directly from Zoho, If i tick the box 'repeat this workflow whenever a parent is edited' it should
                                  • How do you add or update tags on Zoho CRM records via n8n? (Workarounds or best practices?)

                                    Hi all, I’m running into some limitations with the Zoho CRM node in n8n and was wondering how others have handled this: From what I see, the standard Zoho CRM node in n8n doesn’t allow you to add or update tags when creating or updating contacts/leads.
                                  • API PARAMETER FOR TICKET CLOSED TIME

                                    Hi, Is there a parameter for filtering tickets by closed time in zoho api, i can see closed time in the API response i get, but can't get tickets by that field while calling. Regards, Anvin Alias
                                  • Reply to email addresses wrong.

                                    I have setup my Zoho mail account using my main domain and I also have an Alias setup from a different domain. In Settings - Mail - Compose I have selected to the option "For replies, send using The same email address to which the email was sent to".
                                  • Meeting integration with Otter.ai

                                    Would love for an integration with an AI transcription service like Otter.ai to be integrated with Zoho Meeting. Thanks
                                  • How to close/delete a free creator account?

                                    I have a free zoho creator account associated with my email address that is not being used.  I want to become a user of another paid zoho creator account but I can not associate with the paid account with the same email.  I assume if I can close or delete the free account I will be able to use the paid account. I have emailed support but no response. Suggestions?
                                  • Zoho books and zapier causes Invalid data provided

                                    I have been using zoho books with zapier for over 2 years now, everything was working fine. On September 13th my zaps stopped working. Now on step create sales invoice in zoho books i get an error: Failed to create a create_invoice_v2 in Zoho Books The
                                  • CRM report

                                    Is it possible to pull a contacts report that also includes the company industry, as well as the company name? I’m having trouble combining company and contact fields – any help is appreciated. Thank you, Sam
                                  • Next Page