CrewAI AMP Webhook Streaming

Outbound event streaming for AMP crew executions. When you kick off a crew you can supply three callback URLs — taskWebhookUrl (fired after each task completes), stepWebhookUrl (fired after each agent thought/action), and crewWebhookUrl (fired when the overall crew run finishes). AMP POSTs JSON event payloads to those URLs so your systems can react to agent progress in real time, log traces externally, or chain follow-on automations.

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/crewai-amp-webhook-streaming"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

Free tier, no email required.

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

AsyncAPI Specification

crewai-amp-webhooks-asyncapi.yml Raw ↑
asyncapi: 3.0.0
info:
  title: CrewAI AMP Webhook Streaming
  version: '1.0'
  description: |
    Outbound webhook events published by CrewAI AMP during crew execution. Three callback URLs
    can be supplied per kickoff — `taskWebhookUrl`, `stepWebhookUrl`, and `crewWebhookUrl`.
    AMP POSTs JSON event payloads to those URLs as the crew runs.
servers:
  subscriber:
    host: webhooks.example.com
    protocol: https
    description: Customer-hosted HTTPS endpoint receiving CrewAI AMP events.
channels:
  taskEvents:
    address: '{taskWebhookUrl}'
    description: Fires after each task completes.
    messages:
      taskCompleted:
        $ref: '#/components/messages/TaskCompleted'
    parameters:
      taskWebhookUrl:
        description: Subscriber-supplied URL on kickoff.
  stepEvents:
    address: '{stepWebhookUrl}'
    description: Fires after each agent thought or action.
    messages:
      stepEvent:
        $ref: '#/components/messages/StepEvent'
    parameters:
      stepWebhookUrl:
        description: Subscriber-supplied URL on kickoff.
  crewEvents:
    address: '{crewWebhookUrl}'
    description: Fires when the overall crew execution finishes.
    messages:
      crewCompleted:
        $ref: '#/components/messages/CrewCompleted'
    parameters:
      crewWebhookUrl:
        description: Subscriber-supplied URL on kickoff.
operations:
  receiveTaskEvents:
    action: receive
    channel:
      $ref: '#/channels/taskEvents'
  receiveStepEvents:
    action: receive
    channel:
      $ref: '#/channels/stepEvents'
  receiveCrewEvents:
    action: receive
    channel:
      $ref: '#/channels/crewEvents'
components:
  messages:
    TaskCompleted:
      name: TaskCompleted
      title: Task Completed
      summary: A single task within a crew finished.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/TaskCompletedPayload'
    StepEvent:
      name: StepEvent
      title: Agent Step
      summary: An agent emitted a thought or executed an action.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/StepEventPayload'
    CrewCompleted:
      name: CrewCompleted
      title: Crew Completed
      summary: The crew execution finished (success or error).
      contentType: application/json
      payload:
        $ref: '#/components/schemas/CrewCompletedPayload'
  schemas:
    TaskCompletedPayload:
      type: object
      required:
        - kickoff_id
        - task_id
        - status
      properties:
        kickoff_id:
          type: string
          format: uuid
        task_id:
          type: string
        agent:
          type: string
          description: Role of the agent that ran the task.
        status:
          type: string
          enum:
            - completed
            - error
            - awaiting_human_feedback
        output:
          type: string
        execution_time:
          type: number
          format: double
        meta:
          type: object
          additionalProperties: true
    StepEventPayload:
      type: object
      required:
        - kickoff_id
        - step
      properties:
        kickoff_id:
          type: string
          format: uuid
        task_id:
          type: string
        agent:
          type: string
        step:
          type: object
          properties:
            type:
              type: string
              enum:
                - thought
                - action
                - observation
                - tool_call
                - tool_result
            content:
              type: string
            tool:
              type: string
            input:
              type: object
              additionalProperties: true
            output:
              type: string
        timestamp:
          type: string
          format: date-time
    CrewCompletedPayload:
      type: object
      required:
        - kickoff_id
        - status
      properties:
        kickoff_id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - completed
            - error
        result:
          type: object
          properties:
            output:
              type: string
            tasks:
              type: array
              items:
                type: object
                properties:
                  task_id:
                    type: string
                  agent:
                    type: string
                  output:
                    type: string
                  execution_time:
                    type: number
                    format: double
        error:
          type: string
        execution_time:
          type: number
          format: double
        meta:
          type: object
          additionalProperties: true