---
title: "Verify duplicate sandbox webhooks create one result"
description: "Test a prepared duplicate webhook delivery against an owned integration, checking one downstream record and a traceable duplicate handling outcome."
canonical_url: "https://vostride.com/agent-library/integrations-sync/duplicate-webhook-delivery.md"
md_url: "https://vostride.com/agent-library/integrations-sync/duplicate-webhook-delivery.md"
content_kind: "recipe"
topic: "integrations-sync"
---

# Verify duplicate sandbox webhooks create one result

Test a prepared duplicate webhook delivery against an owned integration, checking one downstream record and a traceable duplicate handling outcome.

## Risk

Webhook delivery is commonly repeatable, so successful acknowledgments alone cannot prove correct processing. Correlate a stable event identifier with downstream effects and distinguish duplicate transport from duplicate logical work.

## Fixtures

- An owned sandbox integration with a disposable workspace and a harmless source event that creates one task.
- An external webhook fixture prepared to deliver the identical authorized event twice with the same event identifier and recorded payload digest.
- A read-only integration ledger and task oracle exposing processed event identities and created task identifiers.

## Steps

1. Open integration activity and verify the connector is bound to the intended sandbox workspace with no previous fixture event.
2. Deliver the first event through the external fixture and verify one matching task appears with its expected source reference.
3. Deliver the identical event again and verify the task list still contains one logical result while activity shows the documented duplicate or replay outcome.
4. Inspect the independent ledger and task oracle and verify both deliveries map to one processed logical event and one downstream task with unchanged content.

## Expected results

- The stable event identifier has one effective processing outcome.
- Exactly one task carries the expected source reference and payload fields.
- The second delivery is handled without an extra task or unrelated update.

## False-pass traps

- A successful webhook acknowledgment can accompany duplicate downstream side effects.
- Changing the event identifier on the second delivery tests two events rather than an identical replay.

## Cleanup

- Delete the sandbox task and remove the fixture event and delivery records according to test-retention policy.

## Use with agent-qa

Adapt this test design to your application's acceptance criteria and configured target using the [recipe execution guide](/agent-library/software-factory/turn-a-recipe-into-an-agent-qa-test.md). External fixture setup and non-UI checks require your own supported hooks or test tooling. Validate the authored test, execute it, and inspect the completed evidence; this recipe is not a recorded test result.

## References

- [agent-qa first test](/docs/agent-qa/guides/first-test.md)
- [agent-qa hooks](/docs/agent-qa/guides/hooks.md)
- [agent-qa test](/docs/agent-qa/configuration/test.md)

- [Integration and synchronization QA recipes](/agent-library/integrations-sync.md)
- [Software factory QA library](/agent-library.md)
