{"id":280476,"date":"2026-02-28T18:22:48","date_gmt":"2026-02-28T18:22:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/simple-submission-alerts-for-contact-form-7-to-telegram\/"},"modified":"2026-02-28T18:22:37","modified_gmt":"2026-02-28T18:22:37","slug":"aroksds-alerts-for-cf7-to-telegram","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/aroksds-alerts-for-cf7-to-telegram\/","author":23449008,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"AroksDS Submission Alerts for Contact Form 7 to Telegram","header_author":"AroksDS","header_description":"Send Contact Form 7 submissions to Telegram with per-form rules, logs, and a test tool.","assets_banners_color":"9e8b71","last_updated":"2026-02-28 18:22:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/arstor.pl\/en\/","header_author_uri":"https:\/\/aroksds.com\/","rating":0,"author_block_rating":0,"active_installs":10,"downloads":232,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"aroksds2026","date":"2026-02-28 18:22:37"}},"upgrade_notice":{"1.0.1":"<p>Security and reliability fixes (placeholder handling, admin rules UI, multiline fields).<\/p>","1.0.0":"<p>First public release.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3471749,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3471749,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3471749,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3471749,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3471749,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3471749,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3471749,"resolution":"3","location":"assets","locale":""}},"screenshots":{"1":"Settings page (bot token, defaults, and per-form rules).","2":"Tools tab (send a test message).","3":"Logs tab (last 100 entries and clear logs)."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[5445,1152,202777,4906,9171],"plugin_category":[42],"plugin_contributors":[256806],"plugin_business_model":[],"class_list":["post-280476","plugin","type-plugin","status-publish","hentry","plugin_tags-cf7","plugin_tags-contact-form-7","plugin_tags-form-submissions","plugin_tags-notifications","plugin_tags-telegram","plugin_category-contact-forms","plugin_contributors-aroksds2026","plugin_committers-aroksds2026"],"banners":{"banner":"https:\/\/ps.w.org\/aroksds-alerts-for-cf7-to-telegram\/assets\/banner-772x250.jpg?rev=3471749","banner_2x":"https:\/\/ps.w.org\/aroksds-alerts-for-cf7-to-telegram\/assets\/banner-1544x500.jpg?rev=3471749","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/aroksds-alerts-for-cf7-to-telegram\/assets\/icon-128x128.png?rev=3471749","icon_2x":"https:\/\/ps.w.org\/aroksds-alerts-for-cf7-to-telegram\/assets\/icon-256x256.png?rev=3471749","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/aroksds-alerts-for-cf7-to-telegram\/assets\/screenshot-1.png?rev=3471749","caption":"Settings page (bot token, defaults, and per-form rules)."},{"src":"https:\/\/ps.w.org\/aroksds-alerts-for-cf7-to-telegram\/assets\/screenshot-2.png?rev=3471749","caption":"Tools tab (send a test message)."},{"src":"https:\/\/ps.w.org\/aroksds-alerts-for-cf7-to-telegram\/assets\/screenshot-3.png?rev=3471749","caption":"Logs tab (last 100 entries and clear logs)."}],"raw_content":"<!--section=description-->\n<p>Email is not a reliable operational channel for lead intake. Even when Contact Form 7 reports \u201cmail sent\u201d, real-world delivery can fail: messages may land in spam, be blocked by SMTP\/DMARC rules, get throttled, or simply never reach the inbox in time. The result is the worst-case scenario: <strong>a lead is submitted, but nobody sees it<\/strong>.<\/p>\n\n<p><strong>AroksDS Submission Alerts for Contact Form 7 to Telegram<\/strong> creates a second, independent delivery path: every successful form submission can generate an instant Telegram notification in a shared team space (group, private chat, or a forum topic). This gives you a practical \u201cbackup channel\u201d so leads are not lost when email delivery is unreliable.<\/p>\n\n<h4>Why this plugin is useful<\/h4>\n\n<ul>\n<li><strong>Backup channel to email<\/strong>: reduce lost leads caused by spam filtering or mail delivery issues.<\/li>\n<li><strong>Shared visibility for managers<\/strong>: send to a single Telegram group used by everyone who handles leads.<\/li>\n<li><strong>Faster response time (SLA)<\/strong>: instant notifications help you respond while the user is still \u201chot\u201d.<\/li>\n<li><strong>Less human error<\/strong>: no need to manually check mailboxes or WordPress admin panels.<\/li>\n<li><strong>Simple triage<\/strong>: route different forms to different chats\/topics (sales vs support vs hiring).<\/li>\n<li><strong>Operational continuity<\/strong>: even if your SMTP provider or mail settings break, Telegram alerts can still arrive.<\/li>\n<li><strong>Privacy control<\/strong>: choose what fields are included (Allowed\/Excluded fields) and keep templates minimal.<\/li>\n<li><strong>Troubleshooting<\/strong>: built-in test tool + lightweight logs for quick diagnosis.<\/li>\n<\/ul>\n\n<h4>Key features<\/h4>\n\n<ul>\n<li><strong>Success-only trigger<\/strong>: sends only on Contact Form 7 <code>wpcf7_mail_sent<\/code> (this WordPress.org edition intentionally avoids any \u201cbefore send\u201d triggers).<\/li>\n<li><strong>Global defaults + per-form rules<\/strong>: Form ID \u2192 Chat ID \u2192 optional Message Thread ID \u2192 Template \u2192 Allowed\/Excluded fields.<\/li>\n<li><strong>Template placeholders<\/strong>: <code>{field-name}<\/code>, <code>{form_id}<\/code>, <code>{form_title}<\/code>, <code>{page_url}<\/code>, <code>{date}<\/code>, <code>{time}<\/code>, <code>{all_fields}<\/code>.<\/li>\n<li><strong>Parse modes<\/strong>: Plain, HTML, MarkdownV2 (placeholder values are escaped for safety).<\/li>\n<li><strong>Logs<\/strong>: stores last 100 entries (errors always; successes only when Debug Logs are enabled).<\/li>\n<li><strong>Tools<\/strong>: send a test message from wp-admin.<\/li>\n<li><strong>No tracking \/ telemetry<\/strong>: no external calls except Telegram Bot API.<\/li>\n<\/ul>\n\n<h4>What this plugin does NOT do (to avoid misunderstandings)<\/h4>\n\n<ul>\n<li>It sends <strong>text messages only<\/strong> via Telegram Bot API <code>sendMessage<\/code> (no attachments\/files).<\/li>\n<li>It is not a CRM and does not store submissions as leads in WordPress.<\/li>\n<li>It does not replace email delivery \u2014 it <strong>adds a duplicate channel<\/strong> for operational safety.<\/li>\n<\/ul>\n\n<h4>External services<\/h4>\n\n<p>This plugin connects to the Telegram Bot API to send messages.<\/p>\n\n<ul>\n<li>Service: Telegram Bot API (sendMessage)\nhttps:\/\/core.telegram.org\/bots\/api<\/li>\n<li>Terms of use:\nhttps:\/\/telegram.org\/tos<\/li>\n<li>Privacy policy:\nhttps:\/\/telegram.org\/privacy<\/li>\n<\/ul>\n\n<p>When: On successful Contact Form 7 submissions (<code>wpcf7_mail_sent<\/code>) and when you click \"Send test message\" in wp-admin.\nData sent: <code>chat_id<\/code>, message text (built from your template and filtered form fields), optional <code>parse_mode<\/code>, optional <code>message_thread_id<\/code>, <code>disable_web_page_preview<\/code>.\nPrivacy controls: limit what is sent by configuring Allowed\/Excluded fields and by editing the message template.<\/p>\n\n<p>Note: Telegram is a third-party service. Site owners are responsible for the data they send to Telegram. Avoid sending sensitive personal data unless necessary.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>This plugin may send form submission content (which can include personal data) to Telegram.<\/p>\n\n<p>Suggested text for your privacy policy:\n* We use a plugin that forwards Contact Form 7 submissions to Telegram (a third-party service) via the Telegram Bot API.\n* Data sent may include the message text built from form fields and metadata (e.g., page URL, date\/time), depending on our configuration.\n* We limit the data shared by selecting allowed\/excluded fields and by editing the message template.\n* Telegram processes data according to its own Terms and Privacy Policy:\n  https:\/\/telegram.org\/tos\n  https:\/\/telegram.org\/privacy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate <strong>Contact Form 7<\/strong>.<\/li>\n<li>Install this plugin (Plugins \u2192 Add New \u2192 Upload) or upload to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to <strong>Settings \u2192 AroksDS Submission Alerts for Contact Form 7 to Telegram<\/strong>.<\/li>\n<li>Add your <strong>Bot Token<\/strong> and <strong>Default Chat ID<\/strong>.<\/li>\n<li>(Optional) Set <strong>Default Message Thread ID<\/strong> for Telegram forum topics.<\/li>\n<li>Configure template and Allowed\/Excluded fields if needed.<\/li>\n<li>Use the <strong>Tools<\/strong> tab to send a test message.<\/li>\n<li>Submit a Contact Form 7 form to verify real submissions.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20send%20only%20when%20email%20was%20sent%20successfully%3F\"><h3>Does it send only when email was sent successfully?<\/h3><\/dt>\n<dd><p>Yes. This WordPress.org edition triggers only on Contact Form 7 <code>wpcf7_mail_sent<\/code> (success-only).<\/p><\/dd>\n<dt id=\"why%20use%20telegram%20if%20cf7%20already%20sends%20emails%3F\"><h3>Why use Telegram if CF7 already sends emails?<\/h3><\/dt>\n<dd><p>Because email delivery can fail in practice (spam filters, SMTP misconfiguration, provider blocks, DMARC policies, throttling). Telegram provides a second, independent notification channel to reduce lost leads.<\/p><\/dd>\n<dt id=\"how%20do%20i%20get%20a%20bot%20token%3F\"><h3>How do I get a bot token?<\/h3><\/dt>\n<dd><p>Create a bot with Telegram\u2019s BotFather and copy the token it gives you. Then paste the token into the plugin settings.<\/p><\/dd>\n<dt id=\"how%20do%20i%20send%20to%20a%20telegram%20group%3F\"><h3>How do I send to a Telegram group?<\/h3><\/dt>\n<dd><p>1) Add your bot to the group.\n2) Ensure the bot has permission to post messages.\n3) Use the group chat ID as the target Chat ID.<\/p><\/dd>\n<dt id=\"how%20do%20i%20find%20my%20chat%20id%3F\"><h3>How do I find my Chat ID?<\/h3><\/dt>\n<dd><p>Telegram chat IDs depend on the chat type:\n* Private chat: usually a positive numeric ID.\n* Groups\/supergroups: often negative IDs (starting with <code>-<\/code>).\nUse a helper method you trust to read the chat ID after you send a message where the bot can see it.<\/p><\/dd>\n<dt id=\"what%20is%20%E2%80%9Cmessage%20thread%20id%E2%80%9D%3F\"><h3>What is \u201cMessage Thread ID\u201d?<\/h3><\/dt>\n<dd><p>It is used for Telegram forum topics. If your group has topics enabled, you can send to a specific topic by setting the Message Thread ID.<\/p><\/dd>\n<dt id=\"can%20i%20route%20different%20forms%20to%20different%20telegram%20chats%3F\"><h3>Can I route different forms to different Telegram chats?<\/h3><\/dt>\n<dd><p>Yes. Use <strong>Per-form Rules<\/strong> and set the Contact Form 7 Form ID and target Chat ID (and optional Thread ID).<\/p><\/dd>\n<dt id=\"how%20do%20allowed%2Fexcluded%20fields%20work%3F\"><h3>How do Allowed\/Excluded fields work?<\/h3><\/dt>\n<dd><ul>\n<li>If <strong>Allowed fields<\/strong> has any values, only those fields are included.<\/li>\n<li>Otherwise, if <strong>Excluded fields<\/strong> has values, all fields are included except excluded ones.\nThe same rules apply to <code>{all_fields}<\/code> and <code>{field-name}<\/code> placeholders.<\/li>\n<\/ul><\/dd>\n<dt id=\"does%20it%20send%20attachments%2Ffiles%3F\"><h3>Does it send attachments\/files?<\/h3><\/dt>\n<dd><p>No. This plugin sends text messages via Telegram Bot API <code>sendMessage<\/code>.<\/p><\/dd>\n<dt id=\"where%20are%20logs%20stored%3F%20do%20they%20include%20the%20bot%20token%3F\"><h3>Where are logs stored? Do they include the bot token?<\/h3><\/dt>\n<dd><p>Logs are stored in your WordPress database as an option and keep only the last 100 entries.\nThe bot token is never stored in logs.<\/p><\/dd>\n<dt id=\"typical%20telegram%20errors%20and%20what%20they%20mean\"><h3>Typical Telegram errors and what they mean<\/h3><\/dt>\n<dd><ul>\n<li><code>chat not found<\/code> \u2192 wrong Chat ID or the bot cannot access that chat.<\/li>\n<li><code>bot was blocked by the user<\/code> \u2192 the user blocked the bot.<\/li>\n<li><code>not enough rights to send text messages<\/code> \u2192 bot permissions in the group are insufficient.<\/li>\n<li><code>Bad Request: message is too long<\/code> \u2192 reduce <code>{all_fields}<\/code> or exclude large fields.<\/li>\n<\/ul><\/dd>\n<dt id=\"can%20i%20use%20a%20constant%20or%20environment%20variable%20for%20the%20token%3F\"><h3>Can I use a constant or environment variable for the token?<\/h3><\/dt>\n<dd><p>Yes:\n* <code>define('CF7_TG_BOT_TOKEN', '...')<\/code> in <code>wp-config.php<\/code>, or\n* environment variable <code>CF7_TG_BOT_TOKEN<\/code><\/p>\n\n<p>When provided this way, the token field in Settings is locked.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: Prevent placeholder injection in Plain\/HTML by single-pass placeholder replacement.<\/li>\n<li>Fix: Preserve newlines in multi-line fields (textarea).<\/li>\n<li>Fix: Prevent admin rule index collisions when adding\/removing rules.<\/li>\n<li>Security: Harden admin settings saving (sanitize\/validate rule inputs; avoid processing entire $_POST).<\/li>\n<li>Fix: Improve MarkdownV2 escaping for backslashes.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial WordPress.org-ready release (EN base language).<\/li>\n<li>Strict success-only trigger (<code>wpcf7_mail_sent<\/code>).<\/li>\n<li>Per-form rules, templates, tools, and logs.<\/li>\n<li>Privacy policy helper text and external service disclosure.<\/li>\n<\/ul>","raw_excerpt":"Stop losing leads: send Contact Form 7 submissions to a shared Telegram channel as a reliable backup to email.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/280476","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=280476"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/aroksds2026"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=280476"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=280476"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=280476"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=280476"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=280476"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=280476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}