WMS DIGITAL | TELEGRAM + EXNESS PARTNER API
Workshop build, 02 October 2026

WHAT IS INCLUDED
telegram-partner-bot.json: Telegram messages -> identity and intent routing -> answer bank OR private Exness request -> reply -> human notification. A Sheets append node is present but disabled until you connect Google credentials. Khaya is not enabled.
exness-api-rehearsal.json: a manual workflow containing explicitly fictional affiliation data, with no external API call. Use this to practise the interpretation.

1. GET YOUR OWN BOT
Open the verified @BotFather in Telegram. Use /newbot, choose a display name and a unique username ending in bot. Store the token as an n8n Telegram API credential. Keep the token out of slides, exports and screenshots. Only one active Telegram webhook may use a token at a time.

2. IMPORT YOUR COPY
In n8n, create a workflow and use its menu to import the JSON from a file. Connect your Telegram API credential to Telegram input, Send private reply and Notify the partner. Do not share the trainer's credential.

3. CONFIGURE THE PARTNER
Send your bot a private /start message. In a private test execution, take your Telegram numeric user ID from message.from.id and check that message.chat.id matches it. Put that value in Workshop settings -> operatorId. Set humanContact to the public contact address or link where you will answer enquiries. Do not accept an operator ID supplied in a public message. The exported setting is intentionally blank.

4. TEST BASIC ANSWERS
Publish/activate the workflow. Send /start, /learn, /documents, /profit, /deposit and /human from your phone. Check the menu buttons, accurate replies and private partner alert. The bot cannot move money or open accounts. A partner must personally handle money/account/risk queries through appropriate official channels.
The bot only responds to private chats. It does not monitor groups or broadcast.

5. CONNECT A PRIVATE SHEET
Authorise your own Google account in n8n. Create a private tab named Bot log with these exact headers: Received at | Telegram user ID | Topic | Human requested. Select that spreadsheet and credential in Append enquiry to your sheet, then enable the node. Send a test question and check the row lands automatically. Minimise stored information and manage follow-up consent in your CRM. Never publish a response sheet containing real people.

6. GET EXNESS API ACCESS
You need an existing authorised Exness partner account (IB or Digital Affiliate). Open the official schema at https://my.exnessaffiliates.com/api/schema/. Under auth, use POST /api/v2/auth/ with your partner login and password. Run this privately; it returns a token. Do not show the password or token on the projector or put either in a public document.
In n8n create a Header Auth credential: Name = Authorization; Value = JWT followed by a space and your token. Connect it to Check Exness affiliation and Read Exness performance. Set exnessEnabled to true only after testing with authorised demo/client information. A failed or expired credential must produce an unavailable result, never a guessed status.
Official access guidance: https://get.exness-affiliates.help/hc/en-us/articles/360023817591-The-Exness-Partnership-API
Current endpoint definitions, which take priority over older examples: https://my.exnessaffiliates.com/api/schema/

7. PRIVATE PARTNER COMMANDS
/verify client@example.com uses POST /api/partner/affiliation/ with an email. Only your configured operator may call it. A true response means affiliation with that partner account. It does not prove Telegram identity, KYC, a first deposit, a first trade or suitability. Review any group-access decision with the person; never grant access from an arbitrary email alone.
/summary reads GET /api/reports/ib/performance/?group_by=utm_source&limit=10. It returns operational totals when available. It does not expose balances or execute financial actions.
The API can support more reports, campaigns and partner operations. This demo deliberately uses only affiliation checking and read-only reporting. Do not add wallet, transfer, rebate or account-changing actions without a separate design and review.

8. KHAYA IS AN OPTIONAL NEXT STEP
Create a subscription at https://developer.khaya.ai/ and check its current API contract, quotas and language codes. Test translation and speech separately for each of Twi, Ga, Ewe and Pidgin. Have a fluent speaker review the actual output. Keep an English fallback; do not send private client or financial information in translation requests. No key or verified language samples were available for this pack, so no Khaya node is presented as working.

9. CLEAN IMPORT REHEARSAL
Import both JSON files into a new workflow with no inherited credentials. Check every node is available, run the sample rehearsal and reconnect your own credentials. Both exported JSON files were imported into a fresh local n8n 2.41.5 database on 2 October 2026. The sample API workflow executed successfully there with no external credentials. Live replies, human alerts and private Google Sheets logging were separately tested on go.myw.ms. Record the n8n version and test date in your copy.

10. NIGHT-BEFORE TEST
Open the public pack without signing in. Download the ZIP to your phone. Submit the form and watch a new row arrive. Test /learn and /human, then a partner-only command from a second account to confirm it is denied. Run the Exness API with authorised demo data only if the token is available. Test Khaya only if its language outputs have been reviewed. Capture actual screens and redact tokens, contact details and client identifiers before putting screenshots in slides.
