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.

    • Recent Topics

    • Subform data to Sheets

      I have been trying to setup a Zoho Flow automation to bring any Subform input to a Zoho Sheets but it seems impossible to post the subform entries to a Zoho Sheet. Is there any way to do it via Zoho Sheet API? https://www.zoho.com/sheet/help/api/v2/#CONTENT-Insert-row-with-JSON-data
    • Edit Contact Roles in the Potentials Mod

      New to ZOHO so I need some help. I work the same people on different projects concurrency. Their contact info remains the same but their role changes from project to project. In the Potential Mod you can pick contacts and assign a Role to them. I know
    • Is there a way to disable the Activity Reminders Pop-Up Window every time I log in?

      Just wondering if there is a setting to disable the window from opening every time I open my CRM? Thanks Chris
    • Rich-text fields in Zoho CRM

      Hello everyone, We're thrilled to announce an important enhancement that will significantly enhance the readability and formatting capabilities of your information: rich text options for multi-line fields. With this update, you can now enjoy a more versatile
    • Font Size 11 - Zoho CRM Email Templates

      Our company communicates with our vendors exclusively using Calibri Font Size 11, as this is the standard formatting for professional emails. Since the CRM only allows for the selection of font sizes 10 & 12, we have been unable to utilize the CRM email
    • Error 400 Booking

      Added a custom domain to Booking. Am Getting a SSL Error that has some other domain on the SSL and giving a 400 error. Followed instructions and it stated it verified our domain.. However it is not working. Please Help!
    • Zoho Projects - Email Notifications for Feed Updates

      Hi Projects Team, I'm working with a client who wants a simple way to communicate with their customers on projects. Getting the customer to add comments to Tasks or Bug records is not ideal, as we need a way which is easy with minimal training, and has
    • Zoho Analytics Export API

      Hi Team, I’m working on some integration tasks and wanted to confirm if it’s possible to retrieve a Zoho Analytics table as JSON data using a Deluge script. I’ve already stored my custom data from multiple sources and combined it into a single source.
    • Request to Remove LinkedIn Verification from My Emai

      I would like to submit a complaint regarding my Zoho Mail account. I previously used this email address to verify a LinkedIn account, but that LinkedIn account has now been closed. I need to remove or cancel the verification associated with the closed
    • Introducing the all-new email parser!

      Greetings, We are pleased to introduce to you, a brand-new, upgraded version of the Zoho CRM Email Parser, which is packed with fresh features and has been completely redesigned to meet latest customers needs and their business requirements. On that note,
    • Zoho Projects - Refine Access to Collaboration Menu

      Hi Projects Team, I noticed that Calendar, Chat and Meeting menu options in the Collaboration section are visible to client users, even when they don't have access to the features. This could be confusing and frustrating, because if it's there you expect
    • Extracting Images from a Zoho Creator Report into a Pages

      If you’ve uploaded images in a form and can see them in your report, you might also want to display those same images inside a Page (custom HTML page). This is useful for dashboards, profile pages, or any place where images should be visible dynamically
    • Zoho is blocking emails I subscribe to from one sender

      About 4 months ago I stopped receiving newsletters that I subscribe to from @thedispatch.com. They tell me that zoho's server is blocking them. I've added them to my contacts list, but they're not even reaching my inbox. I don't know how to troubleshoot
    • Inactive Items - Make Less Prominent by Default

      Currently, when one marks an Item as "Inactive", it really doesn't do much of anything to hide it or get it out of the way. Search and reporting within Finance should, by default, hide inactive Items from standard reports, searches, etc. If one specifically
    • How to calculate GST based on "Ship To Address"

      We into the interior designing work, providing "Works Contract Services" to our clients across India. We are registered under GST in Maharashtra state. For works contract services as per the GST rule, we need to decide place of supply based on "Ship to
    • I NEED TO NUMBER TO TEXT NO HERE

      =NUMBERTEXT NEEED
    • Auto-fill New Row with Previous Row Values

      rowsize = input.Order_Items.count(); for each row1 in input.Order_Items { rowsize = rowsize - 1; if(rowsize == 1) { row.Door_Model = row1.Door_Model; row.Door_Color = row1.Door_Color; row.Materials = row1.Materials;
    • Python - code studio

      Hi, I see the code studio is "coming soon". We have some files that will require some more complex transformation, is this feature far off? It appears to have been released in Zoho Analytics already
    • API question - adding a thread to an existing ticket

      Hi Is there an API function for the customer to add to an existing ticket thread? example, customer puts in new support ticket. support replies and ask for more details. customer replies with more details -what api function is used for this (will add record append to same ticket number?) Thanks
    • Calendar week view: Today + 6

      Is there anyway to have the calendar change dynamically based on the date? Due to the amount of events, we only display a week at a time, but towards the end of the week, we can no longer see ahead to next week (without changing it manually every time).
    • How to restrict user/portal user change canvas view

      Hi , I would like to restrict user / portal user change their canvas view because I hide some sensitive field for them. I dont want my user switch the canvas view that do not belong to them But seems Zoho do not provide this setting?
    • How to add to Subforms via Zapier with Zoho Writer?

      I have the following layout for a Zoho Writer Document. As you can see there is a repeating subform taking in "Items". I am trying to make a Zapier integration with it, and I can see there is 1 field saying: "Items", but it does not specify how I'm supposed
    • Contrôles administratifs granulaires : un atout pour la sécurité des e-mails

      La moindre erreur dans votre système de messagerie peut coûter très cher à votre entreprise, tant en argent qu’en conformité et en image de marque. Pour beaucoup d’organisations, ce risque est bien réel. Les e-mails véhiculent quotidiennement des informations
    • Collections Management: #6 Realign Customers who gets back In-Term

      Arun stared at the subscription list on his dashboard. Another account had just been moved to Cancelled status after completing the whole dunning process. Nothing unusual, just that payment failures happen, retries fail, and cancellation is the expected
    • Zoho Mail IP Blacklist

      I need problems with send mails: Error: junk mail rejected - sender4-op-o10.zoho.com 136.143.188.10, is in RBL. Spamcop. Please remove FQDN for blacklist. Regards.
    • I can receive but not send emails

      Hello, I've been not able to send emails for almost a year now. I been using alternate email to do this. I want to know how to fix this so I can use my zoho account normally again.
    • The challenge of 24/7 connectivity: Being present and meeting customer expectations

      Before television entered our homes, radio was our window to the world. We had to tune carefully to catch voices from distant places. When television arrived, the world began to grow smaller. We can watch rocket launches, see the goal that wins our favorite
    • How to download all attachments from inbox, send, other folders in one go

      Hi All, Appreciate if anyone could help me with steps for below requirement. How to download all attachments from inbox, send, other folders in one go. Even mapping to new folder will help me. Thanks in advance.
    • Cannot connect mail accounts to Thunderbird

      Hi Support - I'm attempting to add my mail accounts to Thunderbird but I'm getting an unable to login to server error. I tried to use the password associated with my account I received the unable to login error. So I went into Zoho Accounts and generate
    • Alias Email Id already exists

      Hi, I just verified my domain sesque (dot) com and now I am trying to create the admin account using admin (at) sesque (dot) com, but I am getting an error saying "Alias Email Id already exists". I used to have another Zoho account with this email address,
    • Unable to connect to smtp server, connection timed out

      Hi Team, I am facing below issue, while sending out emails from thunderbird client. It used to work, facing this issue from morning. Error: Sending of the message failed. The message could not be sent because the connection to Outgoing server (SMTP) smtp.zoho.com
    • Kaizen #217 - Actions APIs : Tasks

      Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
    • DKIM Verification Failed (Namecheap)

      Hi! I have already set up the TXT records in Namecheap but I keep getting the "Verification Failed" pop up. Was wondering if I'm the only one who has this problem and can anyone help me with this? Thanks!
    • Emails stuck in Queue

      Hi there, Since yesterday I have a few out going emails stuck in a queue. It say it will auto retry sending however nothing is happening. It seems to be affecting roughly 50% of my outgoing emails. Please help Thanks
    • Soft Bounce from transational emails from BREVO (Sendinblue)

      I manage the website of a client who uses your EMAIL service for the domain floranativadobrasil.com. And I use the BREVO email service, previously called SendinBlue, to send transactional emails about events specific to the website. All emails sent to
    • Getting an error Address not found Your message wasn't delivered

      Hey, I'm trying to configure zoho mail for my website https://businessentity.org/ The email is meredith.karter@businessentity.org I'm able to successfully send the mails but when someone sends an email to above mail, this error shoots up: Address not
    • Support Uploading YouTube Videos Longer Than 60 Minutes

      Hi Zoho Social Team, How are you? We would like to request support for uploading YouTube videos longer than 60 minutes directly through Zoho Social. Your support team informed us that Zoho Social currently cannot upload videos over 60 minutes due to “API
    • Need Faster Help? Try Live Chat Support

      Hello there, We understand that sometimes, whether you’re facing an issue, exploring a feature, or need quick clarification, sending an email and waiting for a response just doesn’t cut it. You need answers, and you need them now. That’s exactly why we
    • Can't deactivate Spell Check

      Hi Community, right now I'm using the Zoho Mail Desktop-Software. So far, so good.. many possibilities. Overall very nice. What is extremely annoying right now, is that we are not able to deactivate the Spell Check feature. And we are barely able to focus
    • Zoho Toolkit Email Signature Generator

      I'm having real issues with the email signature generator with no matter where I host the photo, Zoho doesn't seem to show the photo on the link provided?
    • Next Page