[{"data":1,"prerenderedAt":1178},["ShallowReactive",2],{"content-query-CtR46sLeHV":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"layout":10,"head":11,"author":13,"tags":14,"categories":20,"date":22,"updated":23,"faq":24,"image":40,"body":41,"_type":1170,"_id":1171,"_source":1172,"_file":1173,"_stem":1174,"_extension":1175,"sitemap":1176,"readingTime":1177},"/blog/hookdeck-outpost-alternative","blog",false,"","Hookdeck Outpost Alternative: 35-Day Webhook History From $9.99, Standard Webhooks by Default","Hookdeck Outpost vs Webhook Relay for outbound webhooks: 7-day vs 35-day history, $499 vs $9.99 for 30+ days, default signature scheme, portal, destinations and self-hosting.","comparison",{"title":12},"Hookdeck Outpost Alternative (2026)","Karolis Rusenas",[15,16,17,18,19,10],"hookdeck outpost","outpost alternative","hookdeck","outbound webhooks","webhooks as a service",[21],"comparisons","2026-10-11 09:00:00","2026-10-25 09:00:00",[25,28,31,34,37],{"q":26,"a":27},"What is a good Hookdeck Outpost alternative?","Webhook Relay's Outbound Gateway is a hosted Hookdeck Outpost alternative for sending webhooks to your customers. It signs deliveries with Standard Webhooks headers by default, retries up to eight times within 48 hours, rate-limits each endpoint and keeps every attempt for 35 days on every plan, from $9.99 per month with no per-message fees. Outpost is the better fit if you need queue destinations, a tenant portal or a self-hosted open-source server.",{"q":29,"a":30},"How much does Hookdeck Outpost cost?","As of 2026-10-10, managed Outpost Starter charges $10 per million events after the first 50,000 free and keeps 7 days of history. Outpost Growth is $499 per month plus $10 per million events and keeps 30 days. Static IPs are $100 per month extra. Retries are not charged. The self-hosted Outpost server is free under the Apache 2.0 licence.",{"q":32,"a":33},"Does Hookdeck Outpost use Standard Webhooks?","Outpost supports two webhook modes. The default mode sends an x-outpost-signature header with a hex HMAC-SHA256 of the body, and a Standard Webhooks mode sends webhook-id, webhook-timestamp and webhook-signature headers. Webhook Relay always uses Standard Webhooks, so customers can verify with any Standard Webhooks library.",{"q":35,"a":36},"Can I self-host instead of using managed Outpost?","Yes, Outpost is open source under Apache 2.0 and runs as a Go binary or Docker image, but you then operate it, its storage and its message queue yourself. Webhook Relay's Outbound Gateway is hosted only and has no self-hosted version.",{"q":38,"a":39},"How do I migrate from Hookdeck Outpost to Webhook Relay?","Map Outpost tenants to Webhook Relay consumers, destinations to endpoints and topics to event types, then switch your publish calls to the Outbound Gateway API or SDK. If your customers verify Outpost's default x-outpost-signature header, they need to switch to Standard Webhooks verification, so run a dual-publish window before cutting over. If you already use Outpost's Standard Webhooks mode, receivers keep verifying the same headers, and you can import each destination's secret when you create the Webhook Relay endpoint if it is 32 to 100 base64 characters (whsec_ prefix optional), so nothing changes for them. Secrets in another format are replaced by a newly generated whsec_ secret. In the default mode you can still import a compatible secret so customers reuse their key while they add Standard Webhooks verification.","/images/blog/heroes/alternative.jpg",{"type":42,"children":43,"toc":1159},"root",[44,54,85,92,146,152,621,662,668,788,812,817,823,851,888,894,947,953,1029,1034,1040,1048,1071,1079,1102],{"type":45,"tag":46,"props":47,"children":48},"element","p",{},[49],{"type":45,"tag":50,"props":51,"children":53},"img",{"alt":52,"src":40},"Hookdeck Outpost alternative",[],{"type":45,"tag":46,"props":55,"children":56},{},[57,64,66,75,77,83],{"type":45,"tag":58,"props":59,"children":60},"strong",{},[61],{"type":62,"value":63},"text","Webhook Relay is a Hookdeck Outpost alternative for teams that want a month of delivery history without the $499 plan.",{"type":62,"value":65}," Managed Outpost Starter keeps 7 days, and 30-day retention requires ",{"type":45,"tag":67,"props":68,"children":72},"a",{"href":69,"rel":70},"https://hookdeck.com/outpost/pricing",[71],"nofollow",[73],{"type":62,"value":74},"Outpost Growth at $499/month plus $10 per million events",{"type":62,"value":76},". Webhook Relay's ",{"type":45,"tag":67,"props":78,"children":80},{"href":79},"/outbound-webhooks/",[81],{"type":62,"value":82},"Outbound Gateway",{"type":62,"value":84}," keeps 35 days on every plan from $9.99/month, signs with Standard Webhooks by default, and charges nothing per message. Outpost is ahead on destinations (SQS, Kafka, Pub/Sub and more), a tenant portal, HIPAA and open-source self-hosting.",{"type":45,"tag":86,"props":87,"children":89},"h2",{"id":88},"tldr",[90],{"type":62,"value":91},"TL;DR",{"type":45,"tag":93,"props":94,"children":95},"ul",{},[96,107,117,136],{"type":45,"tag":97,"props":98,"children":99},"li",{},[100,105],{"type":45,"tag":58,"props":101,"children":102},{},[103],{"type":62,"value":104},"Low volume, 7 days of history is enough?",{"type":62,"value":106}," Outpost Starter is very cheap: about $9.50 for a million events.",{"type":45,"tag":97,"props":108,"children":109},{},[110,115],{"type":45,"tag":58,"props":111,"children":112},{},[113],{"type":62,"value":114},"Want 30+ days of history to answer support tickets?",{"type":62,"value":116}," $9.99 on Webhook Relay vs $499+ on Outpost Growth.",{"type":45,"tag":97,"props":118,"children":119},{},[120,125,127,134],{"type":45,"tag":58,"props":121,"children":122},{},[123],{"type":62,"value":124},"Want customers to verify with any Standard Webhooks library, no config?",{"type":62,"value":126}," Webhook Relay's only scheme is Standard Webhooks. Outpost defaults to ",{"type":45,"tag":128,"props":129,"children":131},"code",{"className":130},[],[132],{"type":62,"value":133},"x-outpost-signature",{"type":62,"value":135},".",{"type":45,"tag":97,"props":137,"children":138},{},[139,144],{"type":45,"tag":58,"props":140,"children":141},{},[142],{"type":62,"value":143},"Need queue/event-bus destinations, a tenant portal, HIPAA or self-hosting?",{"type":62,"value":145}," Outpost.",{"type":45,"tag":86,"props":147,"children":149},{"id":148},"hookdeck-outpost-vs-webhook-relay",[150],{"type":62,"value":151},"Hookdeck Outpost vs Webhook Relay",{"type":45,"tag":153,"props":154,"children":155},"table",{},[156,178],{"type":45,"tag":157,"props":158,"children":159},"thead",{},[160],{"type":45,"tag":161,"props":162,"children":163},"tr",{},[164,168,173],{"type":45,"tag":165,"props":166,"children":167},"th",{},[],{"type":45,"tag":165,"props":169,"children":170},{},[171],{"type":62,"value":172},"Hookdeck Outpost (managed)",{"type":45,"tag":165,"props":174,"children":175},{},[176],{"type":62,"value":177},"Webhook Relay Outbound Gateway",{"type":45,"tag":179,"props":180,"children":181},"tbody",{},[182,201,219,237,254,299,317,335,358,383,401,424,441,458,475,497,521,543,567,585,603],{"type":45,"tag":161,"props":183,"children":184},{},[185,191,196],{"type":45,"tag":186,"props":187,"children":188},"td",{},[189],{"type":62,"value":190},"Pricing model",{"type":45,"tag":186,"props":192,"children":193},{},[194],{"type":62,"value":195},"$10 per million events after 50k free; Growth adds $499/mo",{"type":45,"tag":186,"props":197,"children":198},{},[199],{"type":62,"value":200},"Plan price by customers served; no per-message fees",{"type":45,"tag":161,"props":202,"children":203},{},[204,209,214],{"type":45,"tag":186,"props":205,"children":206},{},[207],{"type":62,"value":208},"History at entry price",{"type":45,"tag":186,"props":210,"children":211},{},[212],{"type":62,"value":213},"7 days",{"type":45,"tag":186,"props":215,"children":216},{},[217],{"type":62,"value":218},"35 days",{"type":45,"tag":161,"props":220,"children":221},{},[222,227,232],{"type":45,"tag":186,"props":223,"children":224},{},[225],{"type":62,"value":226},"Price for 30+ days of history",{"type":45,"tag":186,"props":228,"children":229},{},[230],{"type":62,"value":231},"$499/mo + $10/M",{"type":45,"tag":186,"props":233,"children":234},{},[235],{"type":62,"value":236},"$9.99/mo",{"type":45,"tag":161,"props":238,"children":239},{},[240,245,250],{"type":45,"tag":186,"props":241,"children":242},{},[243],{"type":62,"value":244},"Retries billed",{"type":45,"tag":186,"props":246,"children":247},{},[248],{"type":62,"value":249},"No",{"type":45,"tag":186,"props":251,"children":252},{},[253],{"type":62,"value":249},{"type":45,"tag":161,"props":255,"children":256},{},[257,262,271],{"type":45,"tag":186,"props":258,"children":259},{},[260],{"type":62,"value":261},"Default signature",{"type":45,"tag":186,"props":263,"children":264},{},[265],{"type":45,"tag":128,"props":266,"children":268},{"className":267},[],[269],{"type":62,"value":270},"x-outpost-signature: v0=\u003Chex HMAC of body>",{"type":45,"tag":186,"props":272,"children":273},{},[274,276,282,284,290,291,297],{"type":62,"value":275},"Standard Webhooks (",{"type":45,"tag":128,"props":277,"children":279},{"className":278},[],[280],{"type":62,"value":281},"webhook-id",{"type":62,"value":283},", ",{"type":45,"tag":128,"props":285,"children":287},{"className":286},[],[288],{"type":62,"value":289},"webhook-timestamp",{"type":62,"value":283},{"type":45,"tag":128,"props":292,"children":294},{"className":293},[],[295],{"type":62,"value":296},"webhook-signature",{"type":62,"value":298},")",{"type":45,"tag":161,"props":300,"children":301},{},[302,307,312],{"type":45,"tag":186,"props":303,"children":304},{},[305],{"type":62,"value":306},"Standard Webhooks",{"type":45,"tag":186,"props":308,"children":309},{},[310],{"type":62,"value":311},"Optional mode",{"type":45,"tag":186,"props":313,"children":314},{},[315],{"type":62,"value":316},"Always",{"type":45,"tag":161,"props":318,"children":319},{},[320,325,330],{"type":45,"tag":186,"props":321,"children":322},{},[323],{"type":62,"value":324},"Secret rotation",{"type":45,"tag":186,"props":326,"children":327},{},[328],{"type":62,"value":329},"Yes",{"type":45,"tag":186,"props":331,"children":332},{},[333],{"type":62,"value":334},"Yes, 24-hour overlap, both signatures sent",{"type":45,"tag":161,"props":336,"children":337},{},[338,343,348],{"type":45,"tag":186,"props":339,"children":340},{},[341],{"type":62,"value":342},"Idempotency",{"type":45,"tag":186,"props":344,"children":345},{},[346],{"type":62,"value":347},"Idempotency headers",{"type":45,"tag":186,"props":349,"children":350},{},[351,353],{"type":62,"value":352},"Idempotency keys on publish, stable ",{"type":45,"tag":128,"props":354,"children":356},{"className":355},[],[357],{"type":62,"value":281},{"type":45,"tag":161,"props":359,"children":360},{},[361,366,370],{"type":45,"tag":186,"props":362,"children":363},{},[364],{"type":62,"value":365},"Retry schedule",{"type":45,"tag":186,"props":367,"children":368},{},[369],{"type":62,"value":329},{"type":45,"tag":186,"props":371,"children":372},{},[373,375,381],{"type":62,"value":374},"Up to 8 attempts within 48 hours, ",{"type":45,"tag":128,"props":376,"children":378},{"className":377},[],[379],{"type":62,"value":380},"Retry-After",{"type":62,"value":382}," honoured",{"type":45,"tag":161,"props":384,"children":385},{},[386,391,396],{"type":45,"tag":186,"props":387,"children":388},{},[389],{"type":62,"value":390},"Per-endpoint isolation",{"type":45,"tag":186,"props":392,"children":393},{},[394],{"type":62,"value":395},"Not stated",{"type":45,"tag":186,"props":397,"children":398},{},[399],{"type":62,"value":400},"Each endpoint its own lane: rate limit (50/s default), concurrency, retries",{"type":45,"tag":161,"props":402,"children":403},{},[404,409,413],{"type":45,"tag":186,"props":405,"children":406},{},[407],{"type":62,"value":408},"Endpoint health",{"type":45,"tag":186,"props":410,"children":411},{},[412],{"type":62,"value":395},{"type":45,"tag":186,"props":414,"children":415},{},[416,422],{"type":45,"tag":128,"props":417,"children":419},{"className":418},[],[420],{"type":62,"value":421},"failing",{"type":62,"value":423}," state, optional auto-disable, manual pause",{"type":45,"tag":161,"props":425,"children":426},{},[427,432,436],{"type":45,"tag":186,"props":428,"children":429},{},[430],{"type":62,"value":431},"Retry / recover / replay",{"type":45,"tag":186,"props":433,"children":434},{},[435],{"type":62,"value":329},{"type":45,"tag":186,"props":437,"children":438},{},[439],{"type":62,"value":440},"Yes, dashboard, API and MCP",{"type":45,"tag":161,"props":442,"children":443},{},[444,449,453],{"type":45,"tag":186,"props":445,"children":446},{},[447],{"type":62,"value":448},"Payload transformations",{"type":45,"tag":186,"props":450,"children":451},{},[452],{"type":62,"value":249},{"type":45,"tag":186,"props":454,"children":455},{},[456],{"type":62,"value":457},"JavaScript Functions per endpoint",{"type":45,"tag":161,"props":459,"children":460},{},[461,466,470],{"type":45,"tag":186,"props":462,"children":463},{},[464],{"type":62,"value":465},"Max payload",{"type":45,"tag":186,"props":467,"children":468},{},[469],{"type":62,"value":395},{"type":45,"tag":186,"props":471,"children":472},{},[473],{"type":62,"value":474},"256 KiB JSON, one message",{"type":45,"tag":161,"props":476,"children":477},{},[478,483,487],{"type":45,"tag":186,"props":479,"children":480},{},[481],{"type":62,"value":482},"Tenant / consumer portal",{"type":45,"tag":186,"props":484,"children":485},{},[486],{"type":62,"value":329},{"type":45,"tag":186,"props":488,"children":489},{},[490,495],{"type":45,"tag":58,"props":491,"children":492},{},[493],{"type":62,"value":494},"Not yet",{"type":62,"value":496}," (next phase)",{"type":45,"tag":161,"props":498,"children":499},{},[500,505,510],{"type":45,"tag":186,"props":501,"children":502},{},[503],{"type":62,"value":504},"Destinations",{"type":45,"tag":186,"props":506,"children":507},{},[508],{"type":62,"value":509},"Webhooks, SQS, RabbitMQ, Pub/Sub, EventBridge, Kafka, Hookdeck Event Gateway",{"type":45,"tag":186,"props":511,"children":512},{},[513,515,520],{"type":62,"value":514},"HTTPS webhooks (",{"type":45,"tag":58,"props":516,"children":517},{},[518],{"type":62,"value":519},"queues next phase",{"type":62,"value":298},{"type":45,"tag":161,"props":522,"children":523},{},[524,529,534],{"type":45,"tag":186,"props":525,"children":526},{},[527],{"type":62,"value":528},"Static IPs",{"type":45,"tag":186,"props":530,"children":531},{},[532],{"type":62,"value":533},"+$100/mo",{"type":45,"tag":186,"props":535,"children":536},{},[537,541],{"type":45,"tag":58,"props":538,"children":539},{},[540],{"type":62,"value":249},{"type":62,"value":542}," for outbound",{"type":45,"tag":161,"props":544,"children":545},{},[546,551,556],{"type":45,"tag":186,"props":547,"children":548},{},[549],{"type":62,"value":550},"Compliance",{"type":45,"tag":186,"props":552,"children":553},{},[554],{"type":62,"value":555},"SOC 2; HIPAA on Growth",{"type":45,"tag":186,"props":557,"children":558},{},[559,565],{"type":45,"tag":67,"props":560,"children":562},{"href":561},"/docs/security/",[563],{"type":62,"value":564},"SOC 2 Type II",{"type":62,"value":566},"; no HIPAA/PCI",{"type":45,"tag":161,"props":568,"children":569},{},[570,575,580],{"type":45,"tag":186,"props":571,"children":572},{},[573],{"type":62,"value":574},"SDKs",{"type":45,"tag":186,"props":576,"children":577},{},[578],{"type":62,"value":579},"TypeScript, Go, Python",{"type":45,"tag":186,"props":581,"children":582},{},[583],{"type":62,"value":584},"TypeScript, Go, REST API, MCP tools",{"type":45,"tag":161,"props":586,"children":587},{},[588,593,598],{"type":45,"tag":186,"props":589,"children":590},{},[591],{"type":62,"value":592},"Open source / self-host",{"type":45,"tag":186,"props":594,"children":595},{},[596],{"type":62,"value":597},"Apache 2.0, Go binary or Docker",{"type":45,"tag":186,"props":599,"children":600},{},[601],{"type":62,"value":602},"No (hosted only)",{"type":45,"tag":161,"props":604,"children":605},{},[606,611,616],{"type":45,"tag":186,"props":607,"children":608},{},[609],{"type":62,"value":610},"Receive webhooks too",{"type":45,"tag":186,"props":612,"children":613},{},[614],{"type":62,"value":615},"Separate product (Event Gateway, from $39/mo)",{"type":45,"tag":186,"props":617,"children":618},{},[619],{"type":62,"value":620},"Same account and plan",{"type":45,"tag":46,"props":622,"children":623},{},[624],{"type":45,"tag":625,"props":626,"children":627},"em",{},[628,630,637,638,644,646,653,655,661],{"type":62,"value":629},"Outpost details from ",{"type":45,"tag":67,"props":631,"children":634},{"href":632,"rel":633},"https://hookdeck.com/outpost",[71],[635],{"type":62,"value":636},"hookdeck.com/outpost",{"type":62,"value":283},{"type":45,"tag":67,"props":639,"children":641},{"href":69,"rel":640},[71],[642],{"type":62,"value":643},"Outpost pricing",{"type":62,"value":645}," and the ",{"type":45,"tag":67,"props":647,"children":650},{"href":648,"rel":649},"https://hookdeck.com/docs/outpost/destinations/webhook",[71],[651],{"type":62,"value":652},"webhook destination docs",{"type":62,"value":654},", checked 2026-10-10/11. \"Not stated\" means we didn't find it on those pages. Webhook Relay details from the ",{"type":45,"tag":67,"props":656,"children":658},{"href":657},"/docs/outbound/",[659],{"type":62,"value":660},"Outbound Gateway docs",{"type":62,"value":135},{"type":45,"tag":86,"props":663,"children":665},{"id":664},"cost-as-you-grow",[666],{"type":62,"value":667},"Cost as you grow",{"type":45,"tag":153,"props":669,"children":670},{},[671,697],{"type":45,"tag":157,"props":672,"children":673},{},[674],{"type":45,"tag":161,"props":675,"children":676},{},[677,682,687,692],{"type":45,"tag":165,"props":678,"children":679},{},[680],{"type":62,"value":681},"Messages per month",{"type":45,"tag":165,"props":683,"children":684},{},[685],{"type":62,"value":686},"Webhook Relay (35 days)",{"type":45,"tag":165,"props":688,"children":689},{},[690],{"type":62,"value":691},"Outpost Starter (7 days)",{"type":45,"tag":165,"props":693,"children":694},{},[695],{"type":62,"value":696},"Outpost Growth (30 days)",{"type":45,"tag":179,"props":698,"children":699},{},[700,723,745,767],{"type":45,"tag":161,"props":701,"children":702},{},[703,708,713,718],{"type":45,"tag":186,"props":704,"children":705},{},[706],{"type":62,"value":707},"100,000",{"type":45,"tag":186,"props":709,"children":710},{},[711],{"type":62,"value":712},"$9.99",{"type":45,"tag":186,"props":714,"children":715},{},[716],{"type":62,"value":717},"~$0.50",{"type":45,"tag":186,"props":719,"children":720},{},[721],{"type":62,"value":722},"~$500",{"type":45,"tag":161,"props":724,"children":725},{},[726,731,735,740],{"type":45,"tag":186,"props":727,"children":728},{},[729],{"type":62,"value":730},"1,000,000",{"type":45,"tag":186,"props":732,"children":733},{},[734],{"type":62,"value":712},{"type":45,"tag":186,"props":736,"children":737},{},[738],{"type":62,"value":739},"~$9.50",{"type":45,"tag":186,"props":741,"children":742},{},[743],{"type":62,"value":744},"~$509",{"type":45,"tag":161,"props":746,"children":747},{},[748,753,757,762],{"type":45,"tag":186,"props":749,"children":750},{},[751],{"type":62,"value":752},"10,000,000",{"type":45,"tag":186,"props":754,"children":755},{},[756],{"type":62,"value":712},{"type":45,"tag":186,"props":758,"children":759},{},[760],{"type":62,"value":761},"~$100",{"type":45,"tag":186,"props":763,"children":764},{},[765],{"type":62,"value":766},"~$599",{"type":45,"tag":161,"props":768,"children":769},{},[770,775,779,783],{"type":45,"tag":186,"props":771,"children":772},{},[773],{"type":62,"value":774},"50,000,000",{"type":45,"tag":186,"props":776,"children":777},{},[778],{"type":62,"value":712},{"type":45,"tag":186,"props":780,"children":781},{},[782],{"type":62,"value":722},{"type":45,"tag":186,"props":784,"children":785},{},[786],{"type":62,"value":787},"~$999",{"type":45,"tag":46,"props":789,"children":790},{},[791],{"type":45,"tag":625,"props":792,"children":793},{},[794,796,802,804,810],{"type":62,"value":795},"List prices checked 2026-10-10 on ",{"type":45,"tag":67,"props":797,"children":799},{"href":69,"rel":798},[71],[800],{"type":62,"value":801},"hookdeck.com/outpost/pricing",{"type":62,"value":803},". Webhook Relay: ",{"type":45,"tag":67,"props":805,"children":807},{"href":806},"/pricing/",[808],{"type":62,"value":809},"$9.99 Basic",{"type":62,"value":811}," covers up to 100 customers, $79.99 Business 500, $249.99 Pro 1,000, at any of these volumes.",{"type":45,"tag":46,"props":813,"children":814},{},[815],{"type":62,"value":816},"Read this table honestly. If 7 days of history is enough, Outpost Starter costs less than Webhook Relay Basic below about 1 million events a month, and less than our Pro tier (needed above 500 customers) below about 25 million. Webhook Relay wins clearly when you want 30+ days of history, when volume grows into the tens of millions, or when you'd otherwise pay for a second product to receive webhooks.",{"type":45,"tag":86,"props":818,"children":820},{"id":819},"signatures-what-your-customers-verify",[821],{"type":62,"value":822},"Signatures: what your customers verify",{"type":45,"tag":46,"props":824,"children":825},{},[826,828,834,836,841,843,849],{"type":62,"value":827},"Outpost's ",{"type":45,"tag":67,"props":829,"children":831},{"href":648,"rel":830},[71],[832],{"type":62,"value":833},"default webhook mode",{"type":62,"value":835}," sends ",{"type":45,"tag":128,"props":837,"children":839},{"className":838},[],[840],{"type":62,"value":133},{"type":62,"value":842}," with ",{"type":45,"tag":128,"props":844,"children":846},{"className":845},[],[847],{"type":62,"value":848},"v0=",{"type":62,"value":850}," followed by a hex HMAC-SHA256 of the raw body. A Standard Webhooks mode exists and can be switched on.",{"type":45,"tag":46,"props":852,"children":853},{},[854,856,862,864,870,872,878,880,886],{"type":62,"value":855},"Webhook Relay sends only ",{"type":45,"tag":67,"props":857,"children":860},{"href":858,"rel":859},"https://www.standardwebhooks.com/",[71],[861],{"type":62,"value":306},{"type":62,"value":863}," headers. The signed content is ",{"type":45,"tag":128,"props":865,"children":867},{"className":866},[],[868],{"type":62,"value":869},"{webhook-id}.{webhook-timestamp}.{body}",{"type":62,"value":871},", which binds the timestamp into the signature and makes replayed requests detectable. Any Standard Webhooks library verifies it, and so does our free ",{"type":45,"tag":67,"props":873,"children":875},{"href":874},"/verify-standard-webhooks-signature/",[876],{"type":62,"value":877},"verifier",{"type":62,"value":879},". The ",{"type":45,"tag":67,"props":881,"children":883},{"href":882},"/docs/outbound/receiving/",[884],{"type":62,"value":885},"receiving guide",{"type":62,"value":887}," is written so you can send it straight to your customers.",{"type":45,"tag":86,"props":889,"children":891},{"id":890},"where-outpost-is-strong",[892],{"type":62,"value":893},"Where Outpost is strong",{"type":45,"tag":93,"props":895,"children":896},{},[897,907,917,927,937],{"type":45,"tag":97,"props":898,"children":899},{},[900,905],{"type":45,"tag":58,"props":901,"children":902},{},[903],{"type":62,"value":904},"Event destinations.",{"type":62,"value":906}," Delivering to customers' SQS, Kafka, Pub/Sub, EventBridge or RabbitMQ is Outpost's headline feature, and we don't do it yet.",{"type":45,"tag":97,"props":908,"children":909},{},[910,915],{"type":45,"tag":58,"props":911,"children":912},{},[913],{"type":62,"value":914},"Price per event at low retention.",{"type":62,"value":916}," $10 per million with retries free is hard to beat if 7 days is enough.",{"type":45,"tag":97,"props":918,"children":919},{},[920,925],{"type":45,"tag":58,"props":921,"children":922},{},[923],{"type":62,"value":924},"Tenant portal",{"type":62,"value":926}," for customers to manage and debug destinations.",{"type":45,"tag":97,"props":928,"children":929},{},[930,935],{"type":45,"tag":58,"props":931,"children":932},{},[933],{"type":62,"value":934},"Open source.",{"type":62,"value":936}," Apache 2.0, with the same code as the managed service.",{"type":45,"tag":97,"props":938,"children":939},{},[940,945],{"type":45,"tag":58,"props":941,"children":942},{},[943],{"type":62,"value":944},"HIPAA",{"type":62,"value":946}," on Growth.",{"type":45,"tag":86,"props":948,"children":950},{"id":949},"where-webhook-relay-is-different",[951],{"type":62,"value":952},"Where Webhook Relay is different",{"type":45,"tag":93,"props":954,"children":955},{},[956,966,984,994,1012],{"type":45,"tag":97,"props":957,"children":958},{},[959,964],{"type":45,"tag":58,"props":960,"children":961},{},[962],{"type":62,"value":963},"History you can support customers with.",{"type":62,"value":965}," 35 days of every attempt, request headers and response, on every plan, so \"did you send it last month?\" has an answer.",{"type":45,"tag":97,"props":967,"children":968},{},[969,974,976,982],{"type":45,"tag":58,"props":970,"children":971},{},[972],{"type":62,"value":973},"Per-endpoint lanes.",{"type":62,"value":975}," One customer's dead endpoint never delays another's deliveries. Failing endpoints are tracked, optionally auto-disabled, and ",{"type":45,"tag":67,"props":977,"children":979},{"href":978},"/docs/outbound/operating/#recover-failed-deliveries-and-replay-missed-ones",[980],{"type":62,"value":981},"recovered in bulk",{"type":62,"value":983}," when they come back.",{"type":45,"tag":97,"props":985,"children":986},{},[987,992],{"type":45,"tag":58,"props":988,"children":989},{},[990],{"type":62,"value":991},"Producer-side transforms.",{"type":62,"value":993}," Attach a JavaScript Function to one customer's endpoint to reshape the payload or drop events they don't want.",{"type":45,"tag":97,"props":995,"children":996},{},[997,1002,1004,1010],{"type":45,"tag":58,"props":998,"children":999},{},[1000],{"type":62,"value":1001},"One account for both directions.",{"type":62,"value":1003}," Receive Stripe or GitHub webhooks, forward them to localhost or a private network, run tunnels, and send your own webhooks, on one plan. Test your outbound endpoint against the free ",{"type":45,"tag":67,"props":1005,"children":1007},{"href":1006},"/webhook-bin/",[1008],{"type":62,"value":1009},"Webhook Bin",{"type":62,"value":1011}," with injected failures to watch retries happen.",{"type":45,"tag":97,"props":1013,"children":1014},{},[1015,1020,1022,1028],{"type":45,"tag":58,"props":1016,"children":1017},{},[1018],{"type":62,"value":1019},"Agent-operable.",{"type":62,"value":1021}," Every outbound operation is an ",{"type":45,"tag":67,"props":1023,"children":1025},{"href":1024},"/docs/outbound/operating/#mcp-tools-and-the-dashboard-agent",[1026],{"type":62,"value":1027},"MCP tool",{"type":62,"value":135},{"type":45,"tag":46,"props":1030,"children":1031},{},[1032],{"type":62,"value":1033},"What we don't have yet: a customer portal, queue destinations, static IPs for outbound, a self-hosted version, a Python SDK, HIPAA/PCI, and more than 1,000 customers per account.",{"type":45,"tag":86,"props":1035,"children":1037},{"id":1036},"when-to-pick-which",[1038],{"type":62,"value":1039},"When to pick which",{"type":45,"tag":46,"props":1041,"children":1042},{},[1043],{"type":45,"tag":58,"props":1044,"children":1045},{},[1046],{"type":62,"value":1047},"Choose Hookdeck Outpost if:",{"type":45,"tag":93,"props":1049,"children":1050},{},[1051,1056,1061,1066],{"type":45,"tag":97,"props":1052,"children":1053},{},[1054],{"type":62,"value":1055},"your customers want events in their queues or event buses, not only HTTPS,",{"type":45,"tag":97,"props":1057,"children":1058},{},[1059],{"type":62,"value":1060},"you need a tenant portal today, HIPAA, static IPs or a Python SDK,",{"type":45,"tag":97,"props":1062,"children":1063},{},[1064],{"type":62,"value":1065},"you want to self-host an Apache 2.0 server,",{"type":45,"tag":97,"props":1067,"children":1068},{},[1069],{"type":62,"value":1070},"7 days of history is enough and you want the lowest per-event price.",{"type":45,"tag":46,"props":1072,"children":1073},{},[1074],{"type":45,"tag":58,"props":1075,"children":1076},{},[1077],{"type":62,"value":1078},"Choose Webhook Relay if:",{"type":45,"tag":93,"props":1080,"children":1081},{},[1082,1087,1092,1097],{"type":45,"tag":97,"props":1083,"children":1084},{},[1085],{"type":62,"value":1086},"you want 30+ days of delivery history without a $499 plan,",{"type":45,"tag":97,"props":1088,"children":1089},{},[1090],{"type":62,"value":1091},"you want Standard Webhooks with no configuration,",{"type":45,"tag":97,"props":1093,"children":1094},{},[1095],{"type":62,"value":1096},"your volume is growing and you want a bill that doesn't track message count,",{"type":45,"tag":97,"props":1098,"children":1099},{},[1100],{"type":62,"value":1101},"you also receive webhooks or need delivery into private networks.",{"type":45,"tag":46,"props":1103,"children":1104},{},[1105,1107,1113,1115,1120,1122,1128,1130,1135,1137,1142,1144,1150,1152,1158],{"type":62,"value":1106},"Moving off Outpost? In Standard Webhooks mode, import each destination's secret if it fits the format (32-100 base64 characters, ",{"type":45,"tag":128,"props":1108,"children":1110},{"className":1109},[],[1111],{"type":62,"value":1112},"whsec_",{"type":62,"value":1114}," optional) and receivers keep working; in the default ",{"type":45,"tag":128,"props":1116,"children":1118},{"className":1117},[],[1119],{"type":62,"value":133},{"type":62,"value":1121}," mode, receivers add Standard Webhooks verification but can keep their key. Follow the ",{"type":45,"tag":67,"props":1123,"children":1125},{"href":1124},"/docs/outbound/migrate/hookdeck-outpost/",[1126],{"type":62,"value":1127},"Hookdeck Outpost migration guide",{"type":62,"value":1129},". The Outbound Gateway is generally available on the Basic, Business and Pro plans. To start, ",{"type":45,"tag":67,"props":1131,"children":1132},{"href":79},[1133],{"type":62,"value":1134},"see how outbound webhooks work",{"type":62,"value":1136}," or read the ",{"type":45,"tag":67,"props":1138,"children":1139},{"href":657},[1140],{"type":62,"value":1141},"docs",{"type":62,"value":1143},". For Hookdeck's inbound product, see ",{"type":45,"tag":67,"props":1145,"children":1147},{"href":1146},"/blog/hookdeck-alternative/",[1148],{"type":62,"value":1149},"Hookdeck alternative",{"type":62,"value":1151},"; for every option side by side, see ",{"type":45,"tag":67,"props":1153,"children":1155},{"href":1154},"/blog/webhooks-as-a-service-comparison/",[1156],{"type":62,"value":1157},"webhooks as a service compared",{"type":62,"value":135},{"title":7,"searchDepth":1160,"depth":1160,"links":1161},3,[1162,1164,1165,1166,1167,1168,1169],{"id":88,"depth":1163,"text":91},2,{"id":148,"depth":1163,"text":151},{"id":664,"depth":1163,"text":667},{"id":819,"depth":1163,"text":822},{"id":890,"depth":1163,"text":893},{"id":949,"depth":1163,"text":952},{"id":1036,"depth":1163,"text":1039},"markdown","content:blog:hookdeck-outpost-alternative.md","content","blog/hookdeck-outpost-alternative.md","blog/hookdeck-outpost-alternative","md",{"loc":4},5,1792953555030]