Chasing clients across messy email threads for campaign specs and voice notes kills creative momentum before production even begins. We replaced that chaotic back-and-forth with a streamlined 3-step intake bot that captures project titles, accepts raw voice notes or attachments, and commits the submission directly into Firebase. Clients get an effortless onboarding experience on mobile while our studio receives neatly indexed brief records.
๐ Filename:
command/brief.js๐จโ๐ป Code:
sendMessage("Let's get your creative project rolling. Reply with the client or campaign name:");
waitForAnswer("/brief_name");๐ Filename:
command/brief_name.js๐จโ๐ป Code:
TEMP.setProp("campaign", message);
sendMessage("Great! Now send your audio voice memo brief or attach your scope document:");
waitForAnswer("/brief_asset");๐ Filename:
command/brief_asset.js๐จโ๐ป Code:
const campaign = await TEMP.getProp("campaign").value();
pushDB("project_briefs", {
user_id: user.id,
username: user.username || user.first_name,
campaign: campaign,
message_id: message_id,
submitted_at: Date.now()
});
clearWait();
sendMessage("โ
Creative brief for *" + campaign + "* logged successfully! Our team will review the audio assets.");๐ก Always call
clearWait() immediately after saving the final step so unexpected follow-up text routes back to your default message handler instead of triggering the upload logic again.โ ๏ธ Note: EnsureFIREBASE_URLandFIREBASE_SECRETare configured in your environment sopushDBcan generate persistent records.
#FlexGram
