Contact Form 7 remains one of the most widely used WordPress form plugins, but its default behavior is limited to sending submissions by email. For many site owners, email is too slow: a new lead can sit in an inbox for hours before anyone notices it. Forwarding form submissions to Telegram solves this by putting new leads directly into a chat that a sales or support team already checks constantly.
This article explains how the integration works technically, what you need to set it up, and how to configure notifications so that different forms – or different types of leads – reach the right Telegram chat. The examples below reflect the functionality available in FormCourier Notifications Pro, a WordPress plugin that forwards form submissions from supported form plugins, including Contact Form 7, to Telegram, Slack, and WhatsApp.
How Contact Form 7 to Telegram Integration Works
Contact Form 7 does not natively support Telegram. When a visitor submits a form, CF7 processes the fields and, by default, sends the result to an email address defined in the form’s Mail settings. There is no built-in mechanism to push that data anywhere else.
A contact form 7 telegram connection is built by intercepting the submission at the WordPress level. FormCourier Notifications Pro hooks into the CF7 submission event, reads the fields the visitor entered, and forwards that data as an HTTP request to the Telegram Bot API. Telegram then delivers the message to a specific chat, group, or channel where the bot has been added.
Because this works through the standard CF7 submission hook, the process runs independently of the form’s own email notification – you can keep CF7’s email active and add Telegram as an additional channel, or rely on Telegram as the primary way your team sees new leads. The overall contact form 7 telegram integration doesn’t replace the form plugin’s logic; it reacts to a completed submission and takes care of formatting and delivering it to Telegram.
What You Need to Connect Contact Form 7 to Telegram
Before configuring anything inside WordPress, you need two pieces of information from Telegram itself. Setting up a contact form 7 telegram bot connection requires a Bot Token and a Chat ID – both come from Telegram, not from the WordPress plugin.
Create a Telegram Bot and Get Its Bot Token
Telegram bots are created through Telegram’s own @BotFather, not through WordPress. You start a chat with @BotFather, use the /newbot command, and follow the prompts to name the bot. BotFather then issues a Bot Token, a string that authenticates API requests sent on the bot’s behalf. FormCourier Notifications Pro does not create this bot for you – the plugin only uses the token once you’ve generated it and entered it into a Telegram destination.
Find the Telegram Chat ID for the Destination
The Chat ID tells Telegram where to deliver a message: a private chat, a group, or a channel. You can retrieve it by sending a message to the bot and checking the getUpdates response, or by using a dedicated ID-lookup bot such as @userinfobot for a personal chat. For a group, the bot must first be added as a member – and for a channel, added as an administrator – since a bot can only deliver messages to chats it has access to. This is a Telegram-side permission, not something FormCourier manages.
How to Send Contact Form 7 Submissions to Telegram
Once you have a Bot Token and Chat ID, connecting contact form 7 to telegram involves three steps inside WordPress:
- Install and activate FormCourier Notifications Pro alongside Contact Form 7.
- Create a Telegram destination. In the plugin settings, add a new Telegram destination and enter the Bot Token and Chat ID. You can create this as the default Telegram destination, or as one of several destinations if you plan to route different forms to different chats.
- Connect the destination to your Contact Form 7 form. Open the form’s notification settings and select the Telegram destination you just created, either directly on the form or through a Form Route.
At this point, submissions to that form are forwarded automatically. To send contact form 7 to telegram reliably, it’s worth sending a test message first (covered in a later section) before relying on the connection for live leads – this confirms the Bot Token is valid and the bot actually has access to the target chat.
How to Configure Telegram Notifications for Contact Form 7
Once the connection exists, the next step is deciding exactly what gets sent and how. Configuring contact form 7 telegram notifications means choosing the form, the destination, and the message content.
Select the Contact Form 7 Form
If your site runs several CF7 forms – a contact form, a quote request, a newsletter signup – each can be configured independently. FormCourier Notifications Pro detects the supported forms on your site so you can pick which one you’re setting up notifications for, rather than applying one global rule to everything.
Choose the Telegram Destination
For the selected form, assign the Telegram destination it should notify. This can be the default Telegram destination, or a specific one you created for that form. If no specific destination or route is assigned to a form, the plugin falls back to the default destinations configured for each channel.
Configure the Notification Message
Each notification is generated from a message template, which controls what fields appear and how they’re formatted. You can use the default template as-is, or, as described later in this article, build a form-specific version so telegram notifications for contact form 7 show only the fields relevant to that particular form.
How to Send Different Contact Form 7 Leads to the Right Telegram Chat
A single Telegram chat quickly becomes noisy if every form on the site – sales inquiries, support requests, job applications – sends to it. FormCourier Notifications Pro addresses this through two separate mechanisms: Form Routes and Advanced Routing. Together they let a broader contact form 7 telegram integration direct different leads to different destinations instead of funneling everything into one place.
Use Different Telegram Destinations
Because the plugin supports multiple Telegram destinations, you’re not limited to a single Bot Token or Chat ID for the whole site. You can create one destination per department or per chat – for example, a sales team’s group chat and a separate support channel – and assign each form to the destination that matches its purpose.
Assign Destinations to Individual Forms
A Form Route defines which destination (or destinations) a specific form uses. This is a straightforward, per-form assignment: form A goes to destination X, form B goes to destination Y. It doesn’t evaluate the content of a submission – it simply determines where that form’s notifications are sent by default.
Route Leads by Form Field Values
For routing based on what a visitor actually entered, Advanced Routing applies. This is a separate mechanism from a basic Form Route: it evaluates the values submitted in the form and applies routing rules accordingly. A rule can check one or several conditions, and you decide whether all of them must match (ALL / AND) or whether any single match is sufficient (ANY / OR). A matching rule can then add destinations to the ones already selected, or replace them entirely. Rules also support Priority, which determines the order they’re evaluated in, and Stop Processing, which halts further rule evaluation once a match is found.
| Advanced Routing option | What it does |
|---|---|
| ALL / AND | All conditions in the rule must match for it to apply |
| ANY / OR | Any single matching condition is enough to trigger the rule |
| Add destinations | Adds Telegram (or other) destinations to those already selected |
| Replace destinations | Overrides the destinations set by the form’s regular Form Route |
| Priority | Controls the order in which rules are evaluated |
| Stop Processing | Stops evaluating further rules once this one matches |
A practical example: a quote-request form could have a rule checking whether a “budget” field exceeds a certain value, with a match adding a destination for a senior sales chat while lower-budget leads continue to the default team chat.
How to Customize Contact Form 7 Telegram Messages
The default message template lists submitted fields in a generic format. For most sites, adjusting contact form 7 telegram notifications content to match the form’s actual fields makes messages easier to scan at a glance.
Use Form Field Placeholders
Message templates support placeholders that pull data from the submission and the site. Confirmed placeholders include {form_provider}, {provider}, {form_id}, {form_name}, {destination}, {submitted_at}, {all_fields}, {page_url}, {site_name}, {site_url}, {date}, {time}, and {field:FIELD_NAME}. The {all_fields} placeholder outputs all prepared submission data at once, while {field:FIELD_NAME} lets you reference one specific field – useful when you want a lead’s name or phone number to appear at the top of the message rather than buried in a full field dump. The exact field identifier depends on how that field is named in the CF7 form itself.
Create a Form-Specific Message Template
Rather than relying on the default template for every form, you can define a per-form template. If no custom template is set for a form, FormCourier falls back to the default template automatically, so this step is optional rather than required for the connection to work.
Format Telegram Messages
Telegram supports HTML formatting within messages, which FormCourier Notifications Pro can use to make key details stand out – bolding a customer’s name, for instance, or structuring longer submissions more clearly. For forms with many fields or long text areas, the plugin also handles messages that exceed Telegram’s standard length limits, splitting or formatting content so delivery doesn’t fail simply because a submission was long.
Test Contact Form 7 Telegram Notifications
Before trusting the integration with real leads, it’s worth confirming each part of the setup independently, rather than discovering a misconfiguration when an actual customer inquiry goes missing.
Send a Test Message
Every Telegram destination can send a test message directly from the plugin settings, without submitting a form. This confirms the Bot Token is valid and that the bot can reach the specified Chat ID – the two most common points of failure when you first send contact form 7 to telegram.
Submit a Test Lead
After the test message succeeds, submit the actual CF7 form as a visitor would. This verifies the full path: form submission, field mapping, message template rendering, and delivery to the correct destination based on your Form Route or Advanced Routing rules.
Check the Delivery Log
FormCourier Notifications Pro records each delivery attempt in a log, showing the notification channel, destination, form, status, HTTP status returned by Telegram, timestamp, and number of attempts. Reviewing this log after a test submission confirms not just that a message arrived, but that it went to the intended destination and rendered as expected.
Troubleshooting Contact Form 7 to Telegram Delivery
Even a correctly configured contact form 7 to telegram setup can run into delivery issues, usually tied to credentials, permissions, or temporary network conditions.
Check the Bot Token and Chat ID
The most common failure is an invalid Bot Token or a Chat ID the bot doesn’t have access to. If the bot was removed from a group, or a channel’s admin permissions changed, deliveries to that chat will fail until access is restored. The delivery log’s HTTP status and provider response fields typically point directly to this kind of issue.
Review Failed Deliveries
The log filters by status, destination, and form, which makes it possible to isolate whether a problem affects one specific form, one destination, or the integration as a whole. The last error field shown for a failed entry usually indicates whether the cause is a credentials problem, a permissions problem, or something on Telegram’s side.
Retry Temporary Telegram Errors
Not every failure is permanent. Network failures, Telegram rate limits, and some temporary server-side errors are retried automatically through WP-Cron, with increasing intervals between attempts, and can also be retried manually from the log. Permanent configuration errors – such as an incorrect Bot Token – require the administrator to fix the underlying setting rather than being resolved by a retry, since resending the same invalid credentials won’t produce a different result.
| Common issue | Typical cause | What to check |
|---|---|---|
| Test message fails | Invalid or revoked Bot Token | Regenerate token via BotFather, update destination |
| Bot can’t deliver to a group/channel | Bot lacks membership or admin rights | Re-add the bot with the correct permissions |
| Notifications stop for one form only | Form Route or Advanced Routing rule misconfigured | Review the form’s assigned route and any matching rules |
| Delivery fails intermittently | Temporary rate limit or network error | Check Retry state in the log; usually resolves automatically |
FAQ
