Beta opens 30 SeptRequest yours
gramflow
Private beta200 seats

Build a Telegram bot
without code

Drag nodes onto a canvas, test it, deploy it. No server to run.

TestDeploy
Message Receivedfilter: text
Conversation Memoryrecall · 10 turns
Generate Textgpt-5 · reply: stream
Conversation Memoryrecord
Listening for event…Executing…
9:41
Support Botbottyping…
Do you ship to Germany, and how long does it take?09:14
Yes — we ship to Germany with DHL. Standard delivery is 3–5 working days, express is next day if you order before 2pm.09:14
MenuMessage

No server to run · bring your own model key · bot tokens encrypted at rest

Why Gramflow

Bots used to need a team. Now they don't.

Shipping a Telegram bot normally means hiring someone to write the code, then renting a server to keep it running. Gramflow removes both.

The usual way

  • Hire a developer to write the bot's code
  • Rent a VPS or cloud server to run it on
  • Wire up webhooks, SSL and secrets by hand
  • Redeploy the server for every small change
  • Watch logs and uptime yourself
  • Weeks of work — and a budget — before launch

With Gramflow

  • Build it by dragging nodes — zero code
  • We host and run it — no VPS, no cloud account
  • Webhooks, SSL and secrets handled for you
  • Deploy a new version in one click
  • One-click test runs and execution logs built in
  • Live in minutes — no budget required

Three steps to live.

FFAQ BotSelect
AAI Chat Bot
WWelcome Bot
01

Start from a template

Five flows that already work.

Bot token — TEST
8104…:AAG9x-Qd7Vb2kL…
Connected to @your_test_bot
02

Paste a bot token

No webhook URL to host.

TestLive
Deployedv4
Deploy to LIVE
03

Test, then deploy

One click promotes it live.

The canvas

A real builder, not a form with steps.

No code, ever. Everything a Telegram bot needs is a block you drag and connect — with the guardrails that keep a flow from breaking in front of your users.

Browse the nodes
Command Received/order
HTTP RequestGET · orders API
SuccessError
Send Messageorder summary
Send Message“try again later”
HTTP Requestdata
URL
https://api.shop.dev/orders/…
Authorization header
Bearer {{secrets.SHOP_API_KEY}}
Variable explorer
Command ReceivedTrigger
chatIdClick to copy {{trigger.chatId}}number
usernameClick to copy {{trigger.username}}string
textClick to copy {{trigger.text}}string
reply:{{nodes.ai.text}}·key:{{secrets.OPENAI_API_KEY}}
Data & templating

Reference anything upstream.

Type {{ and pick from every value your flow has already seen — the trigger, any node's output, globals, and secrets. They render as typed pills, and the explorer shows real values after a run.

Namespaced: trigger, nodes, global, secrets, state
Click to copy, or drag straight into a field
AI, natively

Replies that stream in.

The answer fills in as the model writes it. Your own key, stored as an encrypted secret.

OpenAIAnthropicGoogle
Generate Text
Model
gpt-5
API key
OPENAI_API_KEYsecret
Reply mode
OnceStream
RRecipe Bottyping…
what can I make with chickpeas and lemon?
Quick lemony hummus, or a warm chickpea salad.For the salad: crisp the chickpeas in olive oil,then toss with lemon zest, parsley and feta.
Workflow Deployment Live
Draft is ready to deploy
Production bot connected
v7Sep 17, 2:14 PMLive
v6Sep 16, 6:02 PMLive
v5Sep 14, 11:20 AM
Test & ship

Ship with a safety net.

Fire a real Telegram update at your draft and watch each node glow running → done. When it's right, publish — and Gramflow hosts and runs your bot on every message. No VPS, no cloud account, nothing to babysit.

Fully managed hosting — no server to rent
Versioned deploys with one-click rollback
When it breaks

Every update, on the record.

Open a failed run to see which node threw, and how long it sat there before giving up.

Recent executionsLast 24 hours
StatusTriggerEnvTime
SUCCESSmessage · “where is my order?”LIVE412 ms
NO_TRIGGERmessage · stickerLIVE1 ms
FAILEDcommand · /order 88213LIVE3 041 ms
HTTP Request3 039 ms
RequestTimeout: api.shop.dev did not respond within 3000 ms
SUCCESScallback · btn_pricingTEST38 ms
1
Set Variable
Name is requiredgreeting
Guardrails

Mistakes caught before your users see them.

Every node validates its own config against its schema — missing fields and unknown secrets are flagged on the canvas, long before deploy.

Secure by default.

A bot token is total control of your bot. We treat it that way.

Encrypted at rest — AES-256-GCM
Your key, your model — never proxied
Rate limits cap a runaway bill
Logs deleted after 7 days

Everything a conversation needs.

How would you rate your experience, 1 to 5?
4
Thanks! Anything we could have done better?
flow:wait-for-input · resumed

Ask, then wait for the answer

The flow pauses for their next message, then continues.

What can I help you with?

Buttons that resume the flow

A tap picks up at the branch that button belongs to.

GETapi.weather.dev/v1/now200
{
  "city": "Lisbon",
  "tempC": 21.4,
  "sky": "clear"
}

Call any API, branch on the outcome

Success and error each get their own path.

cart_items3chat · user
language"pt"chat · user
onboardedtruechat · user

Memory that survives the message

State is scoped per chat and per user.

Node reference

Sixteen nodes, six categories.

Full reference
Triggers2
Command ReceivedMessage Received
Actions4
Send MessageSend PhotoEdit MessageDelete Message
Logic3
ConditionSwitchDelay
Data4
HTTP RequestSet VariableSet StateGet State
AI2
Generate TextConversation Memory
Flow1
Wait for Input
Private beta

Request beta access.

Free during beta No credit card Opens 30 Sept
20 seconds · one email when your seat opens

Common questions.

Do I need anything to host?

No. Connect a bot token — that’s the whole setup.

Which AI models can I use?

OpenAI, Anthropic and Google for now, more will be added soon.

How do I test before going live?

Every bot gets a TEST and a LIVE environment — build against TEST, then deploy in one click.

Is my bot token safe?

Yes — tokens and API keys are encrypted at rest with AES-256.

Bring your bot idea to life.

Request beta access