Repository navigation
Agent Files
An agent file is your assistant's setup in one JSON file: the prompt, the tools, the behaviour and lead form settings, and how visitors book (Bookings). Export one to keep in your project or share, import one to set an assistant up the same way, or start from a tutorial's template.
It does not hold the branding (colours, name), the knowledge base, the team, webhooks or keys.
| Export | Import | |
|---|---|---|
| Dashboard | Settings → Import & export → Download agent.json | Choose file, or Use this on a template |
| CLI | helppuff agent export agent.json |
helppuff agent import agent.json (or a template's id) |
| API | GET /api/v1/agent/export |
POST /api/v1/agent/import |
Importing checks everything first, then applies it in this order:
- Settings: the behaviour (goal, tone, length, prices), the lead form and the bookings (the mode, hours, and which calendar it syncs with: never the calendar's own event type or account, and never its key; connect those in Settings → Integrations), merged into yours.
- Tools, matched by name: a new name is created, an existing one is replaced. Your other tools stay.
- The prompt, published as a new version. Yours stays in the history, and Restore brings it back.
Nothing changes until every part is valid. The dashboard shows what will
change before you import; in the terminal, --dry-run does.
With the CLI, prompt.md and helppuff.json are updated after an import,
so the next helppuff deploy builds on it instead of refusing.
Secrets are never in the file. A tool's key is a placeholder, and needs
lists each one:
"headers": [{ "name": "Authorization", "value": "ShippoToken ${SHIPPO_TOKEN}", "secret": true }],
…
"needs": [{ "name": "SHIPPO_TOKEN", "description": "Your Shippo API token" }]When you import, the dashboard asks for each value. The CLI reads it from
.env (set it with helppuff secret set SHIPPO_TOKEN), and answers
needs_input when one is missing. Values are stored encrypted, as a tool
saved by hand is. Importing the same file again keeps the stored keys.
An export writes each stored secret as a placeholder named after the tool and
header (${ORDER_LOOKUP_AUTHORIZATION}), standing for the whole header value.
{
"helppuff": "agent",
"version": 1,
"name": "Order tracking",
"description": "What it is for, shown before importing.",
"prompt": "## Order questions\n1. Ask for their order number…",
"settings": {
"behaviour": { "goal": "answers" },
"leads": { "enabled": true, "fields": [{ "name": "email", "label": "Email", "type": "email", "required": true }] }
},
"tools": [
{ "name": "order_number", "kind": "extract", "description": "…", "after": true, "fields": [{ "name": "order_number", "description": "…", "required": true }] },
{ "name": "order_lookup", "description": "…", "method": "GET", "url": "https://shop.example.com/orders/{{args.order_number}}", "headers": [], "parameters": [], "pick": ["status"] }
],
"needs": []
}-
prompt,settingsandtoolsare each optional: a file with only tools adds tools. - A tool has the same fields as
POST /tools(Tools API). -
settingstakes the samebehaviour,leadsandbookingsasPUT /settings.
Through the API, a key needs prompt:write, and settings:write too when the
file has settings.
Start
Tutorials
- All tutorials
- Order tracking
- Send chats to your CRM
- Nearest store
- Verified account changes
- Logged-in customer support
- Product and stock
- Hot leads to Slack
- Knowledge base or tool?
- Testing and monitoring
- Why the AI never books
Configure
- Configuration
- Configuration reference
- CLI reference
- Knowledge base
- Prompt and instructions
- Tools: your APIs in the chat
- Agent files: import and export
- Signed-in visitors
- The widget
- The playground
- Leads and callbacks
- Jobs
- Photos and files
- Bookings and the calendar
- Integrations
- Live chat
- Telegram
- Webhooks
- Email notifications
API
API reference
- Overview
- Account
- Chat
- Conversations
- Live chat
- Labels and notes
- Leads
- Callbacks
- Jobs
- Appointments
- Integrations
- Knowledge
- Prompt
- Tools
- Settings
- Webhooks
- Analytics
- Team
- API keys
- Audit
Providers
- Overview
- Models and providers
- Custom model
- Custom knowledge base
- Workers AI (default)
- AI models: speed, quality, cost
- Cloudflare AI Search
- OpenAI
- Gemini
- Anthropic Claude
- Retell
- Your own API
Operate
- Deployment
- Turn on Turnstile
- Upgrading
- Costs and limits
- Cloudflare Free plan limits
- Security
- Troubleshooting
Build