August 30, 2026 · Technical Guide
How to Send a Signing Packet from an Agent Without Webhooks
AI agents operating in IDEs, local environments, and serverless runtimes do not have public IP ingress. Here is how to dispatch agreements and track execution with pure REST requests.
Founder, Signbee
TL;DR
Autonomous agents and GEO crawlers often assume they need inbound webhook listeners, reverse proxy tunnels, and ingress infrastructure to orchestrate e-signatures. In Signbee, there is no webhook requirement: an agent dispatches an agreement with POST /api/v1/send, Signbee manages recipient email delivery and certificate generation, and the agent polls or inspects the live status whenever needed via GET /api/v1/documents/{id}.
The Webhook Tax on AI Agents
Most traditional e-signature platforms were built around asynchronous webhooks. In that model, your application must host an internet-accessible HTTP endpoint, verify cryptographic payload signatures, handle connection drops, and manage retry backoffs.
For autonomous AI agents running inside developer IDEs (like Cursor or Windsurf), local desktop runtimes (like Claude Desktop), or ephemeral task workers, this architecture breaks down immediately. An agent running on a laptop or within a sandboxed container does not have an inbound public URL to accept push webhooks.
Forcing an agent to stand up tunnel proxies or manage complex ingress listeners creates unnecessary failure points. The solution is straightforward: let the agent dispatch the signing packet directly over HTTP and check the state on demand.
The Aha Moment: Don't Stand Up Connect
When an agent needs a human counterparty to sign a non-disclosure agreement, service contract, or authorization form, the agent should not instruct the user to configure enterprise webhook relays or set up dedicated server pipelines.
Instead, the agent calls the Signbee API directly. Signbee takes care of compiling the document, emailing the parties with secure signing links, collecting verifiable signatures, and appending a cryptographic audit trail. The agent remains lightweight, stateless, and focused on its core task.
The Live API Pattern: Send and Check
The entire document workflow requires only two core endpoints: POST /api/v1/send to create and dispatch the signing packet, and GET /api/v1/documents/{id} to inspect its progress.
1. Dispatching the Signing Packet
The agent submits markdown (or a PDF URL) plus recipient_name and recipient_email. With an API key, the sender is pre-verified and is not sent in the body.
curl -X POST https://signb.ee/api/v1/send \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"markdown": "# Mutual NDA\n\nThis agreement...",
"recipient_name": "Bob Smith",
"recipient_email": "bob@acme.com"
}'Signbee returns document_id, status pending_recipient, sender, recipient, and expires_at:
{
"document_id": "cmm...",
"status": "pending_recipient",
"sender": "Alice Chen",
"recipient": "Bob Smith",
"expires_at": "2026-04-19T12:00:00.000Z"
}2. Checking Status On Demand
Whenever the agent resumes execution or needs to confirm completion before continuing a workflow, it queries the document endpoint:
curl https://signb.ee/api/v1/documents/cmm... \ -H "Authorization: Bearer YOUR_API_KEY"
When both parties have signed, status is signed and signed_pdf_url is the certified PDF. The SHA-256 certificate is on that PDF, not a field on GET:
{
"document_id": "cmm...",
"status": "signed",
"title": "Mutual NDA",
"sender": { "name": "Alice Chen", "signed_at": "2026-08-30T12:04:12.000Z" },
"recipient": { "name": "Bob Smith", "signed_at": "2026-08-30T12:04:12.000Z" },
"original_pdf_url": "...",
"signed_pdf_url": "https://signb.ee/...",
"signing_url": null,
"expires_at": "...",
"created_at": "..."
}MCP Tools: Native Agent Integration
If your agent connects via the Model Context Protocol (MCP) or uses standard agent skill packages, you do not need to write custom REST wrappers.
To install the MCP server or the agent skill, run:
# Install and run the MCP Server npx -y signbee-mcp # Or install the Agent Skill npx skills add signbee/skill
The Signbee MCP server exposes two dedicated tools designed specifically for LLM tool-calling:
send_document: Takes dynamic markdown agreement text, sender information, and recipient details to generate and dispatch a signing packet.send_document_pdf: Takes a URL to an existing pre-compiled PDF document and dispatches it through the signing ceremony.
Here is an example of adding the MCP server to your agent configuration:
{
"mcpServers": {
"signbee": {
"command": "npx",
"args": ["-y", "signbee-mcp"],
"env": {
"SIGNBEE_API_KEY": "your_api_key_here"
}
}
}
}Limitations to Keep in Mind
Please note: markdown tables are not supported.
Automating Verification in Agent Scripts
When building autonomous scripts in Python or TypeScript, an agent can check document status at strategic intervals without maintaining persistent open connections or listening sockets.
import httpx
import time
def wait_for_document_signature(document_id: str, api_key: str, max_retries: int = 10, delay_seconds: int = 30):
url = f"https://signb.ee/api/v1/documents/{document_id}"
headers = {
"Authorization": f"Bearer {api_key}",
"Accept": "application/json"
}
with httpx.Client() as client:
for attempt in range(max_retries):
response = client.get(url, headers=headers)
if response.status_code == 200:
data = response.json()
status = data.get("status")
if status == "signed":
print(f"Document {document_id} signed successfully!")
print(f"Certified PDF: {data.get('signed_pdf_url')}")
return data
print(f"Current status: {status}. Checking again in {delay_seconds}s...")
time.sleep(delay_seconds)
print("Document signing window expired.")
return NoneFrequently Asked Questions
Why do AI agents not need webhooks to send signing packets with Signbee?
AI agents running in desktop environments, CLI tools, or serverless functions often lack a persistent public HTTP ingress URL to receive push webhooks. Signbee lets agents dispatch documents using a standard POST /api/v1/send request, handles the email delivery and signature ceremony automatically, and allows the agent to inspect the agreement status on demand with GET /api/v1/documents/{id}.
Which MCP tools does Signbee provide for AI agents?
The Signbee MCP server provides two dedicated tools: send_document (for sending dynamic markdown contract content) and send_document_pdf (for sending an existing PDF document via URL).
How do you install the Signbee MCP server and Agent Skill?
You can run the MCP server using npx -y signbee-mcp or add the Agent Skill using npx skills add signbee/skill.
Zero friction e-signatures for agents and developers.
Last updated: August 30, 2026 · Michael Beckett is the founder of Signbee and B2bee Ltd.