TapCue how-to
Save links as JSON, XML or YAML files
Most link savers write their format. TapCue writes yours: one file per save, named and laid out the way your scripts, your vault or your pipeline expect. Here is the file name rule, every placeholder, and four templates with the file each one produces.
Set it up
- Sign in at tapcue.app, open Categories and pick a reason, such as Read later or one of your ownPro.
- Choose A note of its own and set the folder. Write the File name with placeholders. The ending decides the format:
.jsonmust be valid JSON,.xml,.yaml,.csvand.htmlare escaped for that format,.mdis written as is. - Write the Note contents. As you type, the editor checks it and shows the file a sample save would become. Save when it says the template is valid.
- Share a link to that reason. The file lands in the vault folder, the GitHub repository or the webhook the reason points to.
Four templates and what they write
Each example uses the same sample save: a knife-sharpening video shared to Watch later with the note the 12-minute one with the "whetstone" tip. Notice the quotes in the note: TapCue escapes them for each format, so the file is always valid.
A JSON file per save
File name and template
{day} {title}.json
{
"title": "{title}",
"url": "{url}",
"source": "{source}",
"why": "{category}",
"note": "{note}",
"saved": "{date}",
"tags": ["{tagname}"]
}The file TapCue writes
2026-10-28 How to sharpen a kitchen knife.json
{
"title": "How to sharpen a kitchen knife",
"url": "https://videos.example/w/knife-sharpening",
"source": "videos.example",
"why": "Watch later",
"note": "the 12-minute one with the \"whetstone\" tip",
"saved": "2026-10-28T17:04:00.000Z",
"tags": ["watch"]
}Markdown with YAML front matter (Obsidian, Dataview)
File name and template
{day} {title}.md
---
title: "{title}"
url: {url}
source: {source}
tags: [{tagname}, link]
saved: {day}
---
# {title}
{note}
{markdown}The file TapCue writes
2026-10-28 How to sharpen a kitchen knife.md --- title: "How to sharpen a kitchen knife" url: https://videos.example/w/knife-sharpening source: videos.example tags: [watch, link] saved: 2026-10-28 --- # How to sharpen a kitchen knife the 12-minute one with the "whetstone" tip - [How to sharpen a kitchen knife](https://videos.example/w/knife-sharpening) to watch later
XML
Template ({day} {title}.xml)
<?xml version="1.0" encoding="UTF-8"?>
<save kind="{tagname}">
<title>{title}</title>
<url>{url}</url>
<note>{note}</note>
<saved>{date}</saved>
</save>The file TapCue writes
<?xml version="1.0" encoding="UTF-8"?> <save kind="watch"> <title>How to sharpen a kitchen knife</title> <url>https://videos.example/w/knife-sharpening</url> <note>the 12-minute one with the "whetstone" tip</note> <saved>2026-10-28T17:04:00.000Z</saved> </save>
YAML
Values with a colon, a quote or a leading symbol are quoted for you, so the file always parses.
Template ({day} {title}.yaml)
title: {title}
url: {url}
why: {category}
note: {note}
saved: {date}The file TapCue writes
title: How to sharpen a kitchen knife url: "https://videos.example/w/knife-sharpening" why: Watch later note: "the 12-minute one with the \"whetstone\" tip" saved: "2026-10-28T17:04:00.000Z"
Every placeholder
These work in file names, note templates and webhook bodies. Values are escaped for the format of the file, so a quote in your note never breaks a JSON file or an XML tag.
| Placeholder | Meaning | Sample save |
|---|---|---|
{headline} | the one-line summary TapCue writes | Kitchen knife sharpening video to watch later |
{title} | the page's own title | How to sharpen a kitchen knife |
{what} | what the link is, in a few words | Kitchen knife sharpening video |
{url} | the link | https://videos.example/w/knife-sharpening |
{source} | the site it came from | videos.example |
{author} | the author or channel, when the page names one | Edge & Grain |
{note} | the note you typed when saving | the 12-minute one with the "whetstone" tip |
{text} | text you shared or selected, if any | empty |
{category} | the reason's name | Watch later |
{tag} | the reason's tag | #watch |
{tagname} | the tag without the # | watch |
{date} | when you saved it, ISO 8601 in UTC | 2026-10-28T17:04:00.000Z |
{day} | the date in your time zone | 2026-10-28 |
{time} | the time in your time zone, with - instead of :, so it can go in a file name | 17-04 |
{markdown} | the standard one-line Markdown entry | - [How to sharpen a kitchen knife](https://videos.example/w/knife-sharpening) to watch later |
Let your assistant write it
Connected over MCP with a full-access key, Claude or ChatGPT can do all of the above for you: it lists your destinations, checks a template against the sample save, and creates or updates the reason. Ask for "a JSON file per save in my Reading folder with the title, link, note and date" and look at the result in the editor.
Questions
- How does TapCue know which format I mean?
- By the file name. A name ending in .json is written as JSON and must parse; .xml, .yaml, .yml, .csv and .html are escaped for that format; .md and anything else are written as is. For a webhook, the Format setting decides.
- Where do the files go?
- Wherever the reason's destination points: a folder in your Obsidian vault or any folder on your phone, a GitHub repository, or a webhook. One file per save when the reason is set to A note of its own; otherwise a line is added to one note.
- What if my template has a mistake?
- The editor checks as you type: invalid JSON, a front matter block that isn't key: value, unbalanced XML, and placeholders TapCue doesn't know, which it would otherwise write out as is. It shows the file a sample save would become, so you see the result before anything is saved.
- Can an AI assistant write the template for me?
- Yes. Connect an assistant over MCP with a full-access key and ask for what you want, such as a JSON file per save with the title, link and date. It can check the template against a sample save and create or update the reason with it.
- Are templates in the free plan?
- Custom templates, file names per reason and your own reasons are part of Pro. Free saves one Markdown line per save into one note.
Send saves to a webhook instead · Saving to Obsidian · How to use TapCue
Custom templates are part of Pro. Pricing