Give every HubSpot deal its own tracked collateral link

When a deal reaches proposal or demo, we pick the right collateral, create a unique tracked link for that buyer, and hand it to the rep.

Agentic Task
HubSpotBitlySlack BotSalesMarketingNotifications & AlertsData Sync
PromptCreate

When a deal in HubSpot moves into a proposal or demo stage, I want a unique tracked short link created for the collateral we are about to send that buyer, attached to the deal record, and handed to the rep who owns it. Trigger this with a webhook that fires on HubSpot deal stage changes.

Before this runs, I need a custom deal property in HubSpot called "Tracked collateral link" (single line text). That is where the short link will land.

When the webhook fires, take the deal ID from the payload and call HubSpot "Get Deal" to read the deal name, the amount, the current deal stage, the industry, the deal owner, the associated company, and the current value of the "Tracked collateral link" property. Only continue if the new stage is one of our proposal or demo stages. If the deal already has a value in "Tracked collateral link", stop there and do nothing else, because each deal should keep exactly one link for its entire life.

If the deal has an associated company, call HubSpot "Get Company" to read the company name, industry, and size, so there is enough context to choose the right asset.

Now choose the single collateral URL that best fits this deal, weighing the deal amount, the industry, the company profile, and whether the deal is at demo or proposal stage. Pick from the collateral library below, and if nothing is a clear fit, fall back to the general overview one pager. Replace these examples with our real assets:

General overview one pager: https://example.com/overview. Enterprise security and compliance brief, for deals above 50k or regulated industries: https://example.com/security-brief. Manufacturing case study: https://example.com/case-study-manufacturing. Retail and ecommerce case study: https://example.com/case-study-retail. Recorded product demo, best for deals at demo stage: https://example.com/demo-recording.

Call Bitly "Create a Bitlink" pointing at the chosen URL. Set the title to the deal name so the link is recognizable inside Bitly, and add tags that include the HubSpot deal ID and the deal stage. Create a fresh link every time and never substitute a shared campaign link, because the whole point is knowing whether this specific buyer opened the material.

Call HubSpot "Update Deal" on the same deal ID to save the new short link into the "Tracked collateral link" property.

Then call HubSpot "Create Note" associated with that deal. The note should state which asset was chosen, include the short link, and give two or three sentences on why that asset fits this deal, referencing the deal size, industry, or company detail that drove the decision, so anyone reading the record later understands the reasoning.

Finally, notify the owning rep. Use the owner ID from the deal with HubSpot "Get Owner" to get their email address, then use Slack Bot "Look Up User by Email" to find their Slack user, and send them a direct message with Slack Bot "Send a Message". The message should name the deal and the company, say in one line which asset was picked and why, and present the short link on its own line so it can be pasted straight into a follow up email. If the rep cannot be matched in Slack, post the same message to our sales channel and name the deal owner in the text instead.

Additional information

What does this prompt do?
  • Watches your pipeline and reacts the moment a deal moves into a proposal or demo stage.
  • Chooses the collateral that actually fits that deal, based on its size, its industry, and the company behind it.
  • Creates a one-of-a-kind short link for that single deal, so every click traces back to that one buyer instead of disappearing into a shared campaign link.
  • Saves the link onto the deal, files a short note explaining which asset was picked and why, and messages the deal owner with the link ready to paste into their follow up email.
What do I need to use this?
  • A HubSpot account where you can view and edit deals
  • A Bitly account for creating the short links
  • A Slack workspace so the owning rep can be notified
  • A custom deal property in HubSpot to hold the link, for example one called "Tracked collateral link". Create this before the workflow runs, as it is where the short link lands
  • A short list of your collateral links (case studies, one pagers, demo recordings) with a line on who each one suits
How can I customize it?
  • Change which pipeline stages count as proposal or demo, so it matches how your team names them.
  • Swap in your own collateral list and the rules for choosing between assets, such as a specific case study per industry or a different deck above a certain deal size.
  • Post to a shared sales channel instead of direct messaging the rep, or do both.
  • Adjust what the note on the deal records, if you want more or less detail about the reasoning.

FAQs

Why create a unique link for each deal instead of one link for the campaign?
Because a shared link cannot tell you who clicked. If twenty deals get the same URL, click data only tells you the asset was popular. A link that belongs to one deal turns every click into a signal about that specific buyer, which is what tells a rep whether the proposal was actually opened.
Will this work on HubSpot Free?
You need a HubSpot plan that lets you add a custom deal property and send out a notification when a deal changes. Most paid Sales Hub plans cover this comfortably. If instant notifications are not available on your plan, the same workflow can run on a schedule instead, checking every few minutes for deals that recently changed stage.
Do I need a paid Bitly plan?
No. A standard Bitly account can create the links and give them titles and tags, which is all this needs. A paid plan only matters if you want your own branded domain in the link rather than a bit.ly address.
What happens if a deal moves back and forth between stages?
Nothing is duplicated. Before doing anything the workflow checks whether the deal already has a tracked link saved, and stops if it does. Each deal keeps one link for its whole life, which is what makes the click data trustworthy.
How do I actually see who clicked?
The clicks show up against that link in Bitly, and because the link is titled with the deal name and tagged with the deal, you always know which opportunity it belongs to. Reps get the link in Slack, so they can also just check it before their next follow up.

Related templates

Chase past-due JobNimbus invoices with escalating emails

Every weekday, find every unpaid JobNimbus invoice, email each customer one reminder that gets firmer as it ages, and post a receivables summary to Slack.

JobNimbus
Gmail
Slack Bot
Agentic Task
Flag at-risk students in Canvas before they fall behind

Every weekday at 7am, your active courses are checked for missing work, silent logins, and slipping grades, with a ranked list sent to your advising channel.

Canvas
Google Sheets
Slack Bot
Agentic Task
Catch Jira service desk tickets before their SLA runs out

Every hour, find the tickets closest to breaching, leave a nudge on each one, and post a ranked at-risk list to your support channel.

Jira Service Management
Slack Bot
Agentic Task
Send Canvas students a kind nudge about missing work

Every weekday afternoon, each student who is behind gets a warm, personal message in their Canvas inbox listing exactly what they owe.

Canvas
Slack Bot
Agentic Task
Weekly Canvas grading backlog report in Slack and Sheets

Every Monday at 8am, see exactly which assignments have work waiting, sorted worst first, posted to Slack and logged to a spreadsheet.

Canvas
Slack Bot
Google Sheets
Deterministic Code
Revoke Bitwarden access when someone leaves in BambooHR

Every weekday morning we compare your password vault against your HR records and suspend access for anyone who has already left.

Bitwarden
BambooHR
Slack Bot
Agentic Task

Stop sending proposals into the dark.

Give every deal its own tracked link and finally know which buyers opened the material you sent them.