Overview
TeleNotify is an embedded Shopify app that connects a Shopify store to one or more verified Telegram chats. Its primary notification flow starts when a Shopify order is marked as paid.
Paid-order notifications
Send paid-order information to verified Telegram chats according to the active plan.
Telegram chat management
Add, test, verify, activate, disable, and remove chat destinations.
Custom templates
Pro merchants can build and preview a custom Telegram message template.
Product tools
Pro merchants can import, export, and create Shopify products through Telegram tools.
orders/paid webhook. Order-created and order-updated events are acknowledged without sending duplicate notifications.Merchant installation and first setup
Use these steps after the app is available to install from Shopify.
Open the TeleNotify app listing or installation link and select the option to install the app on your Shopify store.
Shopify shows the permissions requested by TeleNotify. Review them and approve the installation to continue.
After OAuth completes, Shopify redirects the merchant to the embedded TeleNotify interface inside Shopify Admin.
Use the left navigation and open Settings to configure the Telegram bot and chat destination.
Telegram bot and chat setup
A Telegram bot token and at least one verified chat are required before order notifications can be delivered.
3.1 Create a Telegram bot
In Telegram, search for the verified @BotFather account and open the chat.
Send /newbot, enter a bot display name, and then enter a unique username ending in bot.
BotFather returns an API token. Keep it private and paste it only into the TeleNotify Settings page.
3.2 Add and verify a Telegram chat
Open the target private chat, group, or channel and ensure the bot has permission to send messages.
In TeleNotify → Settings, enable Telegram notifications and save the bot token.
Enter the Telegram Chat ID and an optional display name, then save the chat.
Select Test. When Telegram accepts the message, TeleNotify marks the chat as verified and active.
Paid-order notification flow
TeleNotify sends a message only when all required eligibility checks pass.
- The Shopify shop must be active.
- Telegram notifications must be enabled.
- A valid bot token must be saved.
- The subscription must be active.
- The Free plan monthly order allowance must not be exceeded.
- The destination chat must be verified and active.
4.1 Test the notification
Create an order in the Shopify development store using demo customer and product data.
Complete or mark the order payment so Shopify triggers the paid-order event.
Confirm that the connected verified chat receives one notification with the expected order details.
Custom message templates
Custom templates are a Pro feature. Free shops use the default paid-order template.
From the embedded navigation, open Message Template.
Choose the Custom option to enable the rich-text editor.
Insert variables from the supported-variable panel and use the live Telegram preview to check the output.
Select Save Template, then create another paid test order to verify the delivered message.
5.1 Supported variables in the current project
Product management through Telegram
The current project includes Pro product tools through Telegram commands and a Telegram Mini App product form.
| Command | Plan | Current purpose |
|---|---|---|
/start | Free and Pro | Shows the welcome and help context. |
/help | Free and Pro | Lists available bot commands. |
/export_products | Pro | Exports Shopify products to a CSV file and sends it through Telegram. |
/import_products | Pro | Accepts a supported CSV or plain document, imports grouped product data, and reports results. |
/new_product | Pro | Opens product-creation actions, including the Telegram Mini App form. |
6.1 Export products
6.2 Import products
This helps preserve the product grouping and expected CSV structure.
The current implementation supports CSV/plain documents up to 15 MB.
Telegram reports the created, updated, skipped, or failed product results.
6.3 Add a product
Send /new_product and open the Telegram Mini App form. The current form supports product title, description, pricing, variants, inventory, media, collections, category, tags, SEO, and product status.
Plans and Shopify billing
The current project defines a Free plan and a Pro plan. Paid charges must be approved by the merchant through a Shopify-provided billing flow.
| Capability | Free | Pro |
|---|---|---|
| Price | USD 0/month | USD 9.99/month |
| Paid-order allowance | 20 per month | Unlimited |
| Active Telegram chats | 1 | Multiple |
| Basic paid-order notifications | Yes | Yes |
| Custom message template | No | Yes |
| Product import/export commands | No | Yes |
| Telegram product creation | No | Yes |
| Support | Standard | Priority |
| First Pro activation trial | Not applicable | 7 days when not previously used |
7.1 Upgrade flow
7.2 Downgrade flow
The current project schedules a Pro-to-Free downgrade without proration. Pro access remains active until the current billing period ends. When the downgrade becomes effective, the plan changes to Free and only one active Telegram chat remains.
Support and Help
Merchants can submit support requests directly from the embedded application.
Open the support form from the embedded app.
Choose order, Telegram, product synchronization, billing, or another supported issue category.
Provide a valid email and a clear description between 10 and 5,000 characters.
The app stores the support request and sends an email using the configured SMTP settings.
Shopify developer and App Store configuration
This section is for the app owner or developer preparing TeleNotify for public distribution.
9.1 Official dashboard links
9.2 Configure and release an app version
Go to Apps → TeleNotify → Versions → Create version.
Use the public HTTPS embedded entry URL for the deployed application.
The current project callback route is /auth/callback. The full URL must exactly match the released configuration.
Make the Dev Dashboard/app version, shopify.app.toml, and Laravel routes use one canonical configuration.
Configuration changes do not become active until the app version containing them is released.
9.3 Current TeleNotify route patterns
YOUR-DOMAIN with the real HTTPS production domain. Do not publish placeholder URLs.9.4 Privacy and compliance
Public apps must implement Shopify's required privacy webhooks. The current uploaded project does not expose these three routes in its verified route list, so they must be implemented and tested before submission.
Shopify API permissions
Request only the scopes that are required by working app features. A write scope normally includes read access to the same resource, so unnecessary duplicate or broad scopes should be removed.
10.1 Scopes currently requested by the application code
10.2 Why the current features may use these permissions
| Feature | Relevant permission area |
|---|---|
| Paid-order Telegram notification | Orders; protected customer fields only when included in the configured message. |
| CSV product export | Products. |
| CSV product import and product creation | Products, inventory, and locations. |
| Product media and variants | Products and inventory. |
shopify.app.toml declares a smaller set of scopes than the application code. Align the manifest, released app version, OAuth request, and actual feature needs before publishing.10.3 Protected customer data
Because the current message-template variables can include customer name, email, phone, and shipping address, complete the protected customer data request in the Partner Dashboard if these fields are used. Request only the fields required by the merchant-facing functionality.
Shopify App Store review preparation
Complete all required sections before selecting the final Submit for review action.
11.1 Submission path
11.2 Prepare the listing
- App name, subtitle, introduction, details, feature list, category, integrations, and supported languages.
- App icon, feature image, and three to six accurate product screenshots.
- Live privacy policy URL and support contact.
- Accurate Free and Pro pricing information.
- Reviewer video, test credentials, and step-by-step testing instructions.
11.3 Recommended reviewer test sequence for TeleNotify
Approve scopes and confirm the embedded app opens.
Add the supplied Chat ID, send the test message, and verify the active state.
Confirm one Telegram notification and the correct Free-plan usage update.
Approve the test subscription, edit a custom template, use multiple chats, and test product import/export and product creation.
Submit a support request and confirm the success response.
Verify downgrade, uninstall, and reinstall behavior without sharing subscriptions between stores.
11.4 Official review resources
Troubleshooting
| Problem | Check | Action |
|---|---|---|
| Embedded app is blank | Frontend build output, Vite manifest, browser console, API key, HTTPS. | Build from the frontend directory and deploy public/frontend. |
| OAuth callback fails | Released redirect URL, HMAC, state cache, domain, production environment. | Make the Dev Dashboard URL and /auth/callback match exactly. |
| Telegram test fails | Bot token, Chat ID, bot membership, permissions. | Add the bot to the chat, correct the Chat ID, and run Test again. |
| Paid order sends no message | orders/paid webhook, shop state, plan, limit, verified chat. | Re-register the webhook and check application logs. |
| Duplicate Telegram message | Duplicate webhook subscriptions and shared idempotency cache. | Keep one canonical webhook registration and persistent duplicate-event protection. |
| Pro approval does not activate | Billing callback, Shopify subscription status, test/live mode. | Verify confirmation URL and billing reconciliation. |
| Product import fails | CSV headers, grouped handles, file size, locations, GraphQL user errors. | Use the exported CSV as a template and correct the first reported error. |
| Support form database error | support_requests table. | Add and run the missing migration before enabling support in production. |
Frequently asked questions
orders/paid webhook and all shop, plan, usage, bot, and chat checks pass./export_products, /import_products, and /new_product.