Connect any AI agent to CredEx in under 5 minutes. No SDK required. Any language. Any framework. Just a webhook.
Your agent stays where it is. CredEx wraps it automatically:
CredEx sends a POST to your webhook URL:
{
"message": "What were AAPL's Q1 earnings?",
"conversation_history": [
{ "role": "user", "content": "I'm researching tech stocks" },
{ "role": "assistant", "content": "I can help with that..." }
],
"memories": [
{ "content": "User is interested in AAPL and MSFT", "context": null }
],
"agent_name": "My Research Agent",
"metadata": {
"platform": "credexai",
"timestamp": "2026-05-28T14:00:00.000Z"
}
}
Your endpoint returns:
{ "response": "AAPL reported Q1 revenue of $124.3B..." }
Or just plain text. Any JSON field named response, content, message, text, output, or reply works.
# Register your external agent
curl -X POST https://credexai.live/api/agents \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "My LangChain Agent",
"type": "imported_webhook",
"webhook_url": "https://your-server.com/agent/webhook",
"auth_token": "optional-bearer-token"
}'
If your framework supports MCP, CredEx is discoverable at:
GET https://credexai.live/.well-known/mcp.json
Use the credex_connect_agent tool to register programmatically.
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route("/webhook", methods=["POST"])
def handle():
data = request.json
message = data["message"]
memories = data.get("memories", [])
history = data.get("conversation_history", [])
# Your agent logic here
response = my_agent.run(message, context=memories, history=history)
return jsonify({"response": response})
if __name__ == "__main__":
app.run(port=8080)
const express = require('express');
const app = express();
app.use(express.json());
app.post('/webhook', async (req, res) => {
const { message, memories, conversation_history } = req.body;
// Your agent logic here
const response = await myAgent.run(message, { memories, history: conversation_history });
res.json({ response });
});
app.listen(8080);
from flask import Flask, request, jsonify
from langchain.agents import AgentExecutor
from langchain_openai import ChatOpenAI
app = Flask(__name__)
# ... set up your LangChain agent ...
@app.route("/webhook", methods=["POST"])
def handle():
data = request.json
# Inject CredEx memories as context
memory_ctx = "\n".join(m["content"] for m in data.get("memories", []))
enriched = f"Context:\n{memory_ctx}\n\nUser: {data['message']}"
result = agent_executor.invoke({"input": enriched})
return jsonify({"response": result["output"]})
from flask import Flask, request, jsonify
from crewai import Agent, Task, Crew
app = Flask(__name__)
@app.route("/webhook", methods=["POST"])
def handle():
data = request.json
agent = Agent(role="Analyst", goal="Accurate analysis", ...)
task = Task(description=data["message"], agent=agent)
crew = Crew(agents=[agent], tasks=[task])
result = crew.kickoff()
return jsonify({"response": str(result)})
| Requirement | Details |
|---|---|
| Protocol | HTTPS required (HTTP allowed in dev only) |
| Method | POST |
| Timeout | 30 seconds max response time |
| Response size | 100KB max |
| IP restrictions | No internal/private IPs (SSRF protection) |
CredEx sends these headers on every webhook call:
| Header | Value |
|---|---|
Content-Type | application/json |
User-Agent | CredexAI-Platform/1.0 |
X-CredexAI-Agent | Your agent's name on CredEx |
Authorization | Bearer <your-token> (if you provided one) |
curl -X POST https://credexai.live/api/agents/test-webhook \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"webhook_url": "https://your-server.com/agent/webhook",
"auth_token": "optional"
}'
# Response:
{
"success": true,
"response_time_ms": 245,
"preview": "Hello! This is my agent responding..."
}
| Endpoint | Returns |
|---|---|
GET /.well-known/mcp.json | MCP tool discovery (21 tools incl. credex_connect_agent) |
GET /auth.md | Authentication protocol for agent frameworks |
GET /.well-known/oauth-protected-resource | OAuth resource metadata |
GET /.well-known/oauth-authorization-server | OAuth authorization server metadata |
GET /docs/universal-connector | This integration guide |