Send a pitch, speech or tricky email to your Telegram chat and get back clear feedback on how to make it land.
Uses
OpenAI
Telegram
Get feedback on a pitch or speech from Telegram
Whenever a message arrives in your Telegram chat, the workflow treats it as a draft, a pitch, a talk or a difficult email, and replies in the same chat with feedback on it. You tell it once what you are preparing and who it is for, since the same paragraph reads differently in a conference talk and in a note to a client.
The reply comes back under five fixed headings: the opening, the structure, the wording and clarity, the ending and the ask, and three specific things to change. The AI is told to describe the draft in front of it, quoting your own words so you can find the passage, and not to predict how it will land, score it, compare it or rewrite it, and every reply ends by saying so. A short message is treated as chat rather than a draft and gets a note asking for the whole thing. Long drafts and long replies are trimmed so the answer always fits one Telegram message.
You need a Telegram bot in a private chat of your own.
incomingMessage.When a new message is received. Save it as incomingMessage.deliveryContext to blank.Set deliveryContext to blank.minimumDraftLength to 120.Set minimumDraftLength to 120.chatId to incomingMessage.chat_id.Set chatId to incomingMessage.chat_id.chatId is emptyIf chatId is emptydraftText to blank.Set draftText to blank.messageErrorIf a step below fails, save the error as messageErrorincomingMessage.text and save it as draftText.Trim incomingMessage.text and save it as draftText.draftText starts with Feedback on your draftIf draftText starts with Feedback on your draftdraftFloor to minimumDraftLength multiplied by 1.Set draftFloor to minimumDraftLength multiplied by 1.draftText is less than draftFloorIf the length of draftText is less than draftFloorchatId.Send a message to chat chatId.Send me the whole draft and I will go through it. That message was too short to give useful feedback on.draftText to 6000 characters (keeping words whole) and save it as cappedDraft.Shorten draftText to 6000 characters (keeping words whole) and save it as cappedDraft.promptRole to Someone has sent you their own draft and asked what you make of it. Give them delivery feedback on it.Set promptRole to Someone has sent you their own draft and asked what you make of it. Give them delivery feedback on it.
What they are preparing: deliveryContext
.promptRules to Rules you must follow:Set promptRules to Rules you must follow:
- Describe the draft in front of you. Do not predict how an audience will react to it, how it will land, or whether it will work.
- Do not score, rate or grade it, and do not compare it to other people's drafts.
- Quote the draft's own words when you point at something, so they can find it.promptRulesTwo to - Say what already works before what to change.Set promptRulesTwo to - Say what already works before what to change.
- Comment on this draft only. Do not rewrite it for them.
- Plain text, no formatting marks, under 400 words.promptSections to Use exactly these five headings, in this order, each on its own line:Set promptSections to Use exactly these five headings, in this order, each on its own line:
Opening
Structure
Wording and clarity
Ending and the ask
Three things to change
.feedbackPrompt to promptRole@promptRules@promptRulesTwo@promptSectionsTheir draft:Set feedbackPrompt to promptRole@promptRules@promptRulesTwo@promptSectionsTheir draft:
cappedDraft
.modelResult to nothing.Set modelResult to nothing.modelCallErrorIf a step below fails, save the error as modelCallErrorfeedbackPrompt. Save it as modelResult.Ask OpenAI: feedbackPrompt. Save it as modelResult.modelResult to nothing.Change modelResult to nothing.feedbackText to blank.Set feedbackText to blank.feedbackErrorIf a step below fails, save the error as feedbackErrormodelResult.response_text and save it as feedbackText.Trim modelResult.response_text and save it as feedbackText.feedbackText to blank.Change feedbackText to blank.feedbackText is emptyIf feedbackText is emptychatId.Send a message to chat chatId.I read your draft but could not write the feedback this time. Send it again and I will have another go.replyHead to Feedback on your draftSet replyHead to Feedback on your draft
.feedbackText to 3400 characters (keeping words whole) and save it as replyBody.Shorten feedbackText to 3400 characters (keeping words whole) and save it as replyBody.replyFoot to Set replyFoot to
This describes the draft as it is written. It is not a prediction of how it will land or how anyone will react.replyText to replyHead plus replyBody plus replyFoot.Set replyText to replyHead plus replyBody plus replyFoot.chatId.Send a message to chat chatId.replyText