new-term-radar
Daily radar for new AI terms: names of new models, products and repos, caught on X, Hugging Face, GitHub and sitemaps before keyword tools list them.
Automate ManyReach cold email replies by classifying prospects and drafting responses
Translation pending
AI summary · website and README
MarketingPython · PowerShellGitHub @manraysevenOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Bot qui classifie les replies aux cold emails ManyReach, tague le prospect, drafte (ou envoie) une réponse adaptée à l'intent, et gère unsubscribes/désinscriptions automatiquement. Phase 1 — MVP CLI local (en construction) • Reverse-engineering de l'API ManyReach v2 (spec complète dans manyreach_openapi.json) • Script d'exploration explore_api.ps1 • .gitignore (protège .env) • Client Python ManyReach (src/manyreach.py) • Classifier + drafter • Runner CLI avec --dry-runRead the full README ↗
Bot qui classifie les replies aux cold emails ManyReach, tague le prospect, drafte (ou envoie) une réponse adaptée à l'intent, et gère unsubscribes/désinscriptions automatiquement.
Phase 1 — MVP CLI local (en construction)
manyreach_openapi.json)explore_api.ps1.gitignore (protège .env)src/manyreach.py)--dry-runPhase 2 — Production
MaybeLater, Interested sans booking, etc.)PowerShell ─▶ python scripts/run_bot.py [--dry-run]
│
├─ GET /api/v2/messages?type=Reply&since=...
│ └─ Filtre les bounces (mail-out.ovh.net, postmaster, etc.)
│
├─ Pour chaque reply non traité :
│ ├─ Classifier (Claude API) → {intent, confidence, key_phrase}
│ ├─ Drafter (Claude API) → HTML reply
│ ├─ Map intent → actions (PATCH status, POST tag, POST blacklist, POST reply)
│ └─ Dry-run : print les actions / Live : execute
│
└─ Log dans logs/run_YYYY-MM-DD.jsonl (audit + idempotence)
ManyReach ──webhook──▶ Vercel function (api/webhook.py)
├─ Verify token
├─ Same classify + draft + action pipeline
└─ Respond 200 OK
GitHub Actions cron ──1x/jour──▶ scripts/bump_leads.py
├─ GET prospects?sendingStatus=Interested,MaybeLater
└─ Send appropriate bump per state machine rules
| Méthode | Endpoint | Usage |
|---|---|---|
| GET | /api/v2/messages?type=Reply | Liste les replies (filtrable par campaignId) |
| GET | /api/v2/prospects/{id} | Détail prospect (statut, custom fields) |
| GET | /api/v2/prospects/{id}/messages | Thread complet (Sent + Reply) |
| GET | /api/v2/tags | Liste tags existants (pour mapping intent → tagId) |
| POST | /api/v2/messages/reply | Envoie un reply dans le thread |
| POST | /api/v2/prospects/{id}/tags | Tag un prospect (body: {"tagId": int}) |
| POST | /api/v2/blacklist/emails | Désinscrit (body: {"emails": [str]}) |
| GET | /api/v2/blacklist/emails/check | Vérifie si email est blacklisté |
| PATCH | /api/v2/prospects/{id} | Update sendingStatus, sendingActive, etc. |
Auth : X-API-Key: <key> header
Base URL : https://api.manyreach.com/api/v2
| Intent | sendingStatus | sendingActive | Tags ajoutés | Blacklist | Reply envoyé |
|---|---|---|---|---|---|
interested_warm | Interested | true | hot-lead | non | oui + créneaux |
interested_lukewarm | Neutral | true | lukewarm | non | oui + créneaux |
objection_price | MaybeLater | true | price-objection | non | oui (reframe valeur) |
objection_timing | MaybeLater | true | timing-objection | non | oui (recontact plus tard) |
objection_already_have_solution | NotInterested | false | has-solution | non | oui (reframe ponctuel) |
wrong_person_redirect | NotInterested | false | wrong-person | non | oui (demande contact réel) |
ask_more_info | Neutral | true | info-requested | non | oui (réponse + call) |
not_interested_polite | NotInterested | false | not-interested | non | optionnel (silence par défaut) |
unsubscribe | Unsub | false | unsub | oui | non (silence) |
hostile | Unsub | false | hostile | oui (safety) | non |
bounce (auto) | BounceHard | false | — | non | non |
cd "C:\Users\ManRa\Desktop\Rudy111\Claude\Manyreach Answers"
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
Copy-Item .env.example .env
# Éditer .env avec tes vraies clés
python scripts/run_bot.py --dry-run --limit 5
python scripts/run_bot.py --auto-send
python scripts/run_bot.py --review-mode
src/manyreach.py — Client API ManyReachsrc/classifier.py — Classification d'intent via Claudesrc/drafter.py — Génération de réponse via Claudesrc/actions.py — Mapping intent → actions APIsrc/prompts/classify.md — System prompt classificationsrc/prompts/draft.md — System prompt draftingscripts/run_bot.py — Runner CLIscripts/explore_api.ps1 — Probe API (déjà utilisé)config/settings.yaml — Calendrier, signature, seuils auto-sendconfig/training_examples.md — Few-shot examples (à compléter par l'utilisateur)manyreach_openapi.json — Spec OpenAPI complète de ManyReach v2logs/ — Logs JSONL d'exécution (gitignored).env est dans .gitignore — JAMAIS commit la clé APIunsubscribe — non négociable (RGPD)--dry-run par défaut pour les premiers runs