Official product guide

TeleNotify Documentation

Follow this guide to install TeleNotify, connect Telegram, configure paid-order alerts, use templates and product tools, manage plans, and prepare the Shopify app configuration correctly.

01

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.

Notification event: The current production flow sends notifications for the orders/paid webhook. Order-created and order-updated events are acknowledged without sending duplicate notifications.
02

Merchant installation and first setup

Use these steps after the app is available to install from Shopify.

Open app listingInstall appApprove permissionsOpen embedded appConnect Telegram
1
Install TeleNotify

Open the TeleNotify app listing or installation link and select the option to install the app on your Shopify store.

2
Review Shopify permissions

Shopify shows the permissions requested by TeleNotify. Review them and approve the installation to continue.

3
Open the embedded dashboard

After OAuth completes, Shopify redirects the merchant to the embedded TeleNotify interface inside Shopify Admin.

4
Open Settings

Use the left navigation and open Settings to configure the Telegram bot and chat destination.

03

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

1
Open BotFather

In Telegram, search for the verified @BotFather account and open the chat.

2
Create the bot

Send /newbot, enter a bot display name, and then enter a unique username ending in bot.

3
Copy the token

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

1
Add the bot to the destination

Open the target private chat, group, or channel and ensure the bot has permission to send messages.

2
Enable notifications

In TeleNotify → Settings, enable Telegram notifications and save the bot token.

3
Add the Chat ID

Enter the Telegram Chat ID and an optional display name, then save the chat.

4
Test the connection

Select Test. When Telegram accepts the message, TeleNotify marks the chat as verified and active.

Keep credentials private: Never place the bot token, full Chat ID, Shopify access token, or customer data in screenshots, public documentation, or the App Store listing.
04

Paid-order notification flow

TeleNotify sends a message only when all required eligibility checks pass.

Order is paidShopify sends webhookTeleNotify validates shop and planVerified chats selectedTelegram message sent
  • 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

1
Create a test order

Create an order in the Shopify development store using demo customer and product data.

2
Mark the order as paid

Complete or mark the order payment so Shopify triggers the paid-order event.

3
Check Telegram

Confirm that the connected verified chat receives one notification with the expected order details.

05

Custom message templates

Custom templates are a Pro feature. Free shops use the default paid-order template.

1
Open Message Template

From the embedded navigation, open Message Template.

2
Select Custom

Choose the Custom option to enable the rich-text editor.

3
Add supported variables

Insert variables from the supported-variable panel and use the live Telegram preview to check the output.

4
Save the template

Select Save Template, then create another paid test order to verify the delivered message.

5.1 Supported variables in the current project

{{order_number}}, {{order_id}}, {{customer_name}}, {{customer_first_name}}, {{customer_last_name}}, {{customer_email}}, {{customer_phone}}, {{line_items}}, {{total_price}}, {{currency}}, {{financial_status}}, {{fulfillment_status}}, {{shipping_address}}, {{order_note}}, {{created_at}}, {{shop_domain}}, {{product_titles}}, {{first_product_title}}, {{first_product_price}}
Only include customer fields that the merchant needs. Access to protected customer fields must match the app's approved protected customer data request and privacy disclosures.
06

Product management through Telegram

The current project includes Pro product tools through Telegram commands and a Telegram Mini App product form.

CommandPlanCurrent purpose
/startFree and ProShows the welcome and help context.
/helpFree and ProLists available bot commands.
/export_productsProExports Shopify products to a CSV file and sends it through Telegram.
/import_productsProAccepts a supported CSV or plain document, imports grouped product data, and reports results.
/new_productProOpens product-creation actions, including the Telegram Mini App form.

6.1 Export products

Send /export_productsProducts are retrievedCSV is generatedFile is returned in Telegram

6.2 Import products

1
Use an exported file as the template

This helps preserve the product grouping and expected CSV structure.

2
Upload the document to the verified bot chat

The current implementation supports CSV/plain documents up to 15 MB.

3
Review the result summary

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.

07

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.

CapabilityFreePro
PriceUSD 0/monthUSD 9.99/month
Paid-order allowance20 per monthUnlimited
Active Telegram chats1Multiple
Basic paid-order notificationsYesYes
Custom message templateNoYes
Product import/export commandsNoYes
Telegram product creationNoYes
SupportStandardPriority
First Pro activation trialNot applicable7 days when not previously used

7.1 Upgrade flow

Open PricingSelect ProApprove in ShopifyReturn to TeleNotifyPro features activate

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.

Shopify developer note: Shopify currently recommends Shopify App Pricing for App Store apps. If this project continues using its manual GraphQL billing flow, the merchant approval, activation, cancellation, reconciliation, test mode, and multi-store isolation must all be verified before submission.
08

Support and Help

Merchants can submit support requests directly from the embedded application.

1
Open Support & Help

Open the support form from the embedded app.

2
Select the issue type

Choose order, Telegram, product synchronization, billing, or another supported issue category.

3
Enter contact details and message

Provide a valid email and a clear description between 10 and 5,000 characters.

4
Submit the request

The app stores the support request and sends an email using the configured SMTP settings.

09

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

1
Open the app in Dev Dashboard

Go to Apps → TeleNotify → Versions → Create version.

2
Set the production App URL

Use the public HTTPS embedded entry URL for the deployed application.

3
Add the OAuth redirect URL

The current project callback route is /auth/callback. The full URL must exactly match the released configuration.

4
Align scopes and webhooks

Make the Dev Dashboard/app version, shopify.app.toml, and Laravel routes use one canonical configuration.

5
Release the version

Configuration changes do not become active until the app version containing them is released.

9.3 Current TeleNotify route patterns

App / installation: https://YOUR-DOMAIN/ Embedded app: https://YOUR-DOMAIN/embedded OAuth callback: https://YOUR-DOMAIN/auth/callback Billing confirmation: https://YOUR-DOMAIN/api/billing/success Telegram bot webhook: https://YOUR-DOMAIN/api/telegram/bot/{shopDomain} Paid-order webhook: https://YOUR-DOMAIN/api/webhook/orders/paid Uninstall webhook: https://YOUR-DOMAIN/api/webhook/app/uninstalled
Deployment check: Replace 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.

customers/data_request customers/redact shop/redact
10

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

read_products, write_products, read_orders, write_orders, read_customers, write_customers, read_inventory, write_inventory, read_fulfillments, write_fulfillments, read_shipping, write_shipping, read_locations

10.2 Why the current features may use these permissions

FeatureRelevant permission area
Paid-order Telegram notificationOrders; protected customer fields only when included in the configured message.
CSV product exportProducts.
CSV product import and product creationProducts, inventory, and locations.
Product media and variantsProducts and inventory.
Configuration mismatch found: The current 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.

Partner DashboardApp distributionSelect appAPI access requestsProtected customer data
11

Shopify App Store review preparation

Complete all required sections before selecting the final Submit for review action.

11.1 Submission path

Partner DashboardApp distributionTeleNotifyDistributionManage submission

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

1
Install on a fresh development store

Approve scopes and confirm the embedded app opens.

2
Connect the test Telegram bot

Add the supplied Chat ID, send the test message, and verify the active state.

3
Create and pay a test order

Confirm one Telegram notification and the correct Free-plan usage update.

4
Test the Pro flow

Approve the test subscription, edit a custom template, use multiple chats, and test product import/export and product creation.

5
Test support

Submit a support request and confirm the success response.

6
Test lifecycle behavior

Verify downgrade, uninstall, and reinstall behavior without sharing subscriptions between stores.

11.4 Official review resources

12

Troubleshooting

ProblemCheckAction
Embedded app is blankFrontend build output, Vite manifest, browser console, API key, HTTPS.Build from the frontend directory and deploy public/frontend.
OAuth callback failsReleased redirect URL, HMAC, state cache, domain, production environment.Make the Dev Dashboard URL and /auth/callback match exactly.
Telegram test failsBot token, Chat ID, bot membership, permissions.Add the bot to the chat, correct the Chat ID, and run Test again.
Paid order sends no messageorders/paid webhook, shop state, plan, limit, verified chat.Re-register the webhook and check application logs.
Duplicate Telegram messageDuplicate webhook subscriptions and shared idempotency cache.Keep one canonical webhook registration and persistent duplicate-event protection.
Pro approval does not activateBilling callback, Shopify subscription status, test/live mode.Verify confirmation URL and billing reconciliation.
Product import failsCSV 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 errorsupport_requests table.Add and run the missing migration before enabling support in production.
13

Frequently asked questions

The current notification flow sends a message when Shopify delivers the orders/paid webhook and all shop, plan, usage, bot, and chat checks pass.
The current Free plan allows one active verified chat. The Pro plan supports multiple verified active chats.
Yes. Pro merchants can select Custom on the Message Template page, add supported variables, view the preview, and save the template.
Yes. The current Pro tools include /export_products, /import_products, and /new_product.
Open the app in Shopify Dev Dashboard, create an app version, configure the App URL and redirect URLs, align scopes and webhooks, and release the version.
Complete the request when customer fields such as name, email, phone, or shipping address are used. Request only the fields needed by the active feature set.