Email outreach and negotiation
Cold outreach only pays off if the replies get answered, and replies arrive at every hour in every shape: interested, asking the price, sceptical, or asking to be left alone. This reads your outreach mailbox and works out which messages are genuine replies to campaigns you actually sent, by matching against who you emailed rather than hunting for a keyword. It skips out-of-office bounces, threads you already answered, and anything you have marked as yours to handle personally, so it can never step into a conversation you have taken over.
Every reply it writes comes from the profile and FAQ you filled in, and nothing else. Asked something you did not cover, it says it will find out and come back rather than guessing, because the person who replied is evaluating you and will check. If you did not publish a price it will not invent one. It only sends a checkout link when somebody clearly says they want to proceed, never because they asked what it costs. Someone who says no gets one gracious line and nothing else, no counter-offer. It mirrors the length of whoever wrote in, so a one-line question gets a one-line answer. It drafts everything first and stays off until you switch it on.
It reads and sends over your business's own connection, so there is no proxy to buy or configure. It knows a reply is yours by matching the sender against the people you have actually emailed. If you have been running outreach some other way, import that list first, otherwise it has nothing to match against and will report zero replies forever while appearing to work.
Read https://mcp.nodo.com/start.md and set up Nodo for me
Attach the released workflow nodo-outreach-reply-responder-wf to my business. It pairs with any of the outreach templates, since they all share one contacted log.
Before anything else, check my business has a device with the CLI capability, because this reads my mailbox over IMAP from that device and cannot run without one. There is no proxy to set up, it runs over my own connection.
This only answers replies from people it knows I emailed, and it reads that from a shared contacted log. If I have already been emailing people some other way, that log is empty, so the responder will find nothing, report zero replies, and look perfectly healthy while doing it. Ask me whether I have an existing list of people I have already contacted. If I do, attach nodo-contacted-log-import-wf as well and run it once with dry_run true, then for real, to merge my list in first. It only ever adds, it never removes anyone. If I am starting fresh and will send through one of the Nodo outreach templates, skip the import, because the log fills itself as those send.
Then help me fill in outreach_profile, and spend real time on the faq section, because that is the only thing the responder is allowed to say when someone asks a question. Walk me through the questions people actually ask me and write down my true answers. Also ask me for my price line, or leave it empty if I do not publish one, and my checkout link only if I have real self-serve checkout.
In outreach_smtp_account, set the imap_host as well as the smtp_host so it can read replies. This needs an app password, not my account password. For Gmail that means two-factor has to be switched on first, otherwise the app password screen does not exist. I will enter the password myself in the Nodo settings, so do not ask me for it in chat.
One profile describes one offer. If I run several different campaigns out of the same mailbox, say so, because a reply belonging to a campaign my profile does not describe will be found, counted, and then correctly left unanswered rather than guessed at.
Run it with auto_send false and show me every reply it would have sent, in full. These go to real people who wrote to me, so I want to read them before you send anything.
Once I trust it, set auto_send true and schedule it a few times a day. Remind me that I can add any address or subject to never_auto_reply_to the moment a thread becomes a conversation I want to handle myself.