Perform Mail Merge in Word document using C# REST API

Mail Merge in MS Word

The Mail Merge is the easiest way to generate a set of documents that are identical except for certain information such as the name and address of the recipient. You can use the mail merge process to easily produce a set of personalized documents and mailing labels. Many organizations communicate with their customers or members by means of letters, newsletters, and promotional pieces which they email to everyone on a mailing list. In this article, we are going to discuss the details pertinent to perform Mail Merge in MS Word document using c# REST API.

Word document manipulation API

Aspose.Words Cloud is our popular REST API offering the features to create a new Word document, open an existing document and edit it. You can use it to save any existing document to HTML, MHTML, ODT, PDF, XPS, SVG, EPUB, PCL, etc, and various other formats. You can perform all these operations with few code lines and the API handles the difficult part of the inter-document conversion. For more information, please visit Supported File Formats. Another amazing perspective of using Cloud API is that you can use it with any language or platform that supports REST, including .NET, Windows, Linux, Mac OS, and Android. Since almost all platforms support REST and provide native REST clients to work with REST APIs, so you do not need to worry about language or platform limitations.

Populate Mail Merge template using the cURL command

The cURL commands are one of the convenient ways of accessing REST APIs on any platform using command prompt/terminal. Since Aspose.Words Cloud is developed on top of REST API architecture, so we can easily access the APIs via the cURL command. Please note that our APIs are only accessible to authorized persons so So you need to visit Aspose.Cloud dashboard website. If you have GitHub or Google account, simply Sign Up. Otherwise, click on the Create a new Account button and provide the required information. Now login to the dashboard and expand the Applications section from the dashboard. Scroll down towards the Client Credentials section to see Client ID and Client Secret details.

Furthermore, in order to access the Cloud API using the cURl command, you need to first generate a JWT access token. The token is based on your personalized Client ID and Client Secret, as shown in the steps below.

curl -v "" \
-d "grant_type=client_credentials&client_id=c235e685-1aab-4cda-a95b-54afd63eb87f&client_secret=b8da4ee37494f2ef8da3c727f3a0acb9" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

For further details, please visit How to Obtain JWT token using a Client ID and Client Secret key.

Once we have the JWT access token, we can use the following cURL command to populate the Mail Merge template. We load the data from a text file.

  • The ExecuteMailMerge API performs the main operation
  • SampleMailMergeTemplate.docx is the input mail merge template available on the cloud storage
  • We use the -F parameter is upload input data from SampleMailMergeTemplateData.txt file
  • The resultant file specified against the destFileName parameter is saved on cloud storage
curl -v "" \
-X PUT  \
-F data=@/Downloads/SampleMailMergeTemplateData.txt \
-H "Content-Type: multipart/form-data" \
-H "Accept: application/json" \
-H "Authorization: Bearer <jwt token>"
preview after data merge in Mail merge template
Image 1:- Document preview after data merge in mail merge template.

The sample files from above example are available on following links

Populate Mail Merge template using C#

Aspose.Words Cloud SDK for .NET facilitates developers for MS Word documents processing and manipulating using .NET programming languages. Given below are the details and steps to populate the Mail Merge template using a data file.


In this article, we have discussed the concept of performing Mail Merge operation on MS Word template using Aspose.Words Cloud SDK for .NET. Please note that all our Cloud SDKs are open source. So the complete source code and more code examples are available at GitHub repository. Please explore the Product documentation for Further details on other exciting features available in SDK.