Custom integrations
Anton doesn't wait for someone to build a connector. If you need to talk to a service it has no built-in support for, ask — Anton writes the integration code itself in the scratchpad, configures it, and gets it running.
Example: WhatsApp
Set up a WhatsApp integration so I can message you from my phone.
Anton figures out what the integration needs, writes the code, sets it up, and keeps it running — so you can chat with it from WhatsApp, Telegram, or whatever channel you need. The same pattern works for any API or tool: you describe the outcome, Anton builds the plumbing.
Custom datasources via /connect
The connect flow also handles services that aren't in
the built-in catalog. Name any tool or service at the
/connect prompt:
/connect
(anton) What would you like to connect?
> github
Anton asks how the service authenticates (a short description, no secrets),
then works out the connection spec itself: the credential fields, the pip
package to use, and a test snippet that verifies the connection. It collects
the credentials conversationally — type help on any field for guidance, or
paste several values at once — then tests the connection and saves it.
The generated engine definition is written to ~/.anton/datasources.md, so
the new engine behaves like a built-in from then on: it shows up in /list,
and /edit, /remove, and /test all work. Removing the last connection
for a custom engine also removes its definition. You can edit the definitions
in that file by hand too — see
Adding a datasource for the format.
Set expectations honestly
- This is agent-built code. Anton writes the integration on the fly, guided by what it knows about the service. Review what the code does — especially anything that sends messages or modifies data on your behalf.
- Credentials still go through the vault. Custom connections use the same
credential vault as built-in engines: secrets are stored locally and
injected as
DS_*environment variables at run time, never placed in LLM prompts. See Security model. - Test snippets may be imperfect. If a generated connection test fails, Anton shows the error and lets you correct the details or retry.