Employees often need to request various types of documents, such as salary certificates, proof of employment, or other types of documents, for various reasons such as loan applications, rental applications, visa applications, etc. Freshservice allows you to automate the document generation process by allowing you to define customizable document templates and associate them with a service catalog item for easy document requests. 

Let’s get a deeper dive to see how this works.


Creating a Document Generation Service Request

The following steps are required

  1. Create a document template by uploading a .docx file with placeholders into a workspace. E.g. Proof of Employment form

  2. Create a service request that users can access to request a document that can be supplied for this proof of employment. This can include fields that might need to be input from the requestor's side such as Bank Name.

  3. Map the placeholders on the document to fields from Freshservice and publish

Step-1: Create a Document Template

  • Document templates are workspace specific, this means that documents created in one workspace are only available in that workspace and not in another.

  • Document templates can be accessed from the Admin Settings in a given workspace under the Service Management section.

  • The following screen displays which lists any existing templates that may be already configured. 

  • From this screen, you can download a sample template to view how these documents are configured.

  • Placeholders within the document identify the dynamic fields that can be replaced with fields directly from the application such as the requester's forename and surname. 

    • Example:

Dear {{Recipient Name}},

I am writing to notify you that {{Requesters Name}} is seeking a visitors visa to the United States and that we are his employer. Ms {{Requester surname}} is a permanent member of staff here since {{Employment Start Date}}.

If you require any further information, please do not hesitate to contact me at {{Phone number}}.

Yours Sincerely,

{{Agent Name}}

  • Note: You can specify any placeholder you want at this stage and map them later to fields from the application or have the agent populate the data at the time of generating the document.

  • The template has to be in .docx format and contain at least one placeholder to be accepted as a template.

  • To add a new template click on New Template and the following screen will display.

  • For each template you can give a unique name, short description and then upload the template by dropping it on the designated area or uploading from your computer.

  • Once the template is uploaded, you will see a preview and it will also identify all the placeholders that were part of the template.

  • If you need to make any changes to the template, you can remove it and then reupload the template to the system.

  • Once you are happy with the template you can hit save and the template will be saved in draft format.

  • To activate the template, switch it on from the template listing screen.The template is then ready to be linked to a service request item.

Step-2: Create a Service Request

  • The second step in the process is to create a Service Request for the request type. E.g. Employment verification letter for a named Bank. 

  • In this example we have added a number of custom fields for capturing the name of the bank that the requester can complete.

  • Once you have all the custom fields in place, click on the save as draft option. This will ensure that the fields you have added will be available for mapping to placeholders in the next step.

  • On the service items settings, select Document as the fulfillment option. You will then be able to select from the list of templates you have created or be able to create a new template.

Step-3: Map the placeholders and Publish

  • Document templates are workspace specific, this means that documents created in one works

  • Once the template is linked, you will be able to map the placeholders to the fields available in Freshservice. 

  • You can also choose to leave fields blank so that they can be input by the Agent at the fulfillment stage. This will allow the agent to view other information such as salary or finance details in another application and type them into the fields at this point.

  • Once you have all the necessary placeholders mapped you can publish the request.

The following is a list of available fields for mapping.


  • Ticket ID

  • Subject

  • Description

  • Ticket URL

  • Public Ticket URL

  • Portal specific ticket URL

  • Due By Time

  • Tags

  • Last public comment

  • Group Name

  • Agent Name

  • Agent Email

  • Ticket Department

  • Workspace

  • Approval URL

  • Portal specific approval URL

  • Approval Comments

  • Last Approver Name

  • Ticket ID (numeric)

  • Department Head

  • Associated Asset IDs

  • Associated Asset Names

  • Total Billable Hours

  • Total Non-Billable Hours

  • Acknowledged By Name

Ticket Fields

  • Status

  • Priority

  • Source

  • Ticket Type

  • Urgency

  • Impact

  • Category


  • Requester Name

  • Requester first name

  • Requester last name

  • Requester Email

  • Requester phone number

  • Requester address

  • Requester Location

  • Reporting Manager

Requested For

  • Requested For Name

  • Requested For first name

  • Requested For last name

  • Requested For Email

  • Requested For phone number

  • Requested For address

  • Requested For Location

  • Reporting Manager

Service Desk

  • Service Desk name

Service Item

  • Requester Name

  • Requester first Name

  • Requester last Name

  • Requested for

  • Item Name

  • Item category

  • Item Cost

System Fields

  • Current Date

Custom Fields (for this example only!)

  • Bank Name

  • Bank Address line 1

  • Bank Address line 2

  • Bank Address line 3

  • Bank Address line 4

Agent view of a Submitted Request

  • An agent can fulfill the request for the document from the ticket listing page.

  • After selecting the relevant ticket, the agent can click on the option to “Generate Document”

  • Generate document will display a preview of the document you are about to create and will automatically map all the relevant fields to the relevant placeholders.

  • At this point the user can key in any values that are not already mapped, in this example we will key in the Job title and Start date that can be retrieved from the HR application.

  • All fields have to have a value in them before you can proceed.

  • Once all values have been reviewed and checked, the user can select the button to ‘Update Preview’ which will give them a view of what the final document will look like.

  • Before generating, the user may also want to mark the item as being fulfilled as is similarly done in other cases.

  • Once the user clicks on generate, the system will display a default reply message that can be edited as necessary as well as have the requested document available to be sent to the requestor. Once everything is ready the user can hit send to complete the task.

  • A document may be regenerated if necessary from the ticket. When it is regenerated, the previous document will be removed and a new one will be created on the ticket for the requestor and the agent.

Permissions required

Manage CI

Manage tickets

Ticket reply

Edit Service Catalog (setup)