When to use it, when not to
Use it
- Use it when SDRs qualify and book meetings on behalf of AEs (SDR owns the contact until handoff, AE owns the meeting and the deal going forward).
- Use it when your team has had recurring "the AE didn't know why this meeting was booked" complaints.
Skip it
- Do not use it if the same person books and takes the meeting (no handoff needed, this workflow only makes sense when two different reps are involved).
- Do not use it for meetings booked directly by the AE with their own contacts; only trigger it for SDR-originated bookings, see the enrollment filter below.
Prerequisites
- Property:
SDR notes(internal namesdr_handoff_notes), object contact, field type single-line or multi-line text. Why: this is where the SDR logs qualification context before or right after booking, and the handoff task pulls it in. - Property:
Booked by(internal namemeeting_booked_by), object contact, field type HubSpot user (or dropdown of SDR names if a user-type property is not available on your portal). Why: distinguishes SDR-booked meetings from AE self-booked ones, since the trigger should only fire on the former. "HubSpot user" is a standard field type for custom properties and stores one or many users from your account, so the dropdown fallback is not needed (https://knowledge.hubspot.com/ ).properties/ property-field-types-in-hubspot - Both the SDR and AE roles set as
Contact ownerat different points is not required. What matters is theBooked byproperty is set by the SDR at qualification time, ideally through a workflow or manually before the meeting is booked. - A team meeting link setup or individual AE meeting links that SDRs use to book on the AE's behalf.
Enrollment
| Trigger type | event-based. |
|---|---|
| Criteria | Meeting Scheduled AND Booked by
is known (has any value, meaning an SDR is on record as the booker). Add
Contact owner is known so the task has an assignee. |
| Re-enrollment | on, re-enroll on each new
Meeting Scheduled event, since a re-booked handoff meeting
deserves a fresh task with current notes. |
| Suppression | exclude if Lifecycle stage is
customer (renewals/expansion meetings are not new-business
handoffs, route those with a renewal-expansion workflow instead). |
Steps
- Trigger fires on
Meeting ScheduledwithBooked byknown. - Set property value:
Handoff date= current date. - Create task: type "To-do", title "Handoff prep:
{{contact.firstname}} {{contact.lastname}} - meeting booked by
{{contact.meeting_booked_by}}", due 1 day before the meeting (fallback:
same day), assigned to Contact owner (the AE).
- Task notes field populated with
SDR notesproperty value via personalization token.
- Task notes field populated with
- Send internal email notification to Contact owner, subject "New handoff: {{contact.firstname}} {{contact.lastname}}", body includes a direct link to the contact record and the SDR notes.
- If/then branch:
SDR notesis unknown (blank).- If true: Send internal email notification to the SDR
(
Booked byuser) reminding them to log qualification notes before the meeting.
- If true: Send internal email notification to the SDR
(
Known pitfalls
- If the SDR books the meeting before filling in
SDR notes, the handoff task goes out with empty context. The reminder branch (step 5) helps but does not guarantee notes get added before the meeting itself; consider a hard requirement in the SDR's own booking process instead of relying only on this workflow. Booked byhas to be set through a separate action (manual entry, a form, or an earlier qualification workflow); this workflow only reads it, it does not populate it. Confirm your SDR process actually sets this property every time or the filter will silently skip real handoffs.- Personalization tokens pulling free-text properties into a task's
notes field can get long. If
SDR notesregularly runs over a paragraph, keep only the summary in the task and put the full notes on the contact record instead. - Re-enrollment on every
Meeting Scheduledevent means a rescheduled meeting also creates a second handoff task. Decide if that duplication is acceptable or if you want to suppress re-enrollment and rely on sales-ops-015 for reschedules instead.
Test plan
- As a test SDR user, set
Booked by= your test SDR user and fillSDR noteswith sample qualification text on a test contact. - Book a test meeting for that contact using the AE's meeting link.
- Open workflow history, confirm enrollment and check the branch taken.
- Confirm the handoff task appears in the AE's task queue with the SDR notes visible in the task body.
- Repeat with
SDR notesleft blank and confirm the SDR reminder email fires instead of (or alongside) the handoff task.
The UAT script of this spec holds 2 cases, with the expected result and a sign-off sheet. It comes as Markdown and as a CSV for your spreadsheet.
Variants
- Slack-based handoff instead of internal email, using a connected Slack action to post in a shared SDR/AE channel.
- Deal-based handoff: if the SDR already creates the deal at
qualification, trigger off deal creation with
Deal source= SDR-sourced instead of the contact-level meeting event. - Multi-AE pod handoff: route the task to a rotating "handoff reviewer" instead of a single fixed AE, using a rotation list similar to lead-routing-002.
Build spec
trigger:
type: event-based
event: meeting_scheduled
criteria:
- meeting_booked_by: is_known
- contact_owner: is_known
reenrollment: true
suppression:
- lifecycle_stage: equals "customer"
actions:
- type: set_property_value
property: handoff_date
value: current_date
- type: create_task
task_type: todo
title: "Handoff prep: {{contact.firstname}} {{contact.lastname}} - meeting booked by {{contact.meeting_booked_by}}"
due: meeting_date_minus_1_day
assigned_to: contact_owner
notes: "{{contact.sdr_handoff_notes}}"
- type: send_internal_email_notification
to: contact_owner
subject: "New handoff: {{contact.firstname}} {{contact.lastname}}"
- type: if_then_branch
condition: sdr_handoff_notes is_unknown
if_true:
- type: send_internal_email_notification
to: meeting_booked_by
subject: "Reminder: log qualification notes before the meeting"Files and install
| File | What it holds |
|---|---|
| PDF and Markdown | The spec as you read it here, with the YAML build spec at the end. |
| Properties JSON | Creates the fields in one API call. |
| Workflow JSON | Documents the build: the workflow in Automation API v4 format, switched off. |
| UAT script | The test cases, the expected results and a sign-off sheet, as Markdown and CSV. |
Take the PDF and build it by hand. One-click install comes with a category pack or the full library.
Install sales-ops-003
One email, and we tell you where this stands. When free installs open, that address is how you hear it first.
No card, no password, unsubscribe in one click.
Nothing deleted, enabled or enrolled.
sales-ops-003Spec version 2026-09