Deck engagement that moves the deal in HubSpot.
PitchWire writes what your buyer did with the deck onto the HubSpot deal. Your workflows use it to create the next task, and the rep works that task from the queue they already use. HubSpot runs the timers and the follow-up. PitchWire records what the buyer actually read.
- Deal + contact timeline
- 5 workflow-ready deal properties
- 0 contacts or deals created
- Team plan and above
Turn what the buyer read into the rep's next task
Every PitchWire field on the deal can be used as a trigger in HubSpot workflows. So a buyer's reading can start whatever your process already does: a task for the deal owner, an email draft from the rep's connected inbox, or a stage change and a notification to the manager. PitchWire doesn't run a second sequence engine next to HubSpot's. Your cadences, queues and reporting stay where they are.
Play 1 · The deck went unopened
When a rep sends a link, PitchWire records the send time on the matched deal and sets PitchWire awaiting view to Yes. The first real view sets it back to No. That gives HubSpot everything it needs to start a follow-up timer:
- Automation → Workflows → Create → From scratch → Deal-based.
- Enrollment trigger: PitchWire last sent is known, with re-enrollment turned on so every new send starts a fresh wait.
- Delay: 3 days, or your own number.
- If/then branch: PitchWire awaiting view is Yes → Create task for the deal owner: "Follow up: deck not opened". Set the task type to Email, and the rep gets a draft from their connected inbox.
- PitchWire last sent Mon 09:12
- PitchWire awaiting view Yes
Play 2 · The buyer came back
Every qualified view updates PitchWire last engagement, slides viewed and dwell on the deal. Use them as triggers the same way: when PitchWire last engagement changes, create a "call today" task. When dwell passes a threshold you choose, move the deal to a later stage or notify the manager. A qualified view is the same filtered signal that drives PitchWire's own alerts, so a task means someone actually read the deck (see what counts as a view).
PitchWire last engagement is a date, so a workflow triggered on it fires at most once per deal per day.
What lands in HubSpot
A timeline entry on the contact and on the deal for each qualified view. It records the deck, the viewer, slides viewed, time spent, whether it was their first open, and a link back to the deal in PitchWire. HubSpot hides connected-app entries until you tick PitchWire under Filter activity on the record.
Five custom deal properties, created in the Deal information group the first time PitchWire writes to your portal:
| Property | Internal name | Type | Updated when |
|---|---|---|---|
| PitchWire last engagement | pitchwire_last_engagement_at | Date | Each qualified view |
| PitchWire slides viewed | pitchwire_slides_viewed | Number | Each qualified view |
| PitchWire dwell (seconds) | pitchwire_dwell_seconds | Number | Each qualified view |
| PitchWire last sent | pitchwire_last_sent_at | Date and time | A link is sent |
| PitchWire awaiting view | pitchwire_awaiting_view | Yes / No | Yes on send, No on the first qualified view |
Nothing is written to companies, and PitchWire never changes HubSpot's standard properties.
What counts as a view
Email security scanners open every link in an inbox. If each of those opens were written to HubSpot, your workflows would chase robots. So PitchWire writes only qualified sessions:
- A cloud server that opens the link and never turns a slide or plays a video is left out.
- A session that ends almost as soon as it starts is left out.
- The rep's own test views are never written.
- Each session is written once. A retry after a HubSpot outage never creates a duplicate timeline entry.
How a link finds its contact and deal
When a rep creates a link, PitchWire looks up the recipient's email in HubSpot. If exactly one contact matches and that contact has exactly one deal, the link is attached to both automatically. If there are several candidates, PitchWire doesn't guess: the rep picks the contact or deal from a short list, and that choice is kept. If nothing matches, PitchWire writes nothing.
PitchWire never creates contacts, deals or companies in your portal. It only records engagement on records you already have.
The PitchWire card on the record
A PitchWire tab appears on Deal and Contact records. It lists the decks sent to that record, their opens and qualified reads, the date of the last read, and a heat reading of Hot, Warm, Cold or Idle. Send a deck lets a rep pick a template, enter the recipient and create a tracked link without leaving HubSpot. The new link is attached to the record it was sent from, so it starts the follow-up timer in Play 1.
HubSpot signs every request the card makes, and PitchWire checks that signature before it returns anything.
Connecting your portal
- A PitchWire workspace owner opens Settings → Integrations and clicks Connect HubSpot.
- They approve the permissions below in HubSpot. This takes a HubSpot user who is allowed to install apps in the portal.
- Build the workflows above. The deal properties are ready to use as triggers once PitchWire has written to the portal for the first time.
Each workspace connects one CRM portal. The PitchWire app isn't listed on the HubSpot App Marketplace yet, so you connect from inside PitchWire rather than from HubSpot.
Permissions it asks for
- Read contacts and deals (crm.objects.contacts.read, crm.objects.deals.read) to match a recipient's email to a contact and its deals.
- Write deals (crm.objects.deals.write) to update the five PitchWire properties.
- Add custom deal fields (crm.schemas.deals.write) to create those properties the first time.
- Timeline (timeline.read, timeline.write) to post engagement entries on the contact and deal.
- Basic sign-in (oauth) to identify which portal you connected.
PitchWire asks for no permission to write contacts, and none for companies, emails or owners.
Your data, and disconnecting
HubSpot receives engagement only: the deck's name, the recipient's name, slide counts, time spent and timestamps. It never receives the deck's content. Your HubSpot credentials are encrypted at rest with AES-256-GCM, under a key that exists only in our hosting environment, and they are never sent to your browser.
An owner can disconnect at any time from Settings → Integrations. PitchWire asks HubSpot to revoke access and deletes the stored credentials. The properties and timeline entries already in your portal are your data, and they stay there. More on how we handle data is on the Security page.
Plans and beta status
HubSpot write-back is included on Team and Enterprise. See pricing. The integration is in beta. What that means today:
- Matching needs the recipient's email on the link. A link sent without one isn't attached to a record.
- The follow-up fields live on the deal, not the contact. A link that matches a contact with no deal gets a timeline entry but can't start the Play 1 timer.
- Links created from Claude or ChatGPT aren't matched to HubSpot records yet, so they don't start the Play 1 timer.
- For pitch pages, the timeline entry still says "slides" where it means sections.
Running HubSpot at a scale or in a shape we haven't covered here? Email info@getpitchwire.com. We reply within a business day.
Put deck engagement to work in your HubSpot workflows.
Start free, then connect HubSpot on Team. Your first live link takes about ten minutes.