Payment Failure Workflow
Failed payment recovery workflow with smart retry scheduling, dunning email sequence, payment method update prompts, and involuntary churn prevention.
Webhook integration workflow with endpoint registration, payload signing, delivery attempt, retry with backoff, and delivery status tracking.
ExternalService { # External Service
n1: circle label:"Start"
n2: rectangle label:"Event occurs"
n3: rectangle label:"Prepare webhook payload"
n4: rectangle label:"Send HTTP POST request"
n5: diamond label:"Response 2xx?"
n6: rectangle label:"Log successful delivery"
n7: circle label:"End"
n1.handle(right) -> n2.handle(left)
n2.handle(right) -> n3.handle(left)
n3.handle(right) -> n4.handle(left)
n4.handle(bottom) -> WebhookReceiver.n8.handle(top) [label="POST /webhook"]
n5.handle(right) -> n6.handle(left) [label="Yes"]
n5.handle(bottom) -> RetryQueue.n15.handle(top) [label="No"]
n6.handle(right) -> n7.handle(left)
}
WebhookReceiver { # Webhook Receiver
n8: rectangle label:"Validate signature header"
n9: diamond label:"Signature valid?"
n10: rectangle label:"Parse JSON payload"
n11: rectangle label:"Acknowledge with 200 OK"
n12: rectangle label:"Return 401 Unauthorized"
n13: rectangle label:"Queue for async processing"
n14: rectangle label:"Return 400 Bad Request"
n8.handle(right) -> n9.handle(left)
n9.handle(right) -> n10.handle(left) [label="Yes"]
n9.handle(bottom) -> n12.handle(top) [label="No"]
n10.handle(right) -> n11.handle(left)
n11.handle(right) -> n13.handle(left)
n12.handle(top) -> ExternalService.n5.handle(bottom) [label="401"]
n13.handle(bottom) -> EventProcessor.n18.handle(top) [label="Process"]
n14.handle(top) -> ExternalService.n5.handle(bottom) [label="400"]
}
RetryQueue { # Retry Queue
n15: rectangle label:"Add to retry queue"
n16: rectangle label:"Wait with backoff"
n17: rectangle label:"Retry delivery"
n15.handle(right) -> n16.handle(left)
n16.handle(right) -> n17.handle(left)
n17.handle(top) -> ExternalService.n4.handle(bottom) [label="Retry"]
loop [retry up to 5 times] n15 n16 n17
}
EventProcessor { # Event Processor
n18: rectangle label:"Deserialize event data"
n19: rectangle label:"Route to handler"
n20: rectangle label:"Execute business logic"
n21: rectangle label:"Update local state"
n18.handle(right) -> n19.handle(left)
n19.handle(right) -> n20.handle(left)
n20.handle(right) -> n21.handle(left)
n21.handle(top) -> ExternalService.n7.handle(bottom) [label="Complete"]
}Failed payment recovery workflow with smart retry scheduling, dunning email sequence, payment method update prompts, and involuntary churn prevention.
A/B test setup workflow with hypothesis definition, variant creation, traffic allocation, statistical analysis, and winner deployment.
Account deletion workflow with cancellation reason capture, retention offer, subscription termination, data cleanup, and confirmation email.
API key rotation workflow with new key generation, dual-key transition period, client notification, old key deprecation, and audit logging.
Billing dispute workflow with dispute intake, transaction review, fraud analysis, resolution decision, and chargeback response handling.
Cohort analysis workflow with user segmentation by signup date, retention curve calculation, LTV projection, and behavioral pattern identification.