Telegram lead-qualification skill with amoCRM

Universal AI Sales Agent

Three skills and a reference Telegram lead-qualification agent: free-form dialog, 0-100 scoring, RAG over a client base, amoCRM write-back

  • 1 ★ on the repository
  • Last commit
  • MIT
Skill

Extended access

Why this level

  • Writes lead cards to amoCRM and assigns a pipeline stage, affecting a real sales pipeline
  • Stores and processes lead contact data through Telegram and the client's knowledge base
All reasons and checks
Russian stack

foggearthquake/universal-ai-agent-sells

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/universal-ai-sales-agent

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Writes lead cards to amoCRM and assigns a pipeline stage, affecting a real sales pipeline
  • Stores and processes lead contact data through Telegram and the client's knowledge base

This is third-party code. Review the repository files before installing.

What it does

The repository provides three reusable skills for building lead-qualification agents: business-faq-rag-agent (answers drawn only from the client's knowledge base, never invented), handoff-crm-telegram-agent (contracts for handing a conversation to a human and to a CRM), and lead-qualification-agent (extracting fields from free-form dialog, 0-100 scoring with client-specific weights, warmth classification). Alongside them sits a full Python reference implementation: a Telegram bot on Aiogram 3 runs a button-free dialog, PostgreSQL with pgvector stores the client's knowledge base, hard escalation triggers hand off to a human on a price objection or complaint, and the qualification result is written to an amoCRM lead card with auto-filled fields and pipeline stage assignment. Per-client customization happens only through config files: qualification_rules.py, risk_triggers.py, tone.py and a knowledge-base folder, with no code changes.

Who it is for. For agencies and developers building Telegram sales agents with amoCRM who want ready qualification skills instead of building from scratch.

Good fit when

  • You need a Telegram bot that qualifies inbound leads in free-form dialog with no buttons or menus
  • You need 0-100 lead scoring with configurable weights and thresholds, no code changes required
  • You need the qualification result written to amoCRM with a pipeline stage assigned

Not a fit when

  • You need a platform other than Telegram: the dialog layer is built specifically on Aiogram 3
  • You need a CRM other than amoCRM: the integration is built for its REST API specifically
  • The author describes the project as a paid client solution: there is no free hosted service, you deploy it yourself

Example request

I want to know the cost and timeline for implementing your system for a 2000-item warehouse

Limitations

The README explicitly calls the project a production solution for a paid client deployment, not a hosted open service. It needs your own PostgreSQL with pgvector, a Telegram bot token, an OpenAI-compatible API key, and amoCRM tokens. The skills are built for use inside this specific DOE architecture (Directives, Orchestration, Execution); porting to another stack would need adaptation.

How to disable. Stop the python -m bot process and remove the Telegram bot's webhook or token, and revoke the amoCRM tokens.

FAQ

Can the bot answer outside the knowledge base?

No, by design the agent answers only via RAG over the loaded knowledge base, and if nothing is found it says so honestly and offers a human handoff.

How do I configure the agent for a new client without code changes?

Through config/qualification_rules.py, config/risk_triggers.py, config/tone.py and your own knowledge base in execution/knowledge, no code changes needed.

Discussion

No questions or reviews yet.

Russian stack

A skill for agent work with the amoCRM API v4: search, create and update deals, contacts, companies, tasks and notes

SkillBroad access

Cross-platform agent skills: read-only PostgreSQL, MySQL and MSSQL queries, Google Workspace, Jira, Telegram, text-to-speech and research

SkillBroad access454Repository stars

amoCRM sales manager MCP server

amoCRM ROP MCP Server

Russian stack

An MCP server with business tools on top of amoCRM for a sales manager: department overview, stale deals, manager comparison

MCP serverExtended access

Connects Claude Code, Cursor, Codex or OpenCode to Telegram, Slack and Discord: teammates message a bot, an agent replies

CLIBroad access325Repository stars
Russian stack

OData and metadata-search skills for AI agents, plus a Telegram and email bot that answers plain-language questions about 1C data

SkillExtended access8Repository stars

BotHelp analytics skill

claude-skill-bothelp

Russian stack

A Claude Code skill for the BotHelp Open API: a bot map, step-by-step drop-off, subscriber export and limited management via the open API

SkillExtended access

README in short

The English README describes the architecture from Telegram through an FSM dialog manager to a RAG retriever, a qualification scorer, and a decision router to amoCRM and an escalation queue, a scoring table across three lead-warmth tiers, five engineering decisions like avoiding button-based flows and hard escalation triggers, the Python 3.13 and Aiogram 3 tech stack, a quick start via docker compose, and a table of config files for per-client customization with no code changes.

README badge

Original SKILL.md

---
name: lead-qualification-agent
description: Qualify inbound leads in chat by collecting intent, timeline, budget, and contact; compute 0-100 score with client-specific weights; classify warmth and qualification; and produce concise qualification reasoning. Use when building or operating conversational lead qualification flows.
---

Read references/qualification-flow.md before implementation.

Load client profile from a JSON config with fields, weights, thresholds, and risk triggers.

Execute this sequence:
1. Extract structured fields from free-form user messages.
2. Ask one missing high-impact question per turn.
3. Compute score and warmth.
4. Set qualified or not_qualified.
5. Output compact reasoning tied to observed data.

When uncertainty is high, ask one clarification instead of guessing.

Report a problem