{"id":51206296,"url":"https://github.com/friday-platform/agent-sdk-examples","last_synced_at":"2026-06-28T03:04:43.671Z","repository":{"id":363427264,"uuid":"1263212923","full_name":"friday-platform/agent-sdk-examples","owner":"friday-platform","description":"Runnable example agents built with the Friday Agent SDK — copy one as a starting point for your own.","archived":false,"fork":false,"pushed_at":"2026-06-08T20:58:52.000Z","size":76,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-08T22:25:14.422Z","etag":null,"topics":["agent-sdk","agents","ai-agents","automation","examples","friday","friday-platform","hubspot","llm","python"],"latest_commit_sha":null,"homepage":"https://hellofriday.ai/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/friday-platform.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-08T18:25:51.000Z","updated_at":"2026-06-08T20:59:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/friday-platform/agent-sdk-examples","commit_stats":null,"previous_names":["friday-platform/agent-sdk-examples"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/friday-platform/agent-sdk-examples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friday-platform%2Fagent-sdk-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friday-platform%2Fagent-sdk-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friday-platform%2Fagent-sdk-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friday-platform%2Fagent-sdk-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/friday-platform","download_url":"https://codeload.github.com/friday-platform/agent-sdk-examples/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friday-platform%2Fagent-sdk-examples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34875390,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-28T02:00:05.809Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-sdk","agents","ai-agents","automation","examples","friday","friday-platform","hubspot","llm","python"],"created_at":"2026-06-28T03:04:43.604Z","updated_at":"2026-06-28T03:04:43.666Z","avatar_url":"https://github.com/friday-platform.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Friday Agent SDK — Examples\n\n[![CI](https://github.com/friday-platform/agent-sdk-examples/actions/workflows/ci.yml/badge.svg)](https://github.com/friday-platform/agent-sdk-examples/actions/workflows/ci.yml)\n[![Python 3.12+](https://img.shields.io/badge/python-3.12%2B-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n\u003e **These examples track the [`friday-agent-sdk`](https://pypi.org/project/friday-agent-sdk/) (alpha) — APIs may change.**\n\u003e Pin an exact SDK version when you copy one of these into your own project.\n\nRunnable example agents built with the [Friday Agent SDK](https://github.com/friday-platform/agent-sdk).\nEach one is a standalone, registerable agent you can read, run, and copy as the\nstarting point for your own. The host manages credentials and routes LLM, HTTP,\nand MCP calls on the agent's behalf, so your code stays a plain Python function\n— no provider SDKs, no key plumbing.\n\n- **SDK reference \u0026 guides:** [friday-platform/agent-sdk](https://github.com/friday-platform/agent-sdk)\n- **SDK on PyPI:** [`friday-agent-sdk`](https://pypi.org/project/friday-agent-sdk/)\n- **Friday platform docs:** https://docs.hellofriday.ai/\n- **Friday Studio:** [friday-platform/friday-studio](https://github.com/friday-platform/friday-studio)\n\n## Requirements\n\nThe SDK is not standalone — an agent runs inside the Friday host:\n\n- Python 3.12+\n- [`uv`](https://docs.astral.sh/uv/) for per-example environments\n- A running [Friday Studio](https://github.com/friday-platform/friday-studio)\n  daemon (provides the host runtime)\n- Any credentials an example declares (e.g. `HUBSPOT_ACCESS_TOKEN`), configured\n  in the daemon's environment — agents never see raw keys directly\n\n## The programming model\n\nA Friday agent is a single Python program. You decorate one handler with\n`@agent(...)`, return a result with `ok(...)` / `err(...)`, and call `run()` in\n`__main__`. The SDK handles the transport: the host spawns the process per call,\nhands your handler the `prompt` and an `AgentContext`, and serializes whatever\nyou return.\n\n```python\nfrom friday_agent_sdk import AgentContext, agent, err, ok, run\n\n@agent(\n    id=\"my-agent\",\n    version=\"1.0.0\",\n    description=\"What this agent does.\",\n    environment={\"required\": [{\"name\": \"SOME_TOKEN\", \"description\": \"...\"}]},\n)\ndef execute(prompt: str, ctx: AgentContext):\n    if ctx.http is None:\n        return err(\"HTTP capability unavailable\")\n    # ...do work...\n    return ok({\"response\": \"...\"})\n\nif __name__ == \"__main__\":\n    run()\n```\n\nWhat the `AgentContext` gives you:\n\n| Field | Use |\n| --- | --- |\n| `ctx.http` | Outbound HTTP — `ctx.http.fetch(url, method=..., headers=..., body=..., timeout_ms=...)`, raises `HttpError` |\n| `ctx.llm` | LLM calls, when an example needs a model in the loop |\n| `ctx.stream` | Progress events, e.g. `ctx.stream.intent(\"Searching…\")` |\n| `ctx.env` | Resolved values for whatever the decorator declared under `environment` |\n| `ctx.input` | Structured input wired from the workspace (e.g. `ctx.input.config`) |\n\nCapabilities (`http`, `llm`, `stream`) can be `None` when not granted, so guard\nbefore use — the examples do.\n\n## Quick start\n\n```bash\ncd hubspot-search\nuv sync                       # create .venv from the example's uv.lock\n\n# Register with a local Friday daemon (it then handles one execute call):\ncurl -X POST http://localhost:8080/api/agents/register \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"path\": \"'\"$(pwd)\"'/agent.py\"}'\n```\n\nEach example's own `README.md` documents its input/output contract and any\nenvironment variables it needs.\n\n## Examples\n\n| Example | What it shows |\n| --- | --- |\n| [`hubspot-search`](hubspot-search) | A **deterministic** agent (no LLM): read config from the prompt, make one authenticated REST call with `ctx.http`, and return a structured result. |\n\nMore to come — each new example lands as its own top-level directory.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for setup, how to add a new example, and\nthe checks CI runs. Quick version:\n\n```bash\nuv run ruff check . \u0026\u0026 uv run ruff format --check .   # lint + format (repo root)\ncd hubspot-search \u0026\u0026 uv run pytest                     # tests (per example)\n```\n\nSecurity issues: see [SECURITY.md](SECURITY.md) — please don't open a public issue.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffriday-platform%2Fagent-sdk-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffriday-platform%2Fagent-sdk-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffriday-platform%2Fagent-sdk-examples/lists"}