Private beta is open Request yours
gramflow
Private beta Now open · 200 seats

Build a Telegram bot
without code

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

Test Deploy
Message Received filter: text
Conversation Memory recall · 10 turns
Generate Text gpt-5 · reply: stream
Conversation Memory record
Listening for event… Executing…
9:41
Support Bot bot typing…
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
Menu Message

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.

F FAQ Bot Select
A AI Chat Bot
W Welcome 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.

Test Live
Deployed v4
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
Success Error
Send Messageorder summary
Send Message“try again later”
HTTP Request data
URL
https://api.shop.dev/orders/…
Authorization header
Bearer {{secrets.SHOP_API_KEY}}
Variable explorer
Command Received Trigger
chatId Click to copy {{trigger.chatId}} number
username Click to copy {{trigger.username}} string
text Click 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_KEY secret
Reply mode
Once Stream
R Recipe Bot typing…
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
v7 Sep 17, 2:14 PM Live
v6 Sep 16, 6:02 PM Live
v5 Sep 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 executions Last 24 hours
Status Trigger Env Time
SUCCESS message · “where is my order?” LIVE 412 ms
NO_TRIGGER message · sticker LIVE 1 ms
FAILED command · /order 88213 LIVE 3 041 ms
HTTP Request 3 039 ms
RequestTimeout: api.shop.dev did not respond within 3000 ms
SUCCESS callback · btn_pricing TEST 38 ms
1
Set Variable
Name is required greeting
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.

GET api.weather.dev/v1/now 200
{
  "city": "Lisbon",
  "tempC": 21.4,
  "sky": "clear"
}

Call any API, branch on the outcome

Success and error each get their own path.

cart_items 3 chat · user
language "pt" chat · user
onboarded true chat · user

Memory that survives the message

State is scoped per chat and per user.

Node reference

Sixteen nodes, six categories.

Full reference
Triggers 2
Command ReceivedMessage Received
Actions 4
Send MessageSend PhotoEdit MessageDelete Message
Logic 3
ConditionSwitchDelay
Data 4
HTTP RequestSet VariableSet StateGet State
AI 2
Generate TextConversation Memory
Flow 1
Wait for Input
Private beta

Request beta access.

Free during beta No credit card Invites going out now
20 seconds · one email when your seat is ready

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