Observed since 20 Oct, 22:15 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Agentic Fabriq SDK: high-level client, CLI tool, DX helpers, and auth for AI agents
agentic-fabriq-sdk provides a Python SDK and CLI tool for interacting with Agentic Fabriq.
What's included:
af_sdk.FabriqClient) and DX layerafctl command for authentication and managementpip install agentic-fabriq-sdk
This installs both the Python library and the afctl CLI tool.
Authenticate and manage your Agentic Fabriq resources:
# Login with OAuth2 (browser opens automatically)
afctl auth login
# Check authentication status
afctl auth status
# List available tools
afctl tools list
# List agents
afctl agents list
# Get help
afctl --help
from af_sdk.fabriq_client import FabriqClient
TOKEN = "..." # Bearer JWT for the Fabriq Gateway
BASE = "https://dashboard.agenticfabriq.com"
async def main():
async with FabriqClient(base_url=BASE, auth_token=TOKEN) as af:
# List tools and agents
tools = await af.list_tools()
agents = await af.list_agents()
# Invoke Slack tools
result = await af.invoke_connection("my-slack", method="get_channels")
# Post a Slack message
await af.invoke_connection(
"my-slack",
method="post_message",
parameters={"channel": "test", "text": "Hello from SDK!"}
)
# Get Gmail emails
result = await af.invoke_connection(
"gmail_work",
method="get_emails",
parameters={"max_results": 10, "q": "is:unread"}
)
emails = result.get("emails", [])
# Send an email
await af.invoke_connection(
"gmail_work",
method="send_email",
parameters={
"to": "recipient@example.com",
"subject": "Hello from SDK",
"body": "This email was sent via Agentic Fabric SDK!"
}
)
DX orchestration:
from af_sdk.dx import ToolFabric, AgentFabric, Agent, tool
slack = ToolFabric(provider="slack", base_url="https://dashboard.agenticfabriq.com", access_token=TOKEN, tenant_id=TENANT)
agents = AgentFabric(base_url="https://dashboard.agenticfabriq.com", access_token=TOKEN, tenant_id=TENANT)
@tool
def echo(x: str) -> str:
return x
bot = Agent(
system_prompt="demo",
tools=[echo],
agents=agents.get_agents(["summarizer"]),
base_url="https://dashboard.agenticfabriq.com",
access_token=TOKEN,
tenant_id=TENANT,
provider_fabrics={"slack": slack},
)
print(bot.run("Summarize my Slack messages"))
from af_sdk import AgenticFabriq
af = AgenticFabriq() # AF_APP_ID / AF_APP_SECRET / AF_BASE_URL
url = await af.initiate_connection(request, provider="gmail") # OAuth
url = await af.initiate_connection(request, provider="notion", method="api_key") # no OAuth: user pastes a key on our page
async with await af.for_user(request) as session:
tools = await session.get_tools()
result = await session.call_tool("notion_list_pages", {})
See docs/developer-edition/quickstart.md for the full flow, including
webhooks and framework adapters. AF_BASE_URL selects the environment (the
MCP endpoint follows it).
Apache-2.0
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.88 | 28 Aug 2026 | 15 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 22:15 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:bea6d639d1b22a72a6d326d63d7c2f3b2b73749d810d505110218f1f46723e63