langchain-relm
LangChain tools for Relm - the CRM for LLMs and AI agents.
Give a LangChain / LangGraph agent a real CRM: create and find contacts, companies and
deals, log activities, and move deals through a pipeline - in a few typed tools. Relm's
errors are RFC-9457 problem+json with valid_options and a suggestion, and this
adapter passes them straight back to the model, so your agent self-corrects in one
turn instead of crashing on a bad field or stage.
Install
pip install langchain-relm # once it's on PyPI
# or install the latest straight from source:
pip install "git+https://github.com/98000m/langchain-relm.git"
Quickstart
Mint a free key (and a free test-mode key) at app.relmcrm.com, then:
from langchain_relm import get_relm_tools
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent
tools = get_relm_tools(api_key="relm_live_...") # or set RELM_API_KEY
agent = create_react_agent(ChatOpenAI(model="gpt-4o"), tools)
agent.invoke({"messages": [(
"user",
"Add Maria Diaz (maria@acmelogistics.com) as a lead, create Acme Logistics "
"as her company, and open a $18,500 deal for the annual plan.",
)]})
The agent calls relm_describe_schema to learn what exists, then creates the company,
the contact and the deal - and if it sends a stage or type that doesn't exist, Relm
hands back the valid options and it retries.
The tools
| Tool | What it does |
|---|---|
relm_describe_schema |
The live contract: objects, fields, id prefixes, filters, enum values. Call it first. |
relm_search |
Find a contact/company/deal by name, email or title. |
relm_list |
List records of an object with an optional q filter. |
relm_create_contact |
Create a person (email/phone/linkedin/name/company - at least one). |
relm_create_company |
Create an account. |
relm_create_deal |
Open a deal (value_cents is integer cents). |
relm_log_activity |
Log a note/call/email/meeting/task on a contact and/or deal. |
relm_move_deal |
Move a deal to another stage. |
Direct client
Skip the tools and call the API yourself:
from langchain_relm import RelmClient
relm = RelmClient(api_key="relm_live_...")
relm.get("/schema")
relm.post("/contacts", {"email": "ada@example.com", "type": "lead"})
Notes
- Test mode is free. A
relm_test_key writes to an isolated, unmetered dataset - rehearse there, then swap one string. - Native MCP + A2A too. Prefer MCP? Relm ships a native MCP server at
https://api.relmcrm.com/mcpand an A2A endpoint - see the agent hub. - Docs: relmcrm.com/docs · OpenAPI: relmcrm.com/openapi.json
License
MIT
Metadata
Release files for langchain-relm 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| langchain_relm-0.1.0.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| langchain_relm-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.7 kB
Release files / langchain_relm-0.1.0.tar.gz
| Download URL | langchain_relm-0.1.0.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
60261c1a29211bfed053465417ba041371d65c7716d754ca4063ca9d68e8537d
|
|
BLAKE2b-256 checksum How to use checksums |
7f509ff8f5a4d429fdefe1a88dd174bd2471b1a6540669997bb7883244396db3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / langchain_relm-0.1.0-py3-none-any.whl
| Download URL | langchain_relm-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
68b6c6a2bf84d65b9152c245c486e67219cacff65ba9def9552ef3c5c554fb50
|
|
BLAKE2b-256 checksum How to use checksums |
a59de243c7bf7371ff4b24a1375710a2ed93ece9ec95da4a4052c59061159b36
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|