# Routing Slip

> Staple the message''s processing itinerary to itself — each stop reads next and passes it on.

- **Category**: Integration
- **Subcategory**: Message Routing
- **Canonical URL**: https://designpattern.fyi/patterns/routing_slip/

---

## Description
Clean, reusable architecture pattern.


## Use Cases
Document approval workflow — a ContractDocument message carries a routing slip of [legalReview, complianceCheck, financialApproval, executiveSigning]. Each department processes and forwards to the next. Different contract types have different slips. No central workflow engine needed.





## Trade-offs


### Advantages

- Decentralized routing — no single routing component to bottleneck or fail

- Per-message processing paths — maximum flexibility

- Easy to add new processing steps to individual message types

- Self-documenting — the slip describes exactly what processing will occur




### Considerations & Drawbacks

- Slip must be correctly pre-computed — errors in slip construction cause misrouting

- No central visibility into overall flow state (harder to monitor than Process Manager)

- Slip increases message payload size

- Dynamic slip modification mid-flow is complex and risky







---
**Reference**: [Original Source](https://www.enterpriseintegrationpatterns.com/patterns/messaging/RoutingTable.html)

