Skip to content

Email outegration

Most of these docs cover sending data into DataMaker. An outegration goes the other way: when a record is saved, DataMaker sends it out. The email outegration sends one transactional email per saved record through the FOBO relay (AWS SES underneath). No SMTP credentials — the shared FOBO mailbox handles delivery; you configure the recipient, subject, and body in the desktop app.

Body formats

The form owner picks one of three body formats:

FormatWhat it is
Default (FOBO template)A branded, dark-mode email that auto-lays-out every filled field of the record under the FOBO logo and form name. Zero config — no body to write.
MarkdownWrite the body in Markdown; it renders inside the same FOBO dark shell (logo header + footer + padding) — you just supply the content. {{field_name}} placeholders and {{#each fields}} loops work.
Raw HTMLPaste your own HTML — full control, no wrapper. The full template engine runs here ({{field}}, {{#each fields}}, {{#if}}), so you can copy the template below and customize it.

Default is the out-of-box choice. Default and Markdown share the FOBO shell; Raw HTML gives you the whole document.

Placeholders

Reference a field by its Name (not its label or id): {{full_name}}. Missing or empty fields resolve to an empty string.

Signatures render specially: in an HTML body they become an inline image (delivered as a CID attachment so Gmail and iCloud don’t strip them); in the subject and the plaintext part they render as Name signed on: dd-MM-yyyy — or Signed on: dd-MM-yyyy when there’s no typed name.

Top-level scalars available anywhere in a template:

TokenValue
{{form_name}}The form’s display name
{{record_id}}The saved record’s id
{{saved_at}}Save timestamp (yyyy-MM-dd HH:mm)
{{to}}The resolved recipient address
{{header_title}}Localized “New record in {form}” heading
{{footer_text}}Localized “Sent to {to} by Data Maker” line

Loops

Iterate every filled field with {{#each fields}} … {{/each}}. Inside the loop these tokens resolve against the current field:

TokenValue
{{label}}Field display label
{{value}}Rendered value — kind-aware (signatures → inline image, scalars → escaped text)
{{name}}Field Name (storage key)
{{kind}}Field kind (text, signature, …)

Two conditionals branch on the current field (valid only inside {{#each fields}}):

{{#if signature}} … {{else}} … {{/if}}
{{#if wide}} … {{/if}}

signature is true for Signature/Initials fields; wide is true for the kinds that span a full row (LongText, RichText, Image, Attachment, MultiChoice, List, Geo) plus signatures — everything else pairs two-across on wide viewports. Malformed tags degrade gracefully — they never break a send.

The FOBO default template

The Default format renders the template below: every filled field auto-laid-out (scalars two-across, wide kinds and signatures full-row), dark-mode, table-based for maximum email-client compatibility.

To customize it, switch the body format to Raw HTML and paste this in, then edit. Two notes on the pasted version:

  • The logo points at the hosted FOBO logo (https://fobo-tools.github.io/fobo-data-maker/fobo-logo.png). The built-in Default instead embeds it as a CID attachment.
  • The built-in Default also paints its surfaces with embedded solid-colour background-image tiles, which stop Outlook/Apple Mail dark-mode from recolouring them. A pasted template can’t ship those attachments, so it uses background-color only — host your own colour tiles if you need the same lock.
<!doctype html>
<html lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="color-scheme" content="dark">
<meta name="supported-color-schemes" content="dark">
<!--[if mso]><style>table{border-collapse:collapse;}td{font-family:Arial,sans-serif;}</style><![endif]-->
<title></title>
</head>
<body style="margin:0;padding:0;background-color:#0e1520;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#0e1520" style="background-color:#0e1520;margin:0;padding:0;">
<tr>
<td align="center" style="padding:24px 12px;">
<!--[if mso]><table role="presentation" width="600" cellpadding="0" cellspacing="0" border="0"><tr><td><![endif]-->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#151c28" style="width:100%;max-width:600px;background-color:#151c28;border:1px solid #243041;border-radius:12px;">
<tr>
<td align="center" style="padding:36px 32px 22px 32px;border-bottom:1px solid #243041;">
<img src="https://fobo-tools.github.io/fobo-data-maker/fobo-logo.png" alt="FOBO" width="96" height="96" style="display:block;width:96px;height:96px;border:0;outline:none;text-decoration:none;">
<div style="margin-top:18px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-size:22px;line-height:1.3;font-weight:700;color:#ffffff;">{{header_title}}</div>
</td>
</tr>
<tr>
<td style="padding:0 22px 18px 22px;">
<div style="font-size:0;">
{{#each fields}}
{{#if wide}}
<div style="display:inline-block;width:100%;max-width:100%;vertical-align:top;box-sizing:border-box;">
{{else}}
<div style="display:inline-block;width:100%;max-width:50%;min-width:220px;vertical-align:top;box-sizing:border-box;">
{{/if}}
<div style="padding:14px 10px;border-bottom:1px solid #243041;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;">
<div style="font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#8a93a3;margin-bottom:6px;">{{label}}</div>
{{#if signature}}{{value}}{{else}}<div style="font-size:15px;line-height:1.5;color:#ffffff;word-break:break-word;">{{value}}</div>{{/if}}
</div>
</div>
{{/each}}
</div>
</td>
</tr>
<tr>
<td align="center" style="padding:20px 32px 30px 32px;border-top:1px solid #243041;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;">
<div style="font-size:12px;line-height:1.55;color:#8a93a3;">{{footer_text}}</div>
</td>
</tr>
</table>
<!--[if mso]></td></tr></table><![endif]-->
</td>
</tr>
</table>
</body></html>

Signatures sit on a light “paper” card so the black ink reads against the dark email. Everything is inline-styled and table-based; the MSO conditional comments pin the 600px column in Outlook, and the body cells reflow from two-across to a single column on narrow screens.