| layout | default |
|---|---|
| title | Chapter 7: API Automation and Embedding Patterns |
| nav_order | 7 |
| parent | Activepieces Tutorial |
Welcome to Chapter 7: API Automation and Embedding Patterns. In this part of Activepieces Tutorial: Open-Source Automation, Pieces, and AI-Ready Workflow Operations, you will build an intuitive mental model first, then move into concrete implementation details and practical production tradeoffs.
This chapter explains programmatic integration paths for managing Activepieces at scale.
- use API authentication and pagination patterns correctly
- automate operational tasks through endpoint workflows
- evaluate embedding paths for tighter product integration
- reduce manual platform operations with API-first processes
| Concern | Baseline Practice |
|---|---|
| auth | use scoped API keys and rotate on schedule |
| pagination | implement seek-pagination loops with cursor handling |
| automation safety | add idempotency controls around create/update operations |
| embedding | separate tenant/project boundaries clearly |
You now have a programmatic control strategy for scaling Activepieces usage across systems.
Next: Chapter 8: Production Operations, Security, and Contribution
The package module in package.json handles a key part of this chapter's functionality:
{
"name": "activepieces",
"version": "0.79.2",
"rcVersion": "0.80.0-rc.0",
"packageManager": "bun@1.3.3",
"scripts": {
"prebuild": "node tools/scripts/install-bun.js",
"serve:frontend": "turbo run serve --filter=web",
"serve:backend": "turbo run serve --filter=api",
"serve:engine": "turbo run serve --filter=@activepieces/engine",
"serve:worker": "turbo run serve --filter=worker",
"push": "turbo run lint && git push",
"dev": "node tools/scripts/install-bun.js && turbo run serve --filter=web --filter=api --filter=@activepieces/engine --filter=worker --ui stream",
"dev:backend": "turbo run serve --filter=api --filter=@activepieces/engine --ui stream",
"dev:frontend": "turbo run serve --filter=web --filter=api --filter=@activepieces/engine --ui stream",
"start": "node tools/setup-dev.js && npm run dev",
"test:e2e": "npx playwright test --config=packages/tests-e2e/playwright.config.ts",
"db-migration": "npx turbo run db-migration --filter=api --",
"check-migrations": "npx turbo run check-migrations --filter=api",
"lint": "turbo run lint",
"lint-dev": "turbo run lint --filter='!@activepieces/piece-*' --force -- --fix",
"cli": "npx ts-node -r tsconfig-paths/register --project packages/cli/tsconfig.json packages/cli/src/index.ts",
"create-piece": "npx ts-node -r tsconfig-paths/register --project packages/cli/tsconfig.json packages/cli/src/index.ts pieces create",
"create-action": "npx ts-node -r tsconfig-paths/register --project packages/cli/tsconfig.json packages/cli/src/index.ts actions create",
"create-trigger": "npx ts-node -r tsconfig-paths/register --project packages/cli/tsconfig.json packages/cli/src/index.ts triggers create",
"sync-pieces": "npx ts-node -r tsconfig-paths/register --project packages/cli/tsconfig.json packages/cli/src/index.ts pieces sync",
"build-piece": "npx ts-node -r tsconfig-paths/register --project packages/cli/tsconfig.json packages/cli/src/index.ts pieces build",
"publish-piece-to-api": "npx ts-node -r tsconfig-paths/register --project packages/cli/tsconfig.json packages/cli/src/index.ts pieces publish piece",
"publish-piece": "npx ts-node -r tsconfig-paths/register --project tools/tsconfig.tools.json tools/scripts/pieces/publish-piece.ts",
"workers": "npx ts-node -r tsconfig-paths/register --project packages/cli/tsconfig.json packages/cli/src/index.ts workers",
"pull-i18n": "crowdin pull --config crowdin.yml",
"push-i18n": "crowdin upload sources",
"i18n:extract": "i18next --config packages/web/i18next-parser.config.js",
"bump-translated-pieces": "npx ts-node --project tools/tsconfig.tools.json tools/scripts/pieces/bump-translated-pieces.ts",
"bump-all-pieces-patch-version": "npx ts-node --project tools/tsconfig.tools.json tools/scripts/pieces/bump-all-pieces-patch-version.ts"This module is important because it defines how Activepieces Tutorial: Open-Source Automation, Pieces, and AI-Ready Workflow Operations implements the patterns covered in this chapter.
The .eslintrc module in .eslintrc.json handles a key part of this chapter's functionality:
{
"root": true,
"ignorePatterns": ["**/*", "deploy/**/*"],
"overrides": [
{
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
"rules": {
"no-restricted-imports": [
"error",
{
"patterns": ["lodash", "lodash/*"]
}
]
}
},
{
"files": ["*.ts", "*.tsx"],
"extends": ["plugin:@typescript-eslint/recommended"],
"rules": {
"@typescript-eslint/no-extra-semi": "error",
"@typescript-eslint/no-unused-vars": "warn",
"@typescript-eslint/no-explicit-any": "warn",
"no-extra-semi": "off"
}
},
{
"files": ["*.js", "*.jsx"],
"rules": {
"@typescript-eslint/no-extra-semi": "error",
"no-extra-semi": "off"
}
},
{
"files": ["*.spec.ts", "*.spec.tsx", "*.spec.js", "*.spec.jsx"],
"env": {This module is important because it defines how Activepieces Tutorial: Open-Source Automation, Pieces, and AI-Ready Workflow Operations implements the patterns covered in this chapter.
The docker-compose module in docker-compose.yml handles a key part of this chapter's functionality:
services:
app:
image: ghcr.io/activepieces/activepieces:0.79.0
container_name: activepieces-app
restart: unless-stopped
ports:
- '8080:80'
depends_on:
- postgres
- redis
env_file: .env
environment:
- AP_CONTAINER_TYPE=APP
volumes:
- ./cache:/usr/src/app/cache
networks:
- activepieces
worker:
image: ghcr.io/activepieces/activepieces:0.79.0
restart: unless-stopped
depends_on:
- app
env_file: .env
environment:
- AP_CONTAINER_TYPE=WORKER
deploy:
replicas: 5
volumes:
- ./cache:/usr/src/app/cache
networks:
- activepieces
postgres:
image: 'postgres:14.4'
container_name: postgres
restart: unless-stoppedThis module is important because it defines how Activepieces Tutorial: Open-Source Automation, Pieces, and AI-Ready Workflow Operations implements the patterns covered in this chapter.
flowchart TD
A[package]
B[.eslintrc]
C[docker-compose]
A --> B
B --> C