How to Use Caddy's Templates: Fill-In Variables With Real Examples

Templates are Caddy’s biggest feature since launch, and the syntax is small enough to fully cover in one post. Here’s how to build one, with real examples.

The basic syntax

Wrap any part of a snippet in curly braces to turn it into a fill-in field:

Hi {name}, thanks for reaching out — I'll get back to you by {day}.

Save that as a snippet, and its pill in your list gets a small template indicator so you can tell it apart from a plain snippet at a glance. Tap it, and Caddy opens a fill-in dialog with one text field per variable, in the order they appear — here, name first, then day. Fill both in, confirm, and the finished text — with your values dropped in — is copied straight to your clipboard.

Adding suggestion chips

Some fields have a small set of values you use over and over — a couple of standard callback times, or a handful of recurring codes. Add them after a colon, separated by semicolons:

Your confirmation code is {code:4534;8894}.

Tap the template pill, and instead of a blank text field, you’ll see two tappable chips — “4534” and “8894”. Tap one, and it’s filled in immediately. You can still type a custom value if neither chip fits.

Another example, this time with three options:

I'm available at {checkoutTime:10am;11am;12am} — let me know what works.

Three chips, one tap each, and the field is done.

Mixing both styles

A single template can combine free-text fields and suggestion fields:

Hi {name}, your appointment is confirmed for {checkoutTime:10am;11am;12am}. See you then!

name opens as a plain text field; checkoutTime shows chips. Fill in both, confirm once, and the whole message is copied — no separate copy step per field.

A field that appears more than once

If the same variable name shows up multiple times in a snippet, Caddy treats it as one field — fill it in once, and every occurrence gets the same value. Suggestion options for repeated occurrences of the same variable are merged together, so you don’t need to repeat the same chip list twice.

When to reach for a template vs. a plain snippet

If you’re copying the exact same text every time, a plain snippet is simpler — no fill-in step needed. Reach for a template the moment part of the message genuinely changes each time you send it: a name, a date, a reference number. That’s the difference templates are built for.

Read more about the release this shipped in on the Caddy 1.1.0 announcement, or open the app and try it on your own snippets.