Skip to main content
An agent’s entry decides how a run starts. This page lists every entry type, the configuration fields of each entry handler, and the variables a handler makes available to prompts. Values are taken from the running binary; servflowai resource handler describe --all prints the same catalog.

Entry types

Trigger

A trigger entry has one field.

Webhook

A webhook entry answers POST requests on its path. The method is fixed. No handler wraps the request, so nothing is authenticated and nothing is read from it in advance. Prompts read the request with the body, param, and header template functions. body reads a field from a JSON body and requires Content-Type: application/json. The response body is the agent’s final reply.

Entry handlers

An entry handler wraps the whole run. On the way in it authenticates the delivery and parses it into variables. On the way out it delivers the agent’s reply to the sender. Each handler needs an integration of a specific type, created before the agent. Variables are read in a prompt as {{ .<namespace>.<key> }}, for example {{ .github.comment_body }}. A handler marked as a listener dials its sender and holds the connection open. It has no path.

github_webhook

Runs on a delivery from a GitHub App: an issue or pull request comment, a review comment, a push. The agent’s answer is posted back to the pull request or issue that started the run when respond_to says so. Namespace: github. Needs a path. Integration type: github_app. Configuration Variables

telegram_webhook

Runs on a message delivered by the Telegram Bot API, and sends the agent’s answer back to the chat it came from. Each chat keeps its own conversation thread. Namespace: telegram. Needs a path. Integration type: telegram_bot. Configuration Variables

discord_gateway

Holds a websocket open to Discord and runs on the messages it hears, answering in the channel that asked. It is a listener, so it has no path. The bot needs the MESSAGE CONTENT intent enabled in the Discord developer portal. Namespace: discord. No path. Integration type: discord. Configuration Variables

Declaring an entry in a config

In an agent config, the entry is the entry object. start names the first sub-agent or context group to run.
A webhook entry leaves handlerConfig.type empty and config out. A trigger entry replaces handlerConfig with trigger:

Create an agent

Set the entry in the dashboard while building an agent.

Dynamic content

The template functions a webhook entry reads the request with.