Convoy · Arazzo Workflow

Convoy Retry a Failed Delivery

Version 1.0.0

Find a failed event delivery, retry it, and inspect the resulting delivery attempts.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub WebhookWebhook GatewayEvent DeliveryEventingMessagingIntegrationAPI InfrastructureArazzoWorkflows

Provider

convoy

Workflows

retry-failed-delivery
Locate a failed delivery, retry it, and review its delivery attempts.
Lists event deliveries filtered to the Failure status, branches when a failed delivery is found, retries that delivery, and lists the delivery attempts so the retry result can be inspected.
3 steps inputs: apiKey, projectID outputs: deliveryStatus, failedDeliveryId, latestAttemptHttpStatus
1
findFailedDelivery
List event deliveries filtered to the Failure status and branch only when a failed delivery is found.
2
retryDelivery
Retry the matched failed event delivery.
3
inspectAttempts
List the delivery attempts for the retried delivery to inspect the outcome of the retry.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Convoy Retry a Failed Delivery
  summary: Find a failed event delivery, retry it, and inspect the resulting delivery attempts.
  description: >-
    A targeted remediation flow for a single failed webhook delivery. It lists
    failed event deliveries for the project, branches only when a failure
    exists, retries the first matched delivery, and then reads the delivery
    attempts to inspect the retry outcome. Every step spells out its request
    inline so the flow can be read and executed without opening the underlying
    OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-4270.80
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-4270.80
      capability_name: Webhook & Event Subscription Management
      spec: convoy-event-deliveries-api-openapi.yml
      confidence: 0.85
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: deliveryAttemptsApi
  url: ../openapi/convoy-delivery-attempts-api-openapi.yml
  type: openapi
- name: eventDeliveriesApi
  url: ../openapi/convoy-event-deliveries-api-openapi.yml
  type: openapi
workflows:
- workflowId: retry-failed-delivery
  summary: Locate a failed delivery, retry it, and review its delivery attempts.
  description: >-
    Lists event deliveries filtered to the Failure status, branches when a
    failed delivery is found, retries that delivery, and lists the delivery
    attempts so the retry result can be inspected.
  inputs:
    type: object
    required:
    - apiKey
    - projectID
    properties:
      apiKey:
        type: string
        description: Convoy API key used as the Bearer token on the Authorization header.
      projectID:
        type: string
        description: The Convoy project identifier.
  steps:
  - stepId: findFailedDelivery
    description: >-
      List event deliveries filtered to the Failure status and branch only when
      a failed delivery is found.
    operationId: GetEventDeliveriesPaged
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.apiKey
    - name: projectID
      in: path
      value: $inputs.projectID
    - name: status
      in: query
      value:
      - Failure
    - name: perPage
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      failedDeliveryId: $response.body#/data/content/0/uid
    onSuccess:
    - name: failureFound
      type: goto
      stepId: retryDelivery
      criteria:
      - context: $response.body
        condition: $.data.content.length > 0
        type: jsonpath
  - stepId: retryDelivery
    description: >-
      Retry the matched failed event delivery.
    operationId: ResendEventDelivery
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.apiKey
    - name: projectID
      in: path
      value: $inputs.projectID
    - name: eventDeliveryID
      in: path
      value: $steps.findFailedDelivery.outputs.failedDeliveryId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      deliveryStatus: $response.body#/data/status
  - stepId: inspectAttempts
    description: >-
      List the delivery attempts for the retried delivery to inspect the
      outcome of the retry.
    operationId: GetDeliveryAttempts
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.apiKey
    - name: projectID
      in: path
      value: $inputs.projectID
    - name: eventDeliveryID
      in: path
      value: $steps.findFailedDelivery.outputs.failedDeliveryId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      latestAttemptStatus: $response.body#/data/0/status
      latestAttemptHttpStatus: $response.body#/data/0/http_status
  outputs:
    failedDeliveryId: $steps.findFailedDelivery.outputs.failedDeliveryId
    deliveryStatus: $steps.retryDelivery.outputs.deliveryStatus
    latestAttemptHttpStatus: $steps.inspectAttempts.outputs.latestAttemptHttpStatus

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/convoy-retry-failed-delivery-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.