DEV Community

Ekrem MUTLU
Ekrem MUTLU

Posted on

I Built an API Platform That Gives AI Agents Real-World Identities

"Your agent is smart. But can it answer a phone call?"

Six months ago, I was building my fourth AI agent that needed Telegram integration. Same bot setup, same webhook configuration, same message parsing logic. I'd already done the same thing for email on a different project, and was about to wire up WhatsApp on a third.

That's when I stopped and asked: why am I rebuilding this every time?

The answer became EqhoIDs -- an API platform that gives AI agents real-world communication identities.

The Problem

AI agents have gotten incredibly capable. With modern LLMs, an agent can reason through complex problems, maintain long conversations, use tools, and produce high-quality outputs. But there's a fundamental gap between what an agent can do and how people can reach it.

Most agents live behind:

  • A chat widget on a website
  • A Slack bot in a specific workspace
  • A REST API that only developers call

Meanwhile, the people who need to interact with these agents live on Telegram, Email, WhatsApp, and phone calls.

Bridging that gap requires a surprising amount of infrastructure work. Telegram bot registration, webhook management, email SMTP/IMAP configuration, WhatsApp Business API integration, voice telephony setup. Each channel has its own authentication, message formats, rate limits, and failure modes.

And none of that work is unique to your agent. It's pure plumbing.

The Solution: Agent Identity as a Service

EqhoIDs abstracts the communication layer into an API. Here's how it works:

Step 1: Create an Agent Identity

curl -X POST https://eqhoids.com/api/v1/agents \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "SupportBot",
    "channels": ["telegram", "email", "whatsapp", "voice"],
    "webhook_url": "https://your-server.com/webhook"
  }'
Enter fullscreen mode Exit fullscreen mode

This returns an agent object with provisioned endpoints -- a Telegram bot token, an email address, a WhatsApp number, and a voice line.

Step 2: Receive Messages via Webhook

When someone messages your agent on any channel, EqhoIDs normalizes the message and sends it to your webhook:

{
  "agent_id": "agt_abc123",
  "channel": "telegram",
  "sender": {
    "id": "usr_xyz789",
    "name": "Alice"
  },
  "message": {
    "type": "text",
    "content": "Hey, I need help with my order"
  },
  "conversation_id": "conv_def456"
}
Enter fullscreen mode Exit fullscreen mode

The format is the same regardless of channel.

Step 3: Respond Through Any Channel

import requests

response = requests.post(
    f"https://eqhoids.com/api/v1/agents/{agent_id}/respond",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "conversation_id": conversation_id,
        "channel": "telegram",
        "message": {"type": "text", "content": "Hi! How can I help?"}
    }
)
Enter fullscreen mode Exit fullscreen mode

Beyond Communication: The Full Platform

While agent identity is the core, EqhoIDs includes additional services:

3D Model Conversion

curl -X POST https://eqhoids.com/api/v1/convert/3d \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@model.gltf" \
  -F "target_format=fbx"
Enter fullscreen mode Exit fullscreen mode

Supports GLTF, GLB, FBX, OBJ, STL, USDZ, and more.

AI Video Clips

Short-form video generation for social media automation.

Content Generation

AI-powered text content with structured outputs, tone control, and brand voice consistency.

Memory/RAG

Built-in vector storage and retrieval for agent context. Agents can persist memories across sessions and channels.

Architecture Decisions

FastAPI for the backend -- async support is essential for handling webhook deliveries.

PostgreSQL for persistent storage with JSONB for flexible message payloads.

Redis for real-time operations, caching, and rate limiting.

Paddle for payments (Stripe doesn't operate in Turkey).

Pricing

  • Free tier: Enough to prototype and test. No credit card required.
  • Paid plans: Starting at $19/month. Scales based on usage, not seats.
  • No enterprise tier: Everything is self-serve.

Try It Out

EqhoIDs is live at https://eqhoids.com. Free tier, no credit card, full API access.

I'm building in public and shipping improvements every week. If you have feedback or feature requests, I'd love to hear from you.


Built solo. Bootstrapped. Shipping fast.

Top comments (0)