Email Formatting Help

Many of the fields and emails in FormKeep allow you to use Markdown or Liquid tags to format your content. Here are some tips and suggestions for using those features.

Markdown Formatting

Markdown is a way to add simple formatting to your mails without having to know html. Check this out for all the details. Below are some simple examples.

# This is an <h1> tag
## This is an <h2> tag
###### This is an <h6> tag

*This text will be italic*
_This will also be italic_

**This text will be bold**
__This will also be bold__

_You **can** combine them_

Unordered Lists
* Item 1
* Item 2
  * Item 2a
  * Item 2b


HTML Formatting

You can also just include normal html code into the email and we’ll send that along instead. You’ll need to not have any whitespace before the tags or the markdown system will handle it first.

Liquid / Merge Tags

If you want to include values from the submission in the form, you can use Liquid Tags to do so. This allows you to personalize the message based on the information from the submission. See the Liquid documentation for detailed examples.

Here’s an example assuming you have a field called first_name on your form:

Hi {{ submission.first_name | default: 'there' }}, **thanks** for contacting us!

The default email format uses these include statements that you can use

{% include 'form_title' %}
 to show a heading with the form's name

{% include 'submission_data' %}
to show the all the form data

{% include 'submission_attachments' %}
to show all the attachments

{% include 'submission_link' %}
to show a link to the submission on FormKeep

Additionally, we expose several additional values that you can use in your emails, there is help next to the Emails that shows you the names of your data fields if you want to get a specific field value.

{{form.name}}
{{form.source_page}}
{{form.token}}
{{submission._url}}

You can use {{submission._data}} as an array and loop over the values submitted to your form like this:

{%- for field in submission._data -%}
<strong>{{field.name}}</strong> {{field.value}}
{%- endfor -%}

You can also loop over your attachments like this:

{%- for attachment in submission._attachments -%}
<strong>{{ attachment.name }}</strong>
{%- for file in attachment.files -%}
<li><a href="{{ file.url }}">{{ file.filename }}</a></li>
{%- endfor -%}
{%- endfor -%}

The Liquid documentation for detailed examples for looping over the arrays of data or transforming the data values to UPPER or lowercase for instance.

Please reach out to support if you need any help getting these to work for your forms.