AgentPing slots in wherever you're already building agents. If your stack isn't on the list, the webhook works from anything that can curl.
Anthropic and OpenAI are wrapped natively by the SDK; everything else uses the wrap-and-emit pattern, which is ten lines of code and the same usage block your provider's SDK already returns.
Native auto-instrumentation. Messages API, streaming, tool use, prompt cache hits all captured.
Read the docs →Native auto-instrumentation. chat.completions, responses, streaming, function calling, Azure OpenAI.
Read the docs →Native auto-instrumentation. generate_content, streaming, embed_content, cache hits.
Read the docs →Native auto-instrumentation. Converse, ConverseStream, InvokeModel. Claude, Llama, Mistral, Nova, Cohere.
Read the docs →Native auto-instrumentation. chat.complete + streaming. OpenAI-shaped usage block.
Read the docs →Native auto-instrumentation. chat, chat_stream, embed. Uses billed_units (matches invoice).
Read the docs →Each framework exposes a hook or callback shape the AgentPing SDK can plug into. One handler captures every LLM call across every provider the framework switches between, including tool use and multi-agent handoffs.
Native callback handler. Fires on every LLM call, tool invocation, and chain error. Provider auto-inferred.
Read the docs →Native callback handler. Fires on every LLM call, embedding, retrieve, and exception in the pipeline.
Read the docs →Spread withAgentPing() into streamText / generateText. Auto-detects provider and model from response.modelId.
Read the docs →instrument_pydantic_ai() patches Agent.run; aggregated usage with provider-aware pricing across mixed-model agents.
Read the docs →instrument_crewai() patches Crew.kickoff; emits crew-level usage_metrics: prompt, cached, completion, requests.
Read the docs →AgentPingHooks implements RunHooks; emits llm_call, tool_call, and handoff for the full multi-agent trace.
Read the docs →Composer install. Service provider auto-listens for AgentPrompted, AgentStreamed, and EmbeddingsGenerated events. Zero code changes.
Read the docs →The webhook pattern works from anything: GitHub Actions runners, n8n, Make, Zapier, Claude Routines, or a one-line curl in your crontab. Schedule monitoring is on the AgentPing side, so a missed cron pages you whether or not your runtime notices.
Add one curl step at the end of the routine prompt. Schedule monitoring on the AgentPing side.
Read the docs →One final step with curl + the AGENTPING_PING_TOKEN secret. if: always() handles success and failure.
Read the docs →HTTP Request node on success and error paths. Use $execution.id for idempotency.
Read the docs →HTTP module with connection variable for the token. Error routes wire status=fail.
Read the docs →Webhook action at the end of a Zap. One Zap, one agent, one heartbeat.
Read the docs →A curl line in your crontab. The lowest-common-denominator integration.
Read the docs →
The webhook is a plain HTTP call against https://api.agentping.io/v1/ping. Any tool, language, or runtime that can make an authenticated request can fire a heartbeat. See the curl docs or API reference to roll your own.