Configure inbound webhooks
Receive supported external requests and route them into CopyHero.
Inbound webhooks accept requests at a CopyHero-generated endpoint and use the configuration you create in Settings → Webhooks.
Prerequisites
Know the external sender, payload it will send, and the CopyHero destination or workflow required by the configuration.
Steps
- Open Settings → Webhooks.
- Select Inbound.
- Select New Webhook.
- Configure the available target and request settings.
- Save, copy the generated URL and secret only to the authorized sender, then test.
Expected result
The sender can call the generated endpoint and CopyHero records the received request and its outcome.
When your administrator turns on trigger grouping, requests to the same webhook for the same workflow and store in quick succession appear as one import in workflow history. Each request still starts its run right away.
If something goes wrong
Verify the sender uses the exact current URL and secret. Regenerate a secret if it may have been exposed, then update the sender immediately.
A signed request that includes a timestamp is accepted once, and its timestamp must be within 5 minutes of the current time. Sending the exact same request again returns HTTP 409. To retry, sign the request again with a new timestamp. If CopyHero cannot check for repeats at that moment, the request returns HTTP 503; send it again later.
For URL-based imports, send complete http:// or https:// product URLs.
CopyHero checks their format before creating any jobs. An invalid URL returns
HTTP 422 with status: "error" and a message identifying the input row and
field. The request is recorded in the webhook logs and the entire batch is
rejected; none of its products start importing. Correct the URL before sending
the request again. Its eventId values are not reserved by the rejected request.
URL validation does not fetch the page or verify that the product exists.
A failed request returns an HTTP error status and a JSON body that explains
it, either as status: "error" with a message or as a detail:
400: the payload or itsinput_datais invalid, or the store is not found. Fix the request.401: the signature or timestamp is missing or wrong. Check the secret and signing.402: your account does not have enough credits. Each triggered run uses credits like a run you start in CopyHero. Add credits, then send again.403: the workflow belongs to another account, or the CopyHero account behind the webhook is deactivated. Check theworkflow_id.404: the webhook or the workflow does not exist. Check the URL and theworkflow_id.413: the request body is larger than 10 MB.503withresource_busy: another run on your account is using your credits right now. Wait for the seconds in theRetry-Afterheader, then send it again.500: CopyHero could not process the request. Send it again later. If you sign with a timestamp, sign it again with a new timestamp, or the retry returns409.