pushary-crewai
Full walkthrough: Human-in-the-loop for CrewAI. Reaching your own end-users on their phones is the Pushary Partner plan.
Human-in-the-loop for CrewAI. Replace the console
human_input=True prompt with a tool that reaches a real person on their phone and
blocks until they answer, fail-closed.
Requires the Pushary Partner plan.
Install
pip install pushary-crewai
Set PUSHARY_API_KEY (get it in your dashboard).
Connect a phone once
from pushary_crewai import connect
link = connect("user_123") # show this to your end-user; one tap connects their phone
Give an agent an ask-human tool
from crewai import Agent, Task, Crew
from pushary_crewai import make_ask_human_tool
agent = Agent(
role="Ops",
goal="Ship safely",
backstory="Careful operator.",
tools=[make_ask_human_tool("user_123")],
)
task = Task(
description="Draft the release. Before finalizing, call ask_human to get approval.",
expected_output="approved release notes",
agent=agent,
)
Crew(agents=[agent], tasks=[task]).kickoff()
The tool blocks until the person answers and returns a fail-closed instruction. The
external_id is bound when you build the tool, never taken from the model, so a
prompt-injected agent cannot ask the wrong person.
Lower-level helpers
from pushary_crewai import ask_human
d = ask_human("Approve this refund?", external_id="user_123", type="confirm")
if d["approved"]:
issue_refund()
API
connect(external_id, *, api_key=None, base_url=None)— enroll an end-user's phone.make_ask_human_tool(external_id, *, name=..., ...)— a CrewAIBaseToolbound to that user.ask_human(question, *, external_id, type="confirm", ...)— blocking, returns the decision dict.resolve_pushary_callback(raw_body, signature, secret)— verify + parse a callback for a durable path.describe_answer(type, result),is_affirmative(answer),deterministic_key(parts),SIGNATURE_HEADER.
Example
A runnable example is in examples/.
License
MIT
Release files for pushary-crewai 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pushary_crewai-0.2.0.tar.gz | 7.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pushary_crewai-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.2 kB
Release files / pushary_crewai-0.2.0.tar.gz
| Download URL | pushary_crewai-0.2.0.tar.gz |
|---|---|
| Size | 7.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8c048fd6137959728b25d06fa291724d97eddd8b81956d8bdab8a7d06001b84f
|
|
BLAKE2b-256 checksum How to use checksums |
529dbfd4d7a8a9f54dae393a482a2299a7a282da3ea2a6a3e3bf16641a0422bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.
Transparency logRelease files / pushary_crewai-0.2.0-py3-none-any.whl
| Download URL | pushary_crewai-0.2.0-py3-none-any.whl |
|---|---|
| Size | 5.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
53d517d9a79929b3f91caa2dd94009a191a4ba8102836dfda2d0c972bbe5aede
|
|
BLAKE2b-256 checksum How to use checksums |
8a2c58cadc5104cfff062241deef776a409bd9dba12b058c41204564a37552ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.
Transparency log