{"uid":"cap_tE1Oi52R8VtYsBc5szB_i","slug":"senti-webhook-watch-persistent-event-observer-a67470b8","name":"Senti Webhook Watch — Persistent Event Observer","description":"Five agent-ready resources sold per call through x402, including Senti: a persistent webhook observer that survives the agent session.","url":"https://unsaid-archive.vandurmedries.chatgpt.site/api/x402/senti-watch","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["label"],"properties":{"label":{"type":"string","example":"proposal accepted","maxLength":80,"minLength":2},"matchField":{"type":"string","example":"data.status","maxLength":120,"minLength":1},"matchEquals":{"type":"string","example":"accepted","maxLength":160},"expiresInHours":{"type":"integer","example":168,"maximum":168,"minimum":1}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":{"type":"json","example":{"status":"waiting","watchId":"example-watch-id","inboxUrl":"https://example.com/api/senti/inbox/...","expiresAt":"2026-09-03T20:00:00.000Z","statusUrl":"https://example.com/api/senti/status/..."}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.03","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.03/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.03","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.03","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_SaJz8Fbp3kyAMnkGv-15I","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.03","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Registers a persistent webhook observer that monitors an inbox for matching events and survives the agent session, returning a watchId and statusUrl for later polling.","exampleAgentPrompt":"Set up a Senti watch labeled 'proposal accepted' that monitors for incoming webhooks where data.status equals 'accepted', and keep it alive for 48 hours so I can check the result later even after this session ends.","exampleUseCases":[{"title":"Wait for contract signature webhook","prompt":"Create a persistent Senti webhook watcher labeled 'contract signed' that triggers when data.event equals 'signature_complete' — keep it open for 72 hours so I can poll the statusUrl after this session."},{"title":"Monitor payment confirmation event","prompt":"Set up a Senti watch called 'payment received' that watches for webhooks where data.status equals 'paid', and let it run for 24 hours — give me the inboxUrl to forward to my payment provider."},{"title":"Track CRM deal stage change","prompt":"Register a Senti webhook observer labeled 'deal closed' that matches on data.stage equaling 'closed_won', valid for 168 hours, so my automation can check the statusUrl later to confirm the deal was captured."}],"resultDescription":"Returns a JSON object with status ('waiting'), a unique watchId, an inboxUrl where external services can POST events, an expiresAt timestamp indicating when the watcher expires, and a statusUrl the agent can poll later to check whether a matching event was received.","failureModes":["Missing required 'label' query parameter returns a validation error","label shorter than 2 or longer than 80 characters rejected","expiresInHours exceeding 168 or below 1 rejected","matchField exceeding 120 characters rejected","matchEquals exceeding 160 characters rejected","Payment failure via x402 results in 402 response with no watcher created","Server-side errors may return 500 with no watchId issued"],"whenToPreferThis":"Choose Senti Watch when you need an event listener that outlasts the current agent session — especially for async workflows where an external system (payment processor, CRM, form handler) will POST a webhook sometime in the future and you need to correlate the response later. Prefer this over polling-based approaches or short-lived in-memory listeners when session continuity is not guaranteed.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:38:49.162Z","isFirstParty":false}