Connectivity
Ways in for people, mail, and events out to your systems.
A real Linux machine with simple ways to reach it: a root shell, a public address for a port, and an address for mail. What happens in it goes out to the tools you already use.
Log in over SSH.
Turn SSH on for a sandbox and log in as root, straight to the server it is on.
- The sandbox gets a port of its own, which leads to its SSH server and to nothing else.
- Who may log in is a separate matter: let a public key in, list the keys, take one out.
- The host key comes over the API, so a client can pin it and is never asked to trust one.
- It stays on through a stop and a start. The port is opened again when the sandbox runs.
$ agental ssh sbx_7f3e2a9c41d0b8e6 --tmux
Host key checked against the API.
root@sandbox-01:~# tmux ls
agent: 1 windows (created 09:12)
root@sandbox-01:~#
Give your agent an email address.
Every sandbox has a mail domain of its own, so your agent can be written to while it sleeps, and can write to you.
- Mail costs $0.50 per 1,000 messages, received or sent, paid from what your plan includes. There is no monthly fee.
- Mail is off for a sandbox until you turn it on, and a sandbox with mail off is never charged for it.
- Any name before the @ reaches the sandbox. A message is kept for 7 days and read over the API, whether the sandbox is running or stopped.
- A webhook is told as each message arrives, with what was made of its sender: SPF, DKIM, DMARC and a spam score.
- The sandbox can write to one address: the one you sign in with. It cannot write to anyone else.
- A key can be made for one sandbox's mail and nothing else. It is the key for an agent that reads what strangers wrote.
Be told when a sandbox starts, stops or fails.
A webhook posts to your server when a sandbox is made, starts, stops, fails or is deleted, so nothing has to keep asking.
- A stop says why: you asked, its time limit came, or the plan stopped it.
- Each event has one id, in every webhook it is sent to, so a duplicate is plain to see.
- Each event carries the sandbox's tags and metadata, so your server knows which run it belongs to, and a change to them is an event of its own.
- A template is told of too: made, changed, its secrets set or removed, named and never with a value, or deleted.
- Every request is signed with a secret you are shown once. Rotate it when you need to.
- A post your server does not take is tried eight times over a day, and every try is kept for 30 days with what it answered.
- In the console, tick what each webhook is sent on a drawing of which events go where, and see every try of every post.
POST https://your-app.example/hooks/agental
X-Agental-Signature: sha256=9b1f…c04e
{ "type": "sandbox.stopped",
"data": { "sandboxId": "sbx_7f3e2a9c41d0b8e6",
"name": "sandbox-01" } }
Also part of Connectivity:OpenTelemetry, written up under Observability
The five pillars
All features, on one page→Give your agent somewhere to work.
Free to start, with +$10 credit.