Switchyard runs on SMD

Flows

When something happens, do something about it. Every event is stored before a flow touches it, retried until it succeeds, and kept in order per customer, repository or whatever key you choose.

Try it

  1. 12 failed Stripe payments and 3 GitHub stars. Each customer gets a dunning case that escalates itself on the third failure.
  2. Two customers pay; their cases resolve and other flows react.
  3. Open any run and follow its journey across flows and cases, or open a flow and test it or replay its history.
  4. then send traffic again and watch Delivery. Fix it and the backlog drains in order.

Your flows

New flow

Whenever any case escalates, by itself or by hand, ask its owner to act and push it to your phone.

When a flow announces case.escalated

  1. action
  2. action
Done 24h
5
Filtered
0
Waiting
0
Blocked lanes
0

When Stripe reports a failed payment of €100 or more, look up the customer, record it on the customer's dunning case, tell the right team and announce the follow-up. The case escalates itself on the third failure. Events run in order per customer.

Webhook, in order per customer

  1. filter
  2. lookup
  3. action
  4. action
  5. action
  6. action
  7. announce
Done 24h
31
Filtered
5
Waiting
0
Blocked lanes
0

Point a GitHub repository webhook (star events) at this flow and celebrate every new stargazer in the inbox, on your phone and in chat.

Webhook, in order per repository

  1. filter
  2. action
  3. action
  4. action
Done 24h
9
Filtered
0
Waiting
0
Blocked lanes
0

When Stripe reports a paid invoice, resolve the customer's dunning case. Runs in order per customer, like the failures.

Webhook, in order per customer

  1. filter
  2. action
Done 24h
2
Filtered
0
Waiting
0
Blocked lanes
0

Celebrates every resolved case on the customer-success board, whether a flow or a person resolved it.

When a flow announces case.resolved

  1. action
Done 24h
3
Filtered
0
Waiting
0
Blocked lanes
0

Reacts to follow-ups announced by other flows: adds a card to the customer-success board. Escalation is the dunning case's job now.

When a flow announces payment.follow-up-started

  1. action
Done 24h
31
Filtered
0
Waiting
0
Blocked lanes
0
Uptime check Paused

Every minute, checks the URL in the uptimeUrl setting. While it does not answer with a 2xx status, an incident case collects every failed check and pages once; it resolves itself when the site answers again.

Every 1m

  1. lookup
  2. action
  3. action
  4. action
  5. action
Done 24h
0
Filtered
0
Waiting
0
Blocked lanes
0

Latest runs

All runs
RunFlowOrder keyStatusAttemptsStarted
05f16ae3 github-stars Test DavidOpDeBeeck/simple-message-dispatch Completed 1 37m ago
24e6350a escalation-desk chained dunning-cus_northwind Completed 1 39m ago
4e2d6535 escalation-desk chained dunning-cus_oakline Completed 1 39m ago
3e39fd87 escalation-desk chained dunning-cus_brightline Completed 1 39m ago
f7e43952 failed-payment-follow-up cus_oakline Filtered 1 39m ago
8cf1144c retention-board chained cus_harbor Completed 1 39m ago
6d7a16fb failed-payment-follow-up cus_brightline Filtered 1 39m ago
64ec842f retention-board chained cus_oakline Completed 1 39m ago