T TelemHQ

Sending PingspingA request sent to TelemHQ after a job runs. A ping can be a simple heartbeat or include JSON payload data about what happened.View glossary entrySource: TelemHQ docs to TelemHQ

Track scheduled jobsscheduled jobA background task expected to run at predictable times. If it misses its expected window, TelemHQ can mark the tracker as failing.View glossary entrySource: AWS EventBridge Scheduler docs, AIAISoftware that performs tasks normally associated with human judgment, language understanding, or pattern matching. In TelemHQ, AI usually means jobs that call a model, agent, or coding tool.View glossary entrySource: Google Cloud Generative AI glossary pipelinespipelineA sequence of automated steps that moves data or work from one stage to another. AI pipelines often include retrieval, model calls, post-processing, and reporting.View glossary entrySource: GitHub Actions CI docs, workersworkerA background process that performs work outside the main request path, such as syncing data, generating reports, or running AI tasks.View glossary entrySource: GitHub Actions CI docs, scripts, and data syncs with one HTTPHTTPThe web protocol used for requests and responses. TelemHQ ping URLs receive HTTP requests from jobs after they run.View glossary entrySource: MDN glossary request.

The Basics

Each trackertrackerA monitored job, AI pipeline, worker, script, or automation in TelemHQ. Each tracker has its own ping URL and run history.View glossary entrySource: TelemHQ docs has a unique ping URL. Send a POST request after your job runs. Add a JSONJSONA common text format for structured data. TelemHQ accepts JSON payloads so jobs can report fields like status, tokens, duration, and cost.View glossary entrySource: MDN glossary body when you want TelemHQ to store metrics like tokenstokensThe pieces of text an AI model processes. Token counts are often used to measure usage and calculate model cost.View glossary entrySource: OpenAI token guide, costcostThe money associated with a run, often estimated from token usage and provider pricing. TelemHQ can store cost fields when your job sends them.View glossary entrySource: OpenAI token guide, duration, records processed, error counts, or custom fields.

POSTPOSTAn HTTP method used to send data to a server. TelemHQ pings use POST when a job reports a run and optional payload.View glossary entrySource: MDN HTTP docs https://telemhq.com/ping/YOUR_TRACKING_TOKEN

PayloadpayloadThe structured data sent with a request. In TelemHQ, payloads should contain safe operational metadata, not prompts, completions, secrets, customer data, or private paths.View glossary entrySource: MDN API glossary Example

Payloads are optional, but they are the fastest way to turn a heartbeatheartbeatA lightweight signal that proves a job checked in. TelemHQ extends heartbeats with payload data so the run can explain what happened.View glossary entrySource: TelemHQ docs into a useful run log.

{
  "status": "success",
  "duration": 1500,
  "records_processed": 450,
  "errors": 0
}

A browser GETGETAn HTTP method usually used to retrieve data. In TelemHQ docs, GET requests are used for pages and read-style endpoints.View glossary entrySource: MDN HTTP docs request to a ping URL returns endpointendpointA specific URL where an API receives requests. A TelemHQ tracking URL is the endpoint your job calls after it runs.View glossary entrySource: MDN API glossary instructions. POST requests record runs.

Shell / Bash

Simple Ping

curl -X POST https://telemhq.com/ping/YOUR_TOKEN

Ping with MetadatametadataData about a run rather than the private content of the run itself, such as model name, duration, branch, item counts, or token totals.View glossary entrySource: MDN API glossary

curl -X POST https://telemhq.com/ping/YOUR_TOKEN \
  -H "Content-Type: application/json" \
  -d '{"duration": 1500, "status": "success"}'

Node.js

Simple Ping

const axios = require('axios');
async function runJob() {
  // ... run your job logic ...
  
  await axios.post('https://telemhq.com/ping/YOUR_TOKEN');
}

runJob();

Ping with Metadata

const axios = require('axios');

async function runJob() {
  try {
    // ... run your job logic ...

    await axios.post('https://telemhq.com/ping/YOUR_TOKEN', {
      duration: 120,
      items: 50,
      status: 'success'
    });
  } catch (error) {
    console.error(error);
  }
}

runJob();

Python

Simple Ping

import requests

# ... do work ...

requests.post('https://telemhq.com/ping/YOUR_TOKEN')

Ping with Metadata

import requests
import time

start_time = time.time()

# ... do work ...

duration = time.time() - start_time

requests.post('https://telemhq.com/ping/YOUR_TOKEN', json={
  'duration': duration,
  'status': 'complete'
})

PHP

Simple Ping

$url = 'https://telemhq.com/ping/YOUR_TOKEN';

// ... do work ...

file_get_contents($url, false, stream_context_create([
  'http' => ['method' => 'POST', 'timeout' => 10]
]));

Ping with Metadata

$url = 'https://telemhq.com/ping/YOUR_TOKEN';
$data = ['records' => 500, 'memory' => memory_get_usage()];

$options = [
  'http' => [
    'header' => "Content-type: application/json\r\n",
    'method' => 'POST',
    'content' => json_encode($data),
    'timeout' => 10
  ]
];

$context = stream_context_create($options);
file_get_contents($url, false, $context);

Go

Simple Ping

package main

import "net/http"

func main() {
  // ... run job ...
  
  http.Post("https://telemhq.com/ping/YOUR_TOKEN", "application/json", nil)
}

Ping with Metadata

package main

import (
  "bytes"
  "encoding/json"
  "net/http"
)

func main() {
  // ... run job ...
  
  values := map[string]interface{}{
    "status": "ok",
    "duration": 120
  }
  jsonData, _ := json.Marshal(values)
  
  http.Post("https://telemhq.com/ping/YOUR_TOKEN", "application/json",
    bytes.NewBuffer(jsonData))
}

AI Pipeline Guides

Use the provider guides when you want copy-paste examples for token usage, modelmodelThe AI system that processes input and returns output. For monitoring, the model name helps explain which tool or provider produced a run and how its token usage should be priced.View glossary entrySource: Anthropic model docs names, latencylatencyHow long a request or job takes to respond. AI job latency helps teams spot slow model calls, overloaded workers, or expensive retries.View glossary entrySource: MDN glossary, quality scores, and output counts.

Payload AssertionsassertionA rule that checks payload data after a run. Assertions can flag a job as unhealthy even if the process technically completed.View glossary entrySource: TelemHQ docs

Assertions mark a tracker as failing when the job pings but the payload does not match the expected shape. They are useful for AI jobs that finish successfully at the process level but process zero items, exceed a cost budget, or fail a quality threshold.

Common AI checks

  • status = success
  • items_processed > 0
  • items_failed = 0
  • cost_usd <= 5
  • eval_score >= 0.8

Supported operators

Equals, not equals, greater than, greater or equal, less than, less or equal, one of, and regex. Dot paths are supported, so usage.input_tokens can read nested JSON.

{
  "provider": "openai",
  "model": "gpt-4.1-mini",
  "status": "success",
  "input_tokens": 8120,
  "output_tokens": 940,
  "cost_usd": 0.42,
  "items_processed": 128,
  "items_failed": 0,
  "eval_score": 0.91
}

Outgoing WebhookswebhookAn HTTP callback sent when an event happens. TelemHQ can use outgoing webhooks to notify another system about tracker events.View glossary entrySource: MDN API glossary

PRO

See our dedicated Webhooks Documentation for full configuration details and payload examples.