FormToInbox supports two Telegram handoffs: a direct public username and Telegram's chat picker. Both prepare content for review; neither sends a message without the visitor.
Choose direct chat or chat picker
Use direct mode when the site owner has a public Telegram username. Use the chat picker when the visitor should choose a person, group, channel or Saved Messages. The picker includes the current page URL with the prepared text.
Normalize the username
Enter the public username without relying on a leading at sign. The builder keeps letters, numbers and underscores for the generated t.me path. Verify the destination before publishing.
Generate the appropriate deep link
Telegram documents both username links with draft text and share links that open a selection prompt. Encode every dynamic value before placing it in the URL.
const direct = 'https://t.me/' + username + '?text=' + encodeURIComponent(message);
const picker = 'https://t.me/share/url?url=' + encodeURIComponent(location.href) + '&text=' + encodeURIComponent(message);
window.open(usePicker ? picker : direct, '_blank', 'noopener,noreferrer');Explain and test the transition
Tell visitors that Telegram will open and that they must choose or review the chat before sending. Test the link in a browser with and without the Telegram app installed, and confirm the public username is still valid.
Frequently asked questions
Do I need a Telegram bot?
No. The current export uses public t.me deep links and does not call the Telegram Bot API.
What is the difference between the two modes?
Direct mode opens a configured public username. Chat-picker mode lets the visitor select a Telegram destination.
Does FormToInbox see the Telegram message?
No. The message is composed in the browser and handed to Telegram.
Primary sources
Turn the guide into a working form
Start from a template, change the fields and take the code with you.
Open the free builder