← Blog Tools · 2 min read

Managing links from Notion or Airtable

A base of campaigns can create and update short links automatically, if you decide where the source of truth lives.

By ShortFreeURL Team · 21 August 2026

The most important decision is whether the base is the source of truth or a mirror. If the base owns it, links are created only through automation and nobody touches the link platform directly. If it mirrors, the base is a convenient view and edits can happen in either place. Mixing the two produces contradictions nobody can resolve, so pick one and write it at the top of the base.

The minimum schema

One row per link with campaign, channel, destination, slug, short URL, owner, created date and status. Add the UTM fields as separate columns rather than pasting a full URL, then build the destination with a formula. Separate columns are searchable, filterable and enforceable with dropdowns, which is the entire reason to use a database instead of a document.

Use single-select fields for the taxonomy

Source and medium as dropdowns rather than free text is the cheapest UTM governance available. It eliminates spelling variants at the point of entry, which is where they are cheap to prevent and expensive to fix later.

Trigger creation on a status change, not on row creation

Rows get created half-finished. An automation that fires on creation will mint links for incomplete rows. Fire on a status field moving to Ready instead, so the author decides when the row is complete. Write the resulting short URL and any error message back into the row.

Handle the second run

Automations re-run. Guard creation on the short URL field being empty, and treat a slug conflict from the API as "already exists" rather than as a failure. Otherwise editing an unrelated field a week later produces a duplicate link and a confusing report.

Sync click counts back on a schedule

A scheduled job that pulls click totals into the base once or twice a day turns it into a campaign dashboard without anyone opening the link platform. Do not poll per row on every view; fetch in bulk and write in batches, or you will exhaust a rate limit on a table nobody is even looking at.

Keep an error column and look at it

Automations fail silently by default. A visible column holding the last API error, plus a filtered view showing only rows with errors, is the difference between noticing a problem the same day and discovering it when a campaign launches with an empty link field.

Related posts

Start Free — no credit card

The free plan includes 1,000 links, 6 custom domains and 50,000 tracked clicks a month, free forever. Choose a free subdomain from six shared domains. Paid plans start at $4 a month when you outgrow it, and you keep everything you have built.