{"id":49324030,"url":"https://github.com/simplyprint/simplyprint-activepieces","last_synced_at":"2026-04-29T22:01:15.106Z","repository":{"id":353616629,"uuid":"1219358629","full_name":"SimplyPrint/simplyprint-activepieces","owner":"SimplyPrint","description":"Official SimplyPrint piece for Activepieces. 3D printer fleet management (queue, printers, files, filament) exposed as Activepieces actions and triggers.","archived":false,"fork":false,"pushed_at":"2026-04-26T20:25:48.000Z","size":270,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-27T20:29:17.529Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/SimplyPrint.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"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-04-23T19:49:32.000Z","updated_at":"2026-04-26T20:25:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/SimplyPrint/simplyprint-activepieces","commit_stats":null,"previous_names":["simplyprint/simplyprint-activepieces"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/SimplyPrint/simplyprint-activepieces","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimplyPrint%2Fsimplyprint-activepieces","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimplyPrint%2Fsimplyprint-activepieces/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimplyPrint%2Fsimplyprint-activepieces/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimplyPrint%2Fsimplyprint-activepieces/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimplyPrint","download_url":"https://codeload.github.com/SimplyPrint/simplyprint-activepieces/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimplyPrint%2Fsimplyprint-activepieces/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32399010,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T19:38:08.556Z","status":"ssl_error","status_checked_at":"2026-04-28T19:37:55.688Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-04-26T19:02:46.984Z","updated_at":"2026-04-28T21:01:07.175Z","avatar_url":"https://github.com/SimplyPrint.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SimplyPrint piece for Activepieces\n\n`@simplyprint/activepieces-simplyprint` — connect SimplyPrint to thousands of apps via Activepieces.\n\n[SimplyPrint](https://simplyprint.io) is a 3D printer management platform (queue, printer control, file/filament management, AI failure detection). This piece exposes SimplyPrint as triggers and actions inside the Activepieces flow builder.\n\n## Install\n\nSelf-hosted Activepieces (Community Edition or Enterprise):\n\n1. Sign in as a Platform Admin.\n2. **Platform Admin → Pieces → Install a piece**.\n3. Package type: **NPM Registry**.\n4. Piece name: `@simplyprint/activepieces-simplyprint`.\n5. Version: latest (check [npmjs.com/package/@simplyprint/activepieces-simplyprint](https://www.npmjs.com/package/@simplyprint/activepieces-simplyprint)) or leave blank for the latest stable.\n6. Click **Install**. The piece appears in the flow builder search after a few seconds.\n\nActivepieces Cloud (cloud.activepieces.com) users: not available as a first-party piece yet. Open an issue on this repo if you want it prioritized for upstream submission.\n\n## Connection\n\nThis piece uses **OAuth2**. Activepieces ships with SimplyPrint client credentials pre-configured, so users just click **Connect**, get redirected to `simplyprint.io`, approve, and the flow builder has a live token. The connection refreshes automatically.\n\nThe SimplyPrint OAuth app accepts any callback URI, so self-hosted Activepieces instances work out of the box — no per-instance allowlist needed.\n\n## Triggers\n\nEach trigger subscribes to a specific SimplyPrint webhook event (see `WebhookEvent` in the SimplyPrint codebase for the full list). The piece registers a unique webhook per flow when you enable it, and unregisters it when you disable the flow.\n\nIncoming payloads are verified against a per-webhook shared secret sent in the `X-SP-Secret` header (the secret is the secret itself, constant-time compared). Forged events are dropped silently.\n\n## Actions\n\n~30 hand-wrapped actions covering printer control, queue management, files, filaments, users/tags/custom fields, plus a generic **Custom API Call** action for any endpoint this piece doesn't wrap directly.\n\n### Upload → Queue → Print\n\nThe \"I have a local file and I want it printed\" flow is three composable actions. Chain whichever subset you need:\n\n- **Upload File** — push a local G-code/STL/3MF to SimplyPrint via `files.simplyprint.io`. Returns a string `fileId` (hex). Requires the Print Farm plan.\n- **Add File to Queue** — queue an *existing* file (API file id from Upload File, or a user-file UID). Accepts queue group, target printers, tags, and PRINT_QUEUE custom fields. Insert at top, bottom, or a specific position.\n- **Upload File \u0026 Add to Queue** — composite of the two above when the file isn't on SimplyPrint yet. Same queue options.\n- **Start Print** — wraps `printers/actions/CreateJob`. Pick printers, choose a source (API file id, user-file UID, or queue-item id), and optionally pass shared PRINT_JOB custom fields, per-queue-item `individual_custom_fields`, start options, and an MMS map.\n\nQueue-add actions accept `for_printers` / `tags` / position (top, bottom, or a 1-based index). Start Print owns start options + which printers to fire on.\n\n\u003e **Two upload domains:** `api.simplyprint.io` (main API) serves reads, queue/job management, and printer control. `files.simplyprint.io` (dedicated file service) is where integrations upload files. The old `api.simplyprint.io/.../files/Upload` endpoint is reserved for the web panel and mobile app and rejects API-key/OAuth callers — the piece does not use it.\n\n### Custom fields\n\nAny action that accepts custom fields expects a **JSON object keyed by the custom field's string UUID (`fieldId`)**, not the numeric `id`. The numeric `id` is for admin CRUD only. Values can be strings, numbers, booleans, ISO dates, or arrays (for multi-option fields). The piece converts your object into the backend's `[{customFieldId, value}]` submission shape automatically.\n\nYou can look up `fieldId` UUIDs with the **List Custom Fields** action.\n\n## Development\n\nThe piece builds standalone against published `@activepieces/*` deps — no AP monorepo required:\n\n```sh\nnpm install\nnpm run build         # tsc -p tsconfig.lib.json → dist/\ncd tests \u0026\u0026 npm test  # framework-free vitest suite\n```\n\nPublishing is handled by the release workflow (`.github/workflows/release.yml`): tag a version (`git tag v0.5.4 \u0026\u0026 git push --tags`) and GitHub Actions builds, tests, `npm publish --provenance`'s it via npm Trusted Publishing, and cuts a GitHub Release with the `.tgz` attached.\n\n### Working inside the Activepieces monorepo (optional)\n\nIf you're iterating against the AP engine itself and want hot reload, drop this repo into `packages/pieces/community/simplyprint/` of an `activepieces/activepieces` checkout and run:\n\n```sh\nnx build pieces-simplyprint\nnx lint pieces-simplyprint\n```\n\n`package.json` pins concrete published versions for the `@activepieces/*` deps; bun's workspace resolution will still hand out the in-tree packages when the versions match.\n\n### Upstreaming\n\nTo ship through AP Cloud + every self-hosted instance, fork `activepieces/activepieces` and submit a PR adding `packages/pieces/community/simplyprint/`. The piece needs no changes beyond renaming `package.json.name` to `@activepieces/piece-simplyprint`.\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n\n## Related\n\n- [SimplyPrint n8n node](https://github.com/SimplyPrint/n8n-nodes-simplyprint)\n- [SimplyPrint Claude Code plugin](https://github.com/SimplyPrint/simplyprint-claude-plugin)\n- [SimplyPrint API docs](https://apidocs.simplyprint.io)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplyprint%2Fsimplyprint-activepieces","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimplyprint%2Fsimplyprint-activepieces","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplyprint%2Fsimplyprint-activepieces/lists"}