Crawler Summary

ruby-crewai answer-first brief

A minimal Ruby client for interacting with CrewAI AMP APIs, supporting kickoff, status tracking, health checks, and workflow resumption. ruby-crewai A minimal, production-grade Ruby client for the $1 (Async Managed Process) HTTP API. $1 $1 $1 --- Table of Contents - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 --- Installation Add to your Gemfile: Then: Or install directly: --- Quick Start --- Configuration Global (recommended) Set once at app boot — all clients share these defaults: Per-client override Useful when talking to multiple crews or Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 5/31/2026.

Freshness

Last checked 5/31/2026

Best For

ruby-crewai is best for crewai, multi-agent workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack

Claim this agent
Agent DossierGitHubSafety: 66/100

ruby-crewai

A minimal Ruby client for interacting with CrewAI AMP APIs, supporting kickoff, status tracking, health checks, and workflow resumption. ruby-crewai A minimal, production-grade Ruby client for the $1 (Async Managed Process) HTTP API. $1 $1 $1 --- Table of Contents - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 --- Installation Add to your Gemfile: Then: Or install directly: --- Quick Start --- Configuration Global (recommended) Set once at app boot — all clients share these defaults: Per-client override Useful when talking to multiple crews or

OpenClawself-declared

Public facts

4

Change events

0

Artifacts

0

Freshness

May 31, 2026

Verifiededitorial-contentNo verified compatibility signals2 GitHub stars

Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 5/31/2026.

2 GitHub starsTrust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

May 31, 2026

Vendor

Muhammadibtisam

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

Summary

Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 5/31/2026.

Setup snapshot

git clone https://github.com/MuhammadIbtisam/ruby-crewai.git
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Muhammadibtisam

profilemedium
Observed May 31, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed May 31, 2026Source linkProvenance
Adoption (1)

Adoption signal

2 GitHub stars

profilemedium
Observed May 31, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB OPENCLEW

Extracted files

0

Examples

6

Snippets

0

Languages

python

Executable Examples

ruby

gem "ruby-crewai"

bash

bundle install

bash

gem install ruby-crewai

ruby

require "ruby-crewai"

# 1. Configure once (e.g. in an initializer)
CrewAI.configure do |config|
  config.access_token = ENV["CREWAI_ACCESS_TOKEN"]
  config.uri_base     = ENV["CREWAI_URI_BASE"]
end

# 2. Create a client
client = CrewAI::Client.new

# 3. Discover what inputs your crew needs
client.inputs
# => { "inputs" => ["topic", "audience"] }

# 4. Kick off a run
response = client.kickoff(inputs: { topic: "AI in Ruby", audience: "developers" })
kickoff_id = response["kickoff_id"]
# => "k-abc-123"

# 5. Poll for status
client.status(kickoff_id)
# => { "status" => "running" }

ruby

CrewAI.configure do |config|
  config.access_token  = ENV["CREWAI_ACCESS_TOKEN"]
  config.uri_base      = ENV["CREWAI_URI_BASE"]   # "https://your-crew.crewai.com"
  config.open_timeout  = 10   # seconds (default)
  config.read_timeout  = 30   # seconds (default)
  config.write_timeout = 30   # seconds (default)
end

ruby

client = CrewAI::Client.new(
  access_token: "token-for-this-crew",
  uri_base:     "https://other-crew.crewai.com"
)

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB OPENCLEW

Docs source

GITHUB OPENCLEW

Editorial quality

ready

A minimal Ruby client for interacting with CrewAI AMP APIs, supporting kickoff, status tracking, health checks, and workflow resumption. ruby-crewai A minimal, production-grade Ruby client for the $1 (Async Managed Process) HTTP API. $1 $1 $1 --- Table of Contents - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 --- Installation Add to your Gemfile: Then: Or install directly: --- Quick Start --- Configuration Global (recommended) Set once at app boot — all clients share these defaults: Per-client override Useful when talking to multiple crews or

Full README

ruby-crewai

A minimal, production-grade Ruby client for the CrewAI AMP (Async Managed Process) HTTP API.

Gem Version Ruby License: MIT


Table of Contents


Installation

Add to your Gemfile:

gem "ruby-crewai"

Then:

bundle install

Or install directly:

gem install ruby-crewai

Quick Start

require "ruby-crewai"

# 1. Configure once (e.g. in an initializer)
CrewAI.configure do |config|
  config.access_token = ENV["CREWAI_ACCESS_TOKEN"]
  config.uri_base     = ENV["CREWAI_URI_BASE"]
end

# 2. Create a client
client = CrewAI::Client.new

# 3. Discover what inputs your crew needs
client.inputs
# => { "inputs" => ["topic", "audience"] }

# 4. Kick off a run
response = client.kickoff(inputs: { topic: "AI in Ruby", audience: "developers" })
kickoff_id = response["kickoff_id"]
# => "k-abc-123"

# 5. Poll for status
client.status(kickoff_id)
# => { "status" => "running" }

Configuration

Global (recommended)

Set once at app boot — all clients share these defaults:

CrewAI.configure do |config|
  config.access_token  = ENV["CREWAI_ACCESS_TOKEN"]
  config.uri_base      = ENV["CREWAI_URI_BASE"]   # "https://your-crew.crewai.com"
  config.open_timeout  = 10   # seconds (default)
  config.read_timeout  = 30   # seconds (default)
  config.write_timeout = 30   # seconds (default)
end

Per-client override

Useful when talking to multiple crews or in tests:

client = CrewAI::Client.new(
  access_token: "token-for-this-crew",
  uri_base:     "https://other-crew.crewai.com"
)

You can also pass a full Configuration object:

config = CrewAI::Configuration.new
config.access_token = "..."
config.uri_base     = "https://your-crew.crewai.com"

client = CrewAI::Client.new(configuration: config)

Timeout defaults

| Option | Default | Description | |--------|---------|-------------| | open_timeout | 10 s | Time to open the TCP connection | | read_timeout | 30 s | Time to wait for a response | | write_timeout | 30 s | Time to send the request body |


API Reference

All methods return a plain Ruby Hash parsed from the JSON response. All errors are subclasses of CrewAI::Error — see Error Handling.


inputs

GET /inputs — List the input keys the crew requires before a kickoff.

client.inputs
# => { "inputs" => ["topic", "audience"] }

kickoff

POST /kickoff — Start a crew run asynchronously. Returns a kickoff_id.

Minimal:

response = client.kickoff(
  inputs: { topic: "AI in healthcare", audience: "developers" }
)
# => { "kickoff_id" => "k-abc-123" }

Input keys can be symbols or strings — both are accepted.

With all options:

client.kickoff(
  inputs:           { topic: "Ruby gems", audience: "engineers" },
  meta:             { source: "my-app", version: "2" },
  task_webhook_url: "https://example.com/webhooks/task",
  step_webhook_url: "https://example.com/webhooks/step",
  crew_webhook_url: "https://example.com/webhooks/crew"
)

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | inputs | Hash | Yes | Key-value pairs matching the crew's required inputs | | meta | Hash | No | Arbitrary metadata passed through to the run | | task_webhook_url | String | No | Webhook called on task completion | | step_webhook_url | String | No | Webhook called on each step | | crew_webhook_url | String | No | Webhook called on crew completion |


status

GET /{kickoff_id}/status — Poll the current status of a running crew.

client.status("k-abc-123")
# => { "status" => "running" }

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | kickoff_id | String | Yes | The ID returned by #kickoff |


resume

POST /resume — Continue a crew paused at a human-in-the-loop step.

Approve:

client.resume(
  execution_id:   "e-1",
  task_id:        "t-1",
  human_feedback: "Looks good, proceed.",
  is_approve:     true
)
# => { "status" => "resumed" }

Reject with feedback:

client.resume(
  execution_id:   "e-1",
  task_id:        "t-1",
  human_feedback: "Please revise the introduction.",
  is_approve:     false
)

With optional webhooks:

client.resume(
  execution_id:     "e-1",
  task_id:          "t-1",
  human_feedback:   "Approved.",
  is_approve:       true,
  task_webhook_url: "https://example.com/webhooks/task",
  step_webhook_url: "https://example.com/webhooks/step",
  crew_webhook_url: "https://example.com/webhooks/crew"
)

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | execution_id | String | Yes | The execution to resume | | task_id | String | Yes | The paused task | | human_feedback | String | Yes | Your feedback or instructions | | is_approve | Boolean | Yes | true to approve, false to reject | | task_webhook_url | String | No | Webhook called on task completion | | step_webhook_url | String | No | Webhook called on each step | | crew_webhook_url | String | No | Webhook called on crew completion |


Error Handling

All errors inherit from CrewAI::Error, so you can rescue broadly or granularly:

begin
  response = client.kickoff(inputs: { topic: "AI" })
rescue CrewAI::AuthenticationError
  # 401 — bad or missing access token
  puts "Check your CREWAI_ACCESS_TOKEN"
rescue CrewAI::InvalidRequestError => e
  # 400 / 422 — malformed request or missing required inputs
  puts "Bad request: #{e.message}"
rescue CrewAI::NotFoundError => e
  # 404 — kickoff_id not found
  puts "Not found: #{e.message}"
rescue CrewAI::ServerError
  # 500–599 — CrewAI-side failure; safe to retry
  puts "Server error — try again shortly"
rescue CrewAI::TimeoutError
  # Faraday read/open timeout exceeded
  puts "Request timed out"
rescue CrewAI::ConnectionError
  # Network or SSL failure
  puts "Could not reach CrewAI"
rescue CrewAI::HTTPError => e
  # Unexpected HTTP status — carries .status and .body
  puts "Unexpected #{e.status}: #{e.body}"
rescue CrewAI::Error => e
  # Catch-all for any other gem error
  puts "CrewAI error: #{e.message}"
end

Error class reference

| Class | Trigger | |-------|---------| | CrewAI::AuthenticationError | HTTP 401 | | CrewAI::InvalidRequestError | HTTP 400 / 422 | | CrewAI::NotFoundError | HTTP 404 | | CrewAI::ServerError | HTTP 500–599 | | CrewAI::TimeoutError | Faraday read/open timeout | | CrewAI::ConnectionError | Network or SSL failure | | CrewAI::HTTPError | Any other unexpected status (exposes .status, .body) |


Requirements


Contributing

Bug reports and pull requests are welcome on GitHub.

  • Bug reports — open an issue with a minimal reproduction
  • Pull requests — one intention per PR; include tests; ensure bundle exec rspec is green before opening
  • Questions — open a discussion on the repository

This project is intended to be a safe, welcoming space. All contributors are expected to adhere to the Code of Conduct.


Code of Conduct

Everyone interacting with this project — in issues, pull requests, and discussions — is expected to follow the Contributor Covenant Code of Conduct.


License

Released under the MIT License.

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingGITHUB OPENCLEW

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://www.xpersona.co/api/v1/agents/crewai-muhammadibtisam-ruby-crewai/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-muhammadibtisam-ruby-crewai/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-muhammadibtisam-ruby-crewai/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
Github OpenclewUpdated 4mo agoRank 65

@x1pay/langchain

LangChain/LangGraph tools for AI agent x402 payments on X1

OPENCLAW
Github OpenclewUpdated 4mo agoRank 65

oceanbus-langchain

LangChain tools for OceanBus — give your LangChain and CrewAI agents a global identity, encrypted messaging, and Yellow Pages service discovery with a single import.

OPENCLAWoceanbuslangchainlangchain-tools
Machine Appendix

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-muhammadibtisam-ruby-crewai/snapshot",
    "contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-muhammadibtisam-ruby-crewai/contract",
    "trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-muhammadibtisam-ruby-crewai/trust"
  },
  "curlExamples": [
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-muhammadibtisam-ruby-crewai/snapshot\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-muhammadibtisam-ruby-crewai/contract\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-muhammadibtisam-ruby-crewai/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_OPENCLEW",
      "generatedAt": "2026-10-09T00:47:57.219Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "crewai",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "multi-agent",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}

Facts JSON

[
  {
    "factKey": "vendor",
    "label": "Vendor",
    "value": "Muhammadibtisam",
    "category": "vendor",
    "href": "https://github.com/MuhammadIbtisam/ruby-crewai",
    "sourceUrl": "https://github.com/MuhammadIbtisam/ruby-crewai",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-05-31T06:18:26.608Z",
    "isPublic": true,
    "metadata": {}
  },
  {
    "factKey": "protocols",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "category": "compatibility",
    "href": "https://www.xpersona.co/api/v1/agents/crewai-muhammadibtisam-ruby-crewai/contract",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-muhammadibtisam-ruby-crewai/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-05-31T06:18:26.608Z",
    "isPublic": true,
    "metadata": {}
  },
  {
    "factKey": "traction",
    "label": "Adoption signal",
    "value": "2 GitHub stars",
    "category": "adoption",
    "href": "https://github.com/MuhammadIbtisam/ruby-crewai",
    "sourceUrl": "https://github.com/MuhammadIbtisam/ruby-crewai",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-05-31T06:18:26.608Z",
    "isPublic": true,
    "metadata": {}
  },
  {
    "factKey": "handshake_status",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "category": "security",
    "href": "https://www.xpersona.co/api/v1/agents/crewai-muhammadibtisam-ruby-crewai/trust",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-muhammadibtisam-ruby-crewai/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true,
    "metadata": {}
  }
]

Change Events JSON

[]

Sponsored

Ads related to ruby-crewai and adjacent AI workflows.