GramForge
DOCS

GramForge Documentation

GramForge is a desktop application for managing multiple Telegram accounts from a single workspace. It provides automation modules for broadcasting, account warmup, audience parsing, mass inviting, and more — all running locally on your machine with no cloud dependency.

Account Manager
Import, organize, and monitor hundreds of Telegram sessions with live status checks.
Broadcast
Send messages, media, voice, and video circles to folders, groups, or a custom list.
Warmup
Automate reactions, comments, joins, and messages to warm up fresh accounts.
Cheat
Boost post views, add reactions, join chats, and interact with bots in bulk.
Parsing
Extract channel messages or group members to CSV with filtering and dedup.
Inviter
Invite users from a CSV list or parsed file into your group via regular or admin invite modes.
Auto-Reply
Respond to incoming messages automatically with text, voice, video circles, or AI-generated replies via Groq.
Copy Channel
Mirror posts from source channels to your own channel with optional caption editing.
GramForge runs as a local web app on your PC. Your Telegram sessions never leave your machine — all API calls go directly from GramForge to Telegram's MTProto servers.

Getting Started

GramForge ships as a self-contained executable. No Python installation or additional setup is required.

Installation

  1. Download the latest release for your platform (Windows / macOS / Linux).
  2. Run the executable. GramForge will start a local server and open the UI automatically in your default browser at http://localhost:8000.
  3. Import accounts — click Upload Session in the Account Manager to add your .session files or tdata archives.
  4. Run a spam check on all accounts to see their current Telegram status before starting any operations.
Do not run the same session file in parallel from multiple instances of GramForge or other Telegram clients — this causes auth conflicts and may get the account banned.

Importing sessions

GramForge supports two import formats:

FormatHow to importNotes
.session + .jsonDrag both files onto the upload area or use "Upload Session"Recommended. The .json sidecar carries API credentials.
tdata archive (.zip)Use the "tdata" tab in the upload modalGramForge converts tdata to a session automatically.

Account Manager

The Account Manager is the central hub for all your Telegram sessions. It shows every imported account with its live status, geo, role, folder, and metadata.

Account statuses

StatusMeaning
FreeAccount is healthy and can be used in any module.
FloodTemporarily flood-waited by Telegram. Retry after the wait expires.
SpamBlockAccount is spam-limited. Restricted from messaging non-contacts.
PermSpamBlockPermanent spam restriction. Account cannot message strangers.
BannedAccount is permanently banned by Telegram.
RevokedSession token expired or manually revoked. Re-import required.
FreezeAccount is temporarily frozen by Telegram.

Folders

Accounts are organized into three folders: Work (active), Archive (inactive), and Banned (auto-moved on ban detection). You can reassign any account to a different folder manually from the account table.

Roles

Roles are custom tags (e.g. "Sender", "Parser", "Reserve") that you create in the Roles section. Each account can be assigned one role. Modules support filtering by role so you can quickly select the right set of accounts for each task.

Account actions

Right-click or use the row action menu to: check spam status, open the account in a built-in Telegram Web browser, edit metadata (note, geo, age), move to a folder, or delete the session.

Use Bulk Actions to mass-assign roles, move to a folder, or run a spam check across hundreds of accounts at once.

Broadcast

Broadcast lets you send a message (or series of messages) from selected accounts to a list of chats. It supports texts, images, videos, voice messages, and video circles.

Message types

TypeDescription
TextPlain text message. Supports Telegram markdown/HTML formatting and spintax ({Hello|Hi}).
Image / VideoUpload media files. Each message slot can have its own caption.
VoiceUpload .ogg or .mp3 voice files — sent as Telegram voice messages.
Video circleUpload short video clips — sent as round video messages.

Target modes

  • Folders — broadcast to all dialogs inside a Telegram folder of the sending account.
  • Groups — broadcast to public groups from an automated list (group automation).
  • Spam list — broadcast to a custom list of usernames / group links imported from a file.

Key settings

SettingDefaultDescription
Delay min / max3 / 8 secRandom pause between each send to avoid flood bans.
Randomize chatsOffShuffle the target chat list before sending.
Show skipped logsOnLog entries for chats that were skipped (already messaged, etc.).

Warmup

Warmup simulates organic Telegram activity on your accounts — reactions, comments, joins, message sends — to build up account history and reduce spam-block risk on new sessions.

Actions

ActionDescription
ReactionsLeave emoji reactions on channel posts. Pick from the full Telegram reaction set.
CommentsPost comments under channel messages. Provide a list of comment lines; one is picked per action.
Join chatsAutomatically join public channels/groups from a provided list.
Send messagesSend messages to contacts or bots on a configured schedule.
Reply to messagesReply to recent messages in chats with a configured response list.
Mention usersMention users in small chats — only targets chats below a configurable member limit.
AI phrasesGenerate contextual comments/replies using Groq AI instead of a static list. Requires Groq API key.

Delay configuration

Each action type has its own independent delay range. Enable or disable per-action delays to fine-tune the pacing. Reaction delays are separate from join delays to allow faster channel joining without triggering rate limits.

Start warmup with reactions-only for the first 2–3 days on brand new accounts before enabling comments or messages.

Cheat

Cheat provides metric-boosting tools. Unlike Warmup (which runs continuously), Cheat operations run once against a specific target.

Sub-modes

ModeWhat it does
ViewsBoost view count on specific posts. Provide a post URL or "last N posts" mode.
ReactionsAdd a chosen emoji reaction to a post from all selected accounts.
JoinMass-join a target channel/group using selected accounts.
BotSend a command (e.g. /start) to a bot from all selected accounts.

Each sub-mode supports a configurable inter-action delay and can target either a specific URL or the N most recent posts in a channel.

Parsing

Parsing extracts data from Telegram channels and groups and saves it as a .csv file for use in Inviter, Broadcast, or external tools.

Parse modes

ModeOutputUse case
MessagesPost text, date, author, views, reactions per postContent analysis, export channel history
MembersUser ID, username, first/last name, phone (if accessible)Build invite lists, audience research

Filtering options

  • Date range filter for messages.
  • Deduplicate members across multiple parsed sources.
  • Skip bots / deleted accounts from member lists.
  • Filter by activity (only users who posted recently).

Results are shown in-app as a scrollable table and can be exported to CSV with one click. The CSV is compatible with the Inviter module's file import.

Inviter

The Inviter module adds users from a list (typically a CSV from Parsing) into a Telegram group or channel.

Invite modes

ModeDescription
RegularEach selected account invites a batch of users per request. Useful when accounts are group members.
AdminDesignate one account as the group admin. It performs all invites using a dedicated admin session, which raises the per-request limit.

Key settings

SettingDescription
Target groupLink or username of the destination group/channel.
Users per request (min/max)How many users each account adds per API call. Default: 2/2.
Delay (min/max)Pause between batches. Default: 15–30 sec.
User sourceUpload a CSV file from Parsing, or paste usernames directly.
Telegram enforces per-account daily invite limits. Keep invites per account low (under 50/day) to avoid flood bans.

Auto-Reply

Auto-Reply monitors incoming private messages on selected accounts and sends automatic responses. Useful for managing funnels, bots, or accounts that receive high message volume.

Reply types

TypeDescription
TextStatic text response. Supports spintax for variation.
VoiceSends a pre-uploaded voice file as the reply.
Video circleSends a pre-uploaded round video as the reply.
AI (Groq)Generates a contextual reply using the Groq LLM API. Requires a Groq API key set in Settings.

Rules

You can configure trigger rules — reply only when the incoming message contains a specific keyword, or reply to any message. Multiple rules can be stacked per account group.

AI Voice Clips

For AI mode, you can also provide a library of voice clips. When the AI determines a voice reply is appropriate, it picks a clip from the library instead of sending text.

Stories

The Stories module posts a photo or video story to selected accounts simultaneously.

How to use

  1. Select the accounts you want to post from.
  2. Upload a photo (JPG/PNG) or video (MP4) in the media upload area. A preview appears immediately.
  3. Optionally add a caption.
  4. Click Post Stories. GramForge sends the story from each selected account in sequence with a small delay.

Results are logged in the console panel with per-account success/fail status.

Copy Channel

Copy Channel mirrors posts from one or more source channels into your own channel automatically, in real-time or on a schedule.

How it works

  • Configure a source channel (link or username) and a destination channel (must be owned by one of your accounts).
  • The copying account must be an admin of the destination channel with post permissions.
  • New posts in the source channel are forwarded (or re-uploaded) to the destination within seconds.
  • Optional: strip original channel signature, prepend/append custom text to captions.

History view

The History tab shows a galaxy-style visualisation of all past copy sessions — accounts as nodes, channels as edges — with per-session stats (total posts copied, errors).

Roles & Tags

Roles allow you to categorize accounts for quick selection across all modules. A role is a simple label (e.g. "Warmer", "Sender", "Parser") that you assign to one or more accounts.

Working with roles

  • Create roles in Settings → Roles.
  • Assign a role to an account from the Account Manager row actions or in bulk via Bulk Actions.
  • In every module, use the Role Picker dropdown to instantly select all accounts with a given role.

Account metadata fields

FieldDescription
RoleCustom category label.
NoteFree-text note visible in the account table.
GeoCountry code derived from the phone number or set manually.
FolderWork / Archive / Banned.
Age (months)Account registration age for filtering.

Proxy & Tools

The Tools section bundles several system-level utilities.

Proxy management

Assign SOCKS5 or HTTP proxies to individual accounts or account groups. GramForge routes all Telegram API traffic for that account through the configured proxy. Proxies are stored per-session and persist across restarts.

Account customization

Bulk-update profile fields across selected accounts: first name, last name, bio, and profile photo. Supports spintax in text fields for per-account variation.

Cleanup

Mass-leave channels and groups from selected accounts. Useful for recycling accounts after a campaign without manually clearing each session's dialogs.

Browser

Open any account in a built-in Telegram Web browser window. The account's session is used directly — no QR scan or phone number needed. Click the browser icon in the Account Manager row to launch.

Scheduler (Cron)

The Cron module lets you schedule any module task to run at a specific time or on a repeating interval without keeping the UI open.

Creating a scheduled task

  1. Configure the task in its module (e.g. Broadcast) as you normally would.
  2. Instead of clicking Start, click Schedule to open the Cron dialog.
  3. Set the date/time and optionally a repeat interval.
  4. Save the cron job. It will appear in the Scheduler tab.

GramForge's background server handles scheduled tasks — the UI does not need to remain open for cron jobs to fire.

Security

GramForge is designed as a local-only application. Here is how your data is protected:

ProtectionDetail
Local-only serverThe HTTP server binds to 127.0.0.1 only. External machines cannot reach the UI or API.
Request tokenEvery API call requires a secret token generated at startup. Requests without it are rejected with 401.
CORS restrictionAPI endpoints only accept requests from localhost or 127.0.0.1 — not from external origins.
Sessions stay localYour .session files are stored on your disk and never transmitted to any external server.
Telethon MTProtoAll Telegram communication uses the official MTProto protocol via Telethon — the same layer as official clients.
The Groq API key (used for AI features) is stored in local config only. It is never sent anywhere except directly to Groq's API endpoint when the AI feature is active.

GramForge Documentation — 2025. Back to landing