Recued
Menu
← Back to recipes

Send approved Stripe payment exception follow-up

by recued-core v2 27 views

Use “Send approved Stripe payment exception follow-up” in Recued. It completes the approved the Stripe payment exceptions queue workflow. Changes remain behind Recued's approval controls.

Complete workflow

Use Billing Back Office Workflows - Stripe in Recued for solo, cold start, cashflow, and invoice recovery. It includes 11 ready-to-run workflows and 2 related packs in one install.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

Use “Send approved Stripe payment exception follow-up” in Recued. It completes the approved the Stripe payment exceptions queue workflow. Changes remain behind Recued's approval controls.

billingstripepaymentspayment-exceptions
by recued-core pinned v2

Use “Invoice recovery exceptions - Stripe” in Recued. It provides a read-only Stripe invoice recovery exception queue.

billingstripeinvoice-recoveryrecovery-exceptions
by recued-core pinned v2

Use “Send approved Stripe invoice recovery exception” in Recued. It completes the approved the Stripe invoice recovery exception queue workflow. Changes remain behind Recued's approval controls.

billingstripeinvoice-recoveryrecovery-exceptions
by recued-core pinned v2

Use “Payment exceptions - Stripe” in Recued. It provides a read-only payment exception queue for Stripe.

billingstripepaymentspayment-exceptions
by recued-core pinned v2

Use “Customer cleanup - Stripe” in Recued. It provides a read-only Stripe customer cleanup queue.

billingstripecustomer-cleanupdata-hygiene
by recued-core pinned v2
Show all 15 recipes
Stripe billing resolution watcher
Background automation

Use “Stripe billing resolution watcher” in Recued. It checks saved items on a schedule and updates them when the connected service reports a final status.

billingstripeinvoice-recoveryrecovery-exceptions
by recued-core pinned v3

Use “Schedule an approved meeting hold” in Recued. It carries out the named workflow using the connections and settings you choose.

emailmailcalendarmeeting
by recued-core pinned v2
View pack details, dependencies, and permissions →
How it works 73 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Data fetch
▼ shared_billing_followups core.storage.shared.list
List storage shared
▼
Process (72 steps)
■ target_payment_id trim
Trim whitespace from setting payment id
■ has_payment_id compare
Check if target payment id has data
■ payment_resolution_url_value trim
Trim whitespace from setting payment resolution url
■ configured_exception_note trim
Trim whitespace from setting exception note
■ configured_recipient_email trim
Trim whitespace from setting recipient email
■ configured_email_subject trim
Trim whitespace from setting email subject
■ configured_email_body trim
Trim whitespace from setting email body
■ has_payment_resolution_url compare
Check if payment resolution url value has data
■ has_exception_note compare
Check if configured exception note has data
■ has_configured_recipient compare
Check if configured recipient email has data
■ has_email_subject compare
Check if configured email subject has data
■ has_email_body compare
Check if configured email body has data
■ allow_repeat_while_open_enabled compare
Check if setting allow repeat while open equals true
■ has_sender compare
Check if setting sender mail instance has data
◆ payment recued-core.stripe.payment.read
Read payment on stripe
skip: step.has_payment_id not_equal true
■ payment_customer_raw default
Apply default
■ payment_customer_id default
Apply default
■ has_customer_id compare
Check if payment customer id has data
◆ customer recued-core.stripe.customer.read
Read customer on stripe
skip: step.has_customer_id not_equal true
■ defaults defaults
Apply defaults
■ has_payment_receipt_email compare
Check if payment receipt email has data
■ customer_email ternary
Apply ternary
■ has_customer_email compare
Check if customer email has data
■ target_recipient_email ternary
Apply ternary
■ has_target_recipient_email compare
Check if target recipient email has data
■ customer_name default
Apply default
■ has_amount compare
Check if amount is greater than 0
■ payment_status_customer_actionable compare
Check if payment status is one of requires_payment_method,requires_action
■ payment_exception_reason switch
Map payment status to one of: requires_action, requires_payment_method
■ missing_customer_email_exception all
Check if all conditions are true
■ additional_recipient_exception all
Check if all conditions are true
■ owner_documented_exception compare
Check if has exception note equals true
■ owner_authored_message_exception compare
Check if has email body equals true
■ native_recovery_disabled_exception compare
Check if setting exception reason equals native_recovery_disabled
■ native_recovery_unavailable_exception compare
Check if setting exception reason equals native_recovery_unavailable
■ native_recovery_exhausted_exception compare
Check if setting exception reason equals native_recovery_exhausted
■ exception_eligible any
Check if any of the conditions are true
■ active_watch_rows_for_payment 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_followup any
Check if any of the conditions are true
■ default_body_with_resolution_url template
Generate text from a template
skip: step.skip_followup equal true
■ default_body_without_resolution_url template
Generate text from a template
skip: step.skip_followup equal true
■ default_email_body ternary
Apply ternary
skip: step.skip_followup equal true
■ draft_body ternary
Apply ternary
skip: step.skip_followup equal true
■ has_draft_body compare
Check if draft body has data
■ skip_send any
Check if any of the conditions are true
■ subject_text ternary
Apply ternary
◆ 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_payment_exception_watch core.storage.shared.write
Write storage shared
skip: step.skip_watch_seed equal true
◆ link_sent_mail_to_payment core.memory.link.create
Create memory link
skip: step.skip_watch_seed equal true
■ skip_customer_link any
Check if any of the conditions are true
◆ link_sent_mail_to_customer core.memory.link.create
Create memory link
skip: step.skip_customer_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 9 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

email body setting =
payment id setting =
email subject setting = Payment action needed
exception note setting =
recipient email setting =
exception reason setting = custom_context
sender mail instance setting =
payment resolution url setting =
allow repeat while open setting = false

Uses (6 operations)

Shared store List storage shared core.storage.shared.list
Pack operation Read payment on stripe recued-core.stripe.payment.read
Pack operation Read customer on stripe recued-core.stripe.customer.read
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

Read your Stripe connectionMail send
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
Write Mail core.mail.send external change
Write Shared store core.storage.shared.write external change
Write Memory core.memory.link.create external change

2 more aren't listed here. You'll see them at install.

Data it touches

SurfacesShared storeMailMemory
Warehousedata.shareddata.maildata.billing

About

Tags

billingstripepaymentspayment-exceptionscashflowemailmailsend-classclosed-loopone-person-companystate:outbound-follow-up-response-watcherpack:billing-back-office-workflowsconfigured-message

Details

73 steps 9 configurable settings recipe_id: send-approved-stripe-payment-exception-followup