Using Productivity Tools to Actually Set SMART Goals That Stick
1. Why setting SMART goals in Notion feels great until it backfires
First time I set up a SMART goals dashboard in Notion, I spent way too long picking icons and tweaking the “deadline” property to automatically color-code when a goal was overdue. Felt productive, and it looked sharp. Problem was, two weeks later, nothing had moved. Every “Achievable” checkbox was still unchecked. Turns out visually calming UIs don’t make you actually do anything.
The moment you lock a SMART framework into a customizable system like Notion—the kind where your mouse finger starts twitching from too many toggles—you realize the acronym needs more than cute layouts. The model works if you actually see the goals in your workflow, but half the time they’re in that nice-looking but completely buried page called “📌 Goals 2024 / Strategy Plan.”
The goal property formulas worked, except when someone edited the goal text and broke the formula input. I had this condition:
if(empty(prop("Progress")), "Not started", prop("Progress"))
—which broke completely when someone renamed “Progress” to “% Complete.” Logical, but it didn’t throw an error—just silently showed blank. Notion doesn’t flag broken formulas inside databases like a proper IDE would.
Now I use synced blocks to surface goals inside project templates—specifically dropping a goal summary inside any temp where the project tag matches the related objective. Still manual, kind of meh, but at least I see stuff now.
2. Connecting SMART goal status to recurring reviews in Coda
With Coda I tried setting up a weekly review doc that autopulls live SMART goals for teams. Good idea, until you realize people interpret “Specific” differently. One person’s “Launch internal comms plan” was another’s “Figure out vibes.”
So we made it explicit: if a goal didn’t start with a measurable action verb, it got flagged yellow. That helped—and using Coda buttons to trigger @mentions for editing flagged goals worked surprisingly well. One IFTTT-style reaction stack per goal:
- If Status = Draft → Button appears prompting update
- If Owner field empty → Row turns red
- If Due Date is within 2 days and % Done < 80 → 🚨 auto-email via Gmail pack
What stunned me was how often folks just ignored the prefilled forms. I’d built a Coda automation that generated one meeting prep doc per user, linked their open SMART goals, and pretagged anything red. Half the team bypassed it because the Slack reminders came too early in the day. Shifted them to 3:15pm and usage jumped (which says way too much about everyone’s mornings).
3. Using Zapier to nudge SMART goal updates from Google Sheets
One team insisted on keeping all goals in Google Sheets. Look, no shame—Sheets is fast. My job was to build a Zapier-based system that pinged Slack weekly with updates on anything not marked “Achieved.”
The Zap logic was fine until I hit this: Zapier’s Google Sheets trigger (“New or Updated Spreadsheet Row”) doesn’t fire unless you click into the cell and hit Enter. That means if someone bulk-pastes updates, the Zap doesn’t catch it. No webhook, no ping. Just silence, and someone wondering where their reminder went. We eventually moved to a timed Zap with a filter:
IF Goal_Status != "Achieved" AND Week = CURRENT_WEEK
That ran daily and posted only unresolved goals. Dirty workaround, kinda ugly, but reliable.
Cleanest trick we found: color code rows in Sheets using conditional formatting and reference conditional emoji updates inside Zapier messages. Example:
“🟥 Goal stalled: ‘Finalize Q2 campaign’ (Owner: Alex)”
4. The problem with SMART goals in Airtable when you need cross-links
Airtable felt like the right place—inline relational fields, filters, automations. Felt good until you start nesting related deliverables. I linked team objectives to department-wide goals and then tried to count how many had measurable KPIs attached. That’s where it broke: Airtable doesn’t let you run conditional rollup summaries across linked record layers where the source field is empty.
I had a rollup for % with KPI and it always returned 100% even if half were blank. Turns out blank fields default to zero, so Avg() treats them as real values. You have to filter the sync view before rolling up or use one of those nasty formula hacks with ARRAYJOIN+CONTAINS.
I also ran into a weird bug: duplicating a base with synced views disabled doesn’t always sync properties correctly. In one cloned base, I had a multi-select field that stopped syncing status updates silently. No error. Just stale data.
I finally stripped it all down to one base with SMART goal records, related Deliverables, and a calculated Success Rate that showed actual completion counts vs projections. Nothing groundbreaking, but this is what finally worked without breaking:
- One base, no cross-base syncs
- “Projection” field must be filled or record turns orange
- Dependent fields auto-flag when top-level goal changes
- Separate view just for exec summaries that hides blank data
5. Why repeating SMART goal prompts in ChatGPT helps clarify outcomes
This one surprised me. I started using ChatGPT to reword vague quarterly goals into clearer SMART statements. What I didn’t expect was that repeating the same prompt with slight variations would surface better ideas over time.
Example prompt: “Rewrite this goal to meet SMART criteria: Increase online brand presence.”
Ran that four times in different tab sessions. Best version didn’t come until try #3:
“Achieve a 15 percent increase in Instagram engagement by publishing three targeted posts weekly, tracked via Later analytics, by March 28.”
That one stuck. Emphasis on measurable platform-specific metric, tool usage embedded, and deadline. Before that I kept getting “grow your reach” and “improve visibility” fluff.
But there’s a catch: sometimes GPT will hallucinate metrics or invent KPIs. One output told me to “increase Net Promoter Score by 20% on LinkedIn,” which… no. Be ready to spot the nonsense.
6. Using Obsidian for SMART goal friction logs and personal tracking
I use Obsidian not for goal planning, but for the part nobody tracks—the stuff that derails you from the goal. I’ve got a template called SMART_Slog.md that sits in my daily notes. Each time I abandon or avoid a goal, I log what happened. It’s usually one of these:
- Didn’t check the tracker because I opened Slack
- Goal was too high-level (“build lead gen”) with no next step
- Didn’t realize goal connected to unresolved deliverable
- No check-in trigger, so weeks went by
After a month of doing this, I realized the issue wasn’t motivation—it was visibility and event triggers. So I added a plugin that surfaces my three recurring SMART goals at the top of the daily note using a Templater snippet that calls a dataview query. That helped. Not perfect, but it interrupts the scroll.
```dataview
TABLE Goal, Target_Date, Status
FROM "Goals"
WHERE Status != "Achieved"
LIMIT 3
```
Minor note: if you reorder YAML frontmatter in a goal file, Dataview sometimes chokes. Spent 20 minutes wondering why one goal never appeared until I realized “Target_Date” had moved below a block comment.
7. How Make.com scenarios repair broken SMART dashboards well enough
After a failed re-sync between Notion and Airtable, I moved the whole reporting layer into Make.com. Built a scenario that pulls goals from Airtable, cleans the text, and pushes cleanable status cards into a Miro board using their API.
The trick was normalizing inconsistent text-based goal statuses before syncing. Input formatting was chaos: some had “Done”, some had “done”, one was “✅”. I added a regex router step that converted all versions to lowercase, stripped out emoji, and reset the status. This now sits as a data sanitizer module in the middle of the Make scenario.
Surprising hiccup: Miro’s API rate limits are not documented clearly. Every 100 pushes you likely get throttle errors unless you delay between batches. I slapped in a 5-second sleep between each board item and the errors quieted down.
One subtle win? Reading the raw logs made it easier to catch typos in goal text than trying to spot them visually in Airtable. Found three misspelled objectives that had been copy-pasted for weeks. One said “Reasearch vendor integrations.”