Connector overview
Route Praxis side effects into any external system of record through one contract.
Connector contract
A connector adapts Praxis side effects to one external system of record. The world and decision logic never need to know that system’s URLs, auth scheme, response shape, or remote identifiers.
The contract is functional: a connector is a plain object whose methods prepare calls or perform read-only observation. This makes dependencies such as fetch and environment values easy to inject in tests.
Capabilities
| Capability | Purpose | Required |
|---|---|---|
actor.create | Ensure a remote contact exists for an actor | Yes |
booking.create | Create a remote booking | Yes |
booking.update | Mirror completion or no-show | No |
booking.cancel | Cancel the mapped remote booking | Yes |
message.send | Send a message to the mapped actor | Yes |
ping | Report reachability | Yes |
listBookings | Observe remote bookings | No |
Transport selection
Booking, messaging, and cancellation each choose a mechanism independently. A mixed setup can keep bookings local while sending messages through a CRM and using mock-random for cancellation testing.
{
"config": {
"transports": {
"booking": "local-sim",
"message": "acme-crm",
"cancel": "mock-random"
}
}
}Execution order
Build an operation request before network execution.
Create or reuse the remote contact mapping.
Call the remote capability and retain its response.
Record the returned remote id for later update or cancellation.
Commit world state on success or recovery work on failure.