# Endpointless Agents
And how we tame them
---
## Agents with no Endpoint
- Phones
- Some Static Agents
- Agents with Firewall Issues
---
## Additional Advantages
- Brings 'sync' to async
- Simpler Mental Model
- Efficiency
- Reuse existing connections
- Avoids Network Issues
---
## Factors
- DID Doc
- Getting response messages
- Inbound routing
---
## DID Document
- Implications of no endpoint
Don't call me, I'll call you!
---
## Response Messages
- return route decorator
- Implies temporary message holding
- doesn't relible delivery need that anyway?
---
## Routing Agent
- Other Agent has endpoint, willing to route.
- Route destination is a queue
- Endpointless Agent calls in to get messages.
- Ideally, Other Agent capable of push notifications.
---
```graphviz
digraph {
compound=true
rankdir=LR
graph [ fontname="Source Sans Pro", fontsize=20 ];
node [ fontname="Source Sans Pro", fontsize=18];
edge [ fontname="Source Sans Pro", fontsize=12 ];
a [label="Phone"] [shape=box]
b [label="Routing Agent"] [shape=box]
c [label="Any Agent"] [shape=box]
a -> b [label="Return Route\n Connection"] [weight=2]
b -> a [label="Push Notifications"] [style=dotted]
b -> c
c -> b
}
```
---
### A Last Hop Problem
---
{"metaMigratedAt":"2023-06-14T21:52:39.169Z","metaMigratedFrom":"YAML","title":"Endpointless Agents","breaks":"true","description":"View the slide with \"Slide Mode\".","contributors":"[{\"id\":\"682ec8d2-aa5f-4758-ada7-bb28f8f53c5e\",\"add\":1138,\"del\":2145}]"}