Skip to content

Customer Commitment Tracker

Example prompt: "Every 15 minutes, check our HubSpot deal notes for new ones tagged 'customer-commitment' that say we'll ship something by a certain date, and add them to our commitments register in Notion. Every Friday, check each open commitment against Linear and ping me in Slack about anything that looks at risk of slipping."

The Problem

Sales reps and customer success managers make commitments to customers in the moment — "yes, multi-currency invoicing is coming, we're aiming for end of Q3" — because they need to close the deal or save the renewal. The commitment is real. It lives nowhere except the rep's memory and a HubSpot note that nobody on the product team has ever opened. Three months later the customer calls in to ask where multi-currency invoicing is, the rep panics, the PM has no idea what was promised, and the conversation goes badly. The pattern repeats until either commitments stop being made (sales takes the hit), or the product team stops being trusted (everyone takes the hit). A register of who promised what, to whom, with what date, that is automatically cross-checked against the actual roadmap is the thing every PM means to set up and never gets around to.

How GloriaMundo Solves It

We build a workflow in two parts. The first part runs every 15 minutes. A state step reads the last-poll timestamp, an integration step polls HubSpot for deal notes added or updated since then with the "customer-commitment" tag, and a state step records the new timestamp so we don't re-process the same note. An LLM step reads each new note and extracts the structured commitment — customer name, feature description, target date, who made the promise, and the deal it relates to. An integration step adds a row to a Notion "Customer Commitments" database with those fields plus a status of Open. The second part runs every Friday afternoon. An integration step reads all Open commitments from the Notion database. For each one, an integration step searches Linear for the matching backlog item and reads its current status and target ship date. A code step compares the Linear status and date against the customer's target date and tags each commitment as On Track, At Risk (target within 4 weeks, not in In Progress or Done), or Slipped (target passed, not Done). A conditional step continues only if anything is At Risk or Slipped. An integration step posts a Slack summary to the PM with those commitments, the customer, the rep, the original deal, and what the Linear item says now. Glass Box preview shows the parsed commitments and the Slack summary before anything goes out.

Example Workflow Steps

  1. Trigger (scheduled): Runs every 15 minutes.
  2. Step 1 (state): Read the timestamp of the last poll.
  3. Step 2 (integration): Search HubSpot for deal notes tagged "customer-commitment" added or updated since that timestamp.
  4. Step 3 (state): Record the new last-poll timestamp so the next run doesn't re-process the same notes.
  5. Step 4 (LLM): For each new note, extract customer name, feature description, target date, the rep who made the promise, and the deal reference.
  6. Step 5 (integration): Add a row to the Notion "Customer Commitments" database with status Open and the extracted fields.
  7. Trigger (scheduled): Runs every Friday at 14:00.
  8. Step 6 (integration): Read all rows from Notion "Customer Commitments" where status is Open.
  9. Step 7 (integration): For each commitment, search Linear for the matching backlog item and read its status and target ship date.
  10. Step 8 (code): For each commitment compare Linear status and date against the customer's target date and tag as On Track, At Risk, or Slipped.
  11. Step 9 (conditional): If anything is At Risk or Slipped, continue; otherwise post a short "all on track" note.
  12. Step 10 (integration): Post a Slack summary to the PM listing the At Risk and Slipped commitments with customer, rep, deal, original target, current Linear status, and current Linear target.

Integrations Used

  • HubSpot — source of tagged deal notes where commitments are made
  • Notion — commitments register where every promised feature lives with its status
  • Linear — roadmap cross-reference so each commitment is matched to the backlog item that will deliver it
  • Slack — Friday afternoon summary of anything at risk so the PM can act before the customer notices

Who This Is For

Product managers at B2B SaaS companies where sales reps and CSMs are empowered to make commitments to close deals or save renewals, and where the same managers spend the rest of the quarter rediscovering those commitments from angry customer support tickets. Especially useful for PMs whose head of sales would happily adopt a "tag the note and it gets tracked" convention if the alternative is a quarterly "what did we promise" audit.

Time & Cost Saved

Reconstructing the commitments register from HubSpot notes manually each quarter takes a PM half a day, and even then it misses the commitments made on calls that were never written down. The realistic baseline is that commitments are tracked nowhere and rediscovered painfully. Catching a slipping commitment four weeks before it surfaces as a customer complaint is the kind of thing that saves a renewal; one saved renewal at typical B2B SaaS deal sizes pays for the workflow many times over.