Send approved HubSpot deal follow-up
Use “Send approved HubSpot deal follow-up” in Recued. It completes the approved HubSpot deal follow-up workflow. Changes remain behind Recued's approval controls.
How it works
Inspect the data fetches, transforms, gates, and output this recipe runs.
Data fetch
shared_followups
core.storage.shared.list
List storage shared
▼
Process (67 steps)
target_deal_id
trim
Trim whitespace from setting deal id
configured_recipient_email
trim
Trim whitespace from setting recipient email
configured_recipient_contact_id
trim
Trim whitespace from setting recipient contact id
configured_subject_override
trim
Trim whitespace from setting subject override
configured_followup_goal
trim
Trim whitespace from setting followup goal
has_deal_id
compare
Check if target deal id has data
has_sender
compare
Check if setting sender mail instance has data
has_subject_override
compare
Check if configured subject override has data
include_deal_amount_enabled
compare
Check if setting include deal amount equals true
allow_repeat_while_open_enabled
compare
Check if setting allow repeat while open equals true
deal
recued-core.hubspot.deal.read
Read deal on hubspot
skip: step.has_deal_id not_equal true
has_deal_properties
compare
Check if deal result properties has data
defaults
defaults
Apply defaults
deal_amount_for_draft
ternary
Apply ternary
deal_next_step
default
Apply default
contacts_list
recued-core.hubspot.deal_contacts.list
List deal contacts on hubspot
skip: step.has_deal_id not_equal true
contacts
map
Extract from each item
primary_contact
find
Find first match in
has_configured_recipient_contact_id
compare
Check if configured recipient contact id has data
contacts_matching_configured_id
filter
Filter by condition
configured_contact_match_count
count
Count items in contacts matching configured id
has_configured_contact_match
compare
Check if configured contact match count is greater than 0
missing_configured_recipient_contact
all
Check if all conditions are true
target_contact
default
Apply default
has_configured_recipient
compare
Check if configured recipient email has data
target_recipient_email
ternary
Apply ternary
has_recipient_email
compare
Check if target recipient email has data
contact_name_raw
default
Apply default
contact_name
trim
Trim whitespace from contact name raw
activities
recued-core.hubspot.engagement.list
List engagement on hubspot
skip: step.has_deal_id not_equal true
activity_rows
map
Extract from each item
recent_activities
slice
Take a subset of
active_watch_rows_for_deal
filter
Filter by condition
active_watch_rows_for_recipient
filter
Filter by condition
blocking_watch_rows
filter
Filter by condition
blocking_watch_count
count
Count items in blocking watch rows
has_blocking_watch
compare
Check if blocking watch count is greater than 0
block_existing_watch
all
Check if all conditions are true
skip_draft
any
Check if any of the conditions are true
draft
core.ai.generate
AI generates content from a template
skip: step.skip_draft equal true
draft_body
default
Apply default
has_draft_body
compare
Check if draft body has data
subject_text
ternary
Apply ternary
skip_send
any
Check if any of the conditions are true
send
core.mail.send
Send mail
skip: step.skip_send equal true
fail: config.sender_mail_instance is_empty
defaults_2
defaults
Apply defaults
sent_record_id
default
Apply default
has_sent_thread
compare
Check if sent thread id has data
has_sent_record
compare
Check if sent record id has data
thread_key_colon
replace
Replace text in sent thread id
thread_key_slash
replace
Replace text in thread key colon
thread_key_dot
replace
Replace text in thread key slash
thread_key_at
replace
Replace text in thread key dot
thread_key_space
replace
Replace text in thread key at
thread_key_left_angle
replace
Replace text in thread key space
thread_key_right_angle
replace
Replace text in thread key left angle
thread_key_plus
replace
Replace text in thread key right angle
thread_key_equals
replace
Replace text in thread key plus
thread_key_question
replace
Replace text in thread key equals
skip_watch_seed
any
Check if any of the conditions are true
seed_deal_followup_watch
core.storage.shared.write
Write storage shared
skip: step.skip_watch_seed equal true
link_sent_mail_to_deal
core.memory.link.create
Create memory link
skip: step.skip_watch_seed equal true
has_contact_id
compare
Check if target contact contact id has data
skip_contact_link
any
Check if any of the conditions are true
link_sent_mail_to_contact
core.memory.link.create
Create memory link
skip: step.skip_contact_link equal true
summary
to_summary
Format results as a summary card
draft_preview
to_table
Format results as a data table
▼
Output
summary
summary
table
draft_preview
Settings
Configurable at install. Defaults shown — change them anytime in Recued.
tone
setting
=
concise_professional
deal id
setting
=
max words
setting
=
140
followup goal
setting
=
activity limit
setting
=
5
recipient email
setting
=
business context
setting
=
subject override
setting
=
include deal amount
setting
=
false
recipient contact id
setting
=
sender mail instance
setting
=
allow repeat while open
setting
=
false
Uses (8 operations)
Shared store
List storage shared
core.storage.shared.list
Pack operation
Read deal on hubspot
recued-core.hubspot.deal.read
Pack operation
List deal contacts on hubspot
recued-core.hubspot.deal_contacts.list
Pack operation
List engagement on hubspot
recued-core.hubspot.engagement.list
AI models
AI generates content from a template
core.ai.generate
Mail
Send mail
core.mail.send
Shared store
Write storage shared
core.storage.shared.write
Memory
Create memory link
core.memory.link.create
Trust & control
What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.
Permissions it requires
Declared by the recipe — Recued grants these at install, where you review them before approving.What it's allowed to do
Read
Shared store
core.storage.shared.list
read-only
Read
AI models
core.ai.generate
read-only
Write
Mail
core.mail.send
external change
Write
Shared store
core.storage.shared.write
external change
Write
Memory
core.memory.link.create
external change
3 more aren't listed here. You'll see them at install.