Observed since 20 Oct, 22:18 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
A Python library for building agentic, notification-driven workflows with pluggable adapters, policy-aware handlers, and scalable integration interfaces.
Agentic-Notify is an open-source Python SDK for building agentic, notification-driven workflows. It acts as an autonomous orchestration layer that intercepts mobile or web notifications, plans multi-step actions using Large Language Models (LLMs), and executes them deterministically using strict Pydantic schemas.
Visit the official documentation site at: https://nikhilkanamadi.github.io/agentic-notify/
Traditional notification systems (like Firebase Cloud Messaging or APNs) are simple delivery pipes. They push a string to your phone, and you must manually open the app to take action.
Agentic-Notify transforms notifications into autonomous workflows. Instead of just displaying "Your flight is delayed," the engine intercepts the notification, uses a Dynamic Policy Engine to check your preferences, queries an LLM Planner, and executes a multi-step workflow (e.g., canceling your Uber, emailing your boss, and setting a native reminder).
To install the library and the optional backend engine (FastAPI):
pip install agentic-notify[fastapi]
The easiest way to understand the architecture is to see it run end-to-end. The library is completely modular. You initialize the Orchestrator, register your Adapters (tools), and define the Workflow JSON graph.
import asyncio
from agentic_notify.orchestrator import NotificationOrchestrator
from agentic_notify.storage.memory import InMemoryStore
from agentic_notify.policies.engine import PolicyEngine
storage = InMemoryStore()
policy_engine = PolicyEngine()
orchestrator = NotificationOrchestrator(storage=storage, policy_engine=policy_engine)
Adapters are standard python classes that execute real-world logic.
from agentic_notify.adapters.notes import NotesAdapter
from agentic_notify.adapters.mock_reminder import MockReminderAdapter
orchestrator.register_adapter(NotesAdapter())
orchestrator.register_adapter(MockReminderAdapter())
Using strict Pydantic models, define the graph that the LLM or Routing Engine will follow.
from agentic_notify.schemas.workflow import WorkflowDefinition, WorkflowTrigger, WorkflowStep
workflow = WorkflowDefinition(
workflow_id="wf_e2e_demo",
workflow_name="E2E Notification Handler",
trigger=WorkflowTrigger(type="notification"),
steps=[
WorkflowStep(
id="step_save_note",
kind="adapter",
name="save_note",
input_from={"title": "event.title", "content": "event.body"}
),
WorkflowStep(
id="step_create_reminder",
kind="adapter",
name="create_reminder",
input_from={"task_title": "event.title", "task_text": "event.body"}
)
]
)
orchestrator.register_workflow(workflow)
# Route incoming events with a specific keyword to this workflow
orchestrator.router.add_rule(lambda event: "charge" in str(event.title).lower(), "wf_e2e_demo")
The orchestrator converts raw device payloads into unified NotificationEvent schemas.
mock_payload = {
"event_id": "evt_demo_001",
"source_platform": "ios",
"source_app": "finance",
"title": "Unusual Charge Detected",
"body": "A charge of $500.00 was detected. Please review.",
"received_at": "2026-03-28T12:00:00Z"
}
async def run():
result = await orchestrator.process_event(mock_payload)
print(result)
asyncio.run(run())
ApprovalHandler safely halts execution on high-risk actions (like payments) and suspends state until human authorization is granted.tenant_id for resumable, safe workflows.Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.1 | 28 Mar 2026 | 1 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 22:18 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:0f7842c2a3d09860d6127502aaeb58e07e302c2e59945dd0e758fdca79a52703