@Mark Mallinovsky Okay, well, in this case, I think you can just drop ManyChat for Telegram and add the following: 1. A small middleware (you can even build it as another n8n workflow with a Webhook trigger, no separate codebase needed) that catches the business_message update from Telegram. Important part, when you set the webhook you have to pass allowed_updates with business_connection and business_message, this is the step ManyChat skips and the reason your personal DMs disappear. 2. It pulls telegram_user_id from the payload and calls your lookup_student with it. And this also fixes your manual problem, the Telegram ID comes in automatically with every message, so no more adding it by hand. 3. lookup_student just needs to also match on a telegram_user_id field on the student record, next to the ManyChat ID you already store. If not found, you create the student automatically, same as your IG first contact step. 4. Reply goes back out with sendMessage + business_connection_id, so it goes out as you, and to the client it's not labeled as a bot (just make sure the bot has reply permission enabled on the business connection, otherwise the send gets rejected). Hope this idea helps :)