PipedreamHQ / PipedreamHQ/pipedream
Tycoon
- Dominant language
- JavaScript
- Stars
- 11.7k
- Forks
- 5.8k
- Avg merge
- 3d 10h
- Merged PRs (30d)
- 102
Description
### App
Tycoon
https://tycoon.us/docs
### Sources
Tycoon already emits signed HMAC-SHA256 webhooks (https://tycoon.us/docs/webhooks), so these map 1:1 to Pipedream event sources:
1) New Task Completed (task.done) - fires when a Tycoon Task reaches a terminal state. Payload carries safe task identity + status; GET /api/public/tasks/{id} then returns result.text, outcome and metered usage.
2) Task Requires Action (task.requires_action) - fires when the AI worker needs a human decision. Payload carries the approval summary, current action_version, decision items, api_resolvable and an authenticated action_url.
3) Task Check-in (task.check_in) - fires after each material progress checkpoint with a safe outcome projection (good for long-running, multi-day Tasks).
Receivers are registered with POST /api/public/webhooks (up to 10 per workspace, https only). Every delivery sets x-tycoon-event, x-tycoon-signature (sha256=) and x-tycoon-delivery, which is a stable per-transition id intended as the dedupe key. There is also a POST /api/public/webhooks/{id}/test endpoint that emits a signed webhook.test event, which makes source setup easy to verify.
### Actions
Base URL https://tycoon.us/api/public, Bearer auth with a workspace-scoped tyc_... API key (docs: https://tycoon.us/docs/overview).
1) Create Task - POST /tasks with prompt (required, <=20k chars) plus optional title, workspace_id, budget_usd and attachments. An Idempotency-Key header is required, so a Pipedream retry can never create a second Task. Returns task id + status.
2) Get Task - GET /tasks/{id} returns status (queued | running | requires_action | waiting | completed | canceled), result.text once finished, and the usage that was actually metered.
3) Send Message to Task - POST /tasks/{id}/messages adds direction while the work is still open (202 first accept, 200 on same-body replay).
A useful fourth: Resolve Required Action - POST /tasks/{id}/actions/{action_id}/resolve to approve or reject from a workflow when api_resolvable is true.
Typical Pipedream workflow this unlocks: a trigger in another app (form, inbound email, Slack message, CRM record) -> Create Task in Tycoon -> wait for the task.done webhook -> push the result into Slack, Notion, a sheet or the CRM. Tycoon is an AI company operating system, so the Task is real delegated work (research, content, code, ops), not just a chat completion.
Contributor guide
Research direction
No repository files or tests are named. Start with the Tycoon overview and webhook documentation, then verify the listed webhook events, Bearer authentication, task endpoints, signatures, and idempotency requirements; done means the proposed triggers and actions are supported and the webhook test flow works.
Written by the indexing model from the issue text.
Assessment
- Domain
- api
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100