Add Activepieces integration for workflow automation

- Add Activepieces fork with SmoothSchedule custom piece
- Create integrations app with Activepieces service layer
- Add embed token endpoint for iframe integration
- Create Automations page with embedded workflow builder
- Add sidebar visibility fix for embed mode
- Add list inactive customers endpoint to Public API
- Include SmoothSchedule triggers: event created/updated/cancelled
- Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
poduck
2025-12-18 22:59:37 -05:00
parent 9848268d34
commit 3aa7199503
16292 changed files with 1284892 additions and 4708 deletions

View File

@@ -0,0 +1,18 @@
{
"extends": ["../../../../.eslintrc.json"],
"ignorePatterns": ["!**/*"],
"overrides": [
{
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
"rules": {}
},
{
"files": ["*.ts", "*.tsx"],
"rules": {}
},
{
"files": ["*.js", "*.jsx"],
"rules": {}
}
]
}

View File

@@ -0,0 +1,7 @@
# pieces-data-mapper
This library was generated with [Nx](https://nx.dev).
## Running lint
Run `nx lint pieces-data-mapper` to execute the lint via [ESLint](https://eslint.org/).

View File

@@ -0,0 +1,4 @@
{
"name": "@activepieces/piece-data-mapper",
"version": "0.3.11"
}

View File

@@ -0,0 +1,51 @@
{
"name": "pieces-data-mapper",
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "packages/pieces/community/data-mapper/src",
"projectType": "library",
"targets": {
"build": {
"executor": "@nx/js:tsc",
"outputs": [
"{options.outputPath}"
],
"options": {
"outputPath": "dist/packages/pieces/community/data-mapper",
"tsConfig": "packages/pieces/community/data-mapper/tsconfig.lib.json",
"packageJson": "packages/pieces/community/data-mapper/package.json",
"main": "packages/pieces/community/data-mapper/src/index.ts",
"assets": [
"packages/pieces/community/data-mapper/*.md",
{
"input": "packages/pieces/community/data-mapper/src/i18n",
"output": "./src/i18n",
"glob": "**/!(i18n.json)"
}
],
"buildableProjectDepsInPackageJsonType": "dependencies",
"updateBuildableProjectDepsInPackageJson": true
},
"dependsOn": [
"^build",
"prebuild"
]
},
"lint": {
"executor": "@nx/eslint:lint",
"outputs": [
"{options.outputFile}"
]
},
"prebuild": {
"executor": "nx:run-commands",
"options": {
"cwd": "packages/pieces/community/data-mapper",
"command": "bun install --no-save --silent"
},
"dependsOn": [
"^build"
]
}
},
"tags": []
}

View File

@@ -0,0 +1,8 @@
{
"Data Mapper": "Data Mapper",
"tools to manipulate data structure": "tools to manipulate data structure",
"Advanced Mapping": "Advanced Mapping",
"Map data from one format to another": "Map data from one format to another",
"Mapping": "Mapping",
"The mapping to use": "The mapping to use"
}

View File

@@ -0,0 +1,7 @@
{
"tools to manipulate data structure": "Werkzeuge zur Manipulation der Datenstruktur",
"Advanced Mapping": "Erweiterte Zuordnung",
"Map data from one format to another": "Daten von einem Format zum anderen zuordnen",
"Mapping": "Zuordnung",
"The mapping to use": "Die zu verwendende Zuordnung"
}

View File

@@ -0,0 +1,7 @@
{
"tools to manipulate data structure": "herramientas para manipular la estructura de datos",
"Advanced Mapping": "Mapeo avanzado",
"Map data from one format to another": "Mapear datos de un formato a otro",
"Mapping": "Mapeo",
"The mapping to use": "El mapeo a usar"
}

View File

@@ -0,0 +1,7 @@
{
"tools to manipulate data structure": "outils pour manipuler la structure des données",
"Advanced Mapping": "Mapping Avancé",
"Map data from one format to another": "Mapper les données d'un format à un autre",
"Mapping": "Mappage",
"The mapping to use": "Le mapping à utiliser"
}

View File

@@ -0,0 +1,8 @@
{
"Data Mapper": "Data Mapper",
"tools to manipulate data structure": "tools to manipulate data structure",
"Advanced Mapping": "Advanced Mapping",
"Map data from one format to another": "Map data from one format to another",
"Mapping": "Mapping",
"The mapping to use": "The mapping to use"
}

View File

@@ -0,0 +1,8 @@
{
"Data Mapper": "Data Mapper",
"tools to manipulate data structure": "tools to manipulate data structure",
"Advanced Mapping": "Advanced Mapping",
"Map data from one format to another": "Map data from one format to another",
"Mapping": "Mapping",
"The mapping to use": "The mapping to use"
}

View File

@@ -0,0 +1,7 @@
{
"tools to manipulate data structure": "データ構造を操作するツール",
"Advanced Mapping": "高度なマッピング",
"Map data from one format to another": "あるフォーマットから別のフォーマットにデータをマップします",
"Mapping": "マッピング",
"The mapping to use": "使用するマッピング"
}

View File

@@ -0,0 +1,7 @@
{
"tools to manipulate data structure": "tools om gegevensstructuur te bewerken",
"Advanced Mapping": "Geavanceerde mapping",
"Map data from one format to another": "Kaart gegevens van het ene formaat naar het andere",
"Mapping": "Toewijzing",
"The mapping to use": "De te gebruiken mapping"
}

View File

@@ -0,0 +1,7 @@
{
"tools to manipulate data structure": "ferramentas para manipular a estrutura de dados",
"Advanced Mapping": "Mapeamento Avançado",
"Map data from one format to another": "Mapear dados de um formato para outro",
"Mapping": "Mapeamento",
"The mapping to use": "O mapeamento a ser usado"
}

View File

@@ -0,0 +1,8 @@
{
"Data Mapper": "Карта данных",
"tools to manipulate data structure": "инструменты для управления структурой данных",
"Advanced Mapping": "Расширенное отображение",
"Map data from one format to another": "Карта данных из одного формата в другой",
"Mapping": "Сопоставление",
"The mapping to use": "Используемое сопоставление"
}

View File

@@ -0,0 +1,7 @@
{
"tools to manipulate data structure": "tools to manipulate data structure",
"Advanced Mapping": "Advanced Mapping",
"Map data from one format to another": "Map data from one format to another",
"Mapping": "Mapping",
"The mapping to use": "The mapping to use"
}

View File

@@ -0,0 +1,8 @@
{
"Data Mapper": "Data Mapper",
"tools to manipulate data structure": "tools to manipulate data structure",
"Advanced Mapping": "Advanced Mapping",
"Map data from one format to another": "Map data from one format to another",
"Mapping": "Mapping",
"The mapping to use": "The mapping to use"
}

View File

@@ -0,0 +1,7 @@
{
"tools to manipulate data structure": "tools to manipulate data structure",
"Advanced Mapping": "Advanced Mapping",
"Map data from one format to another": "Map data from one format to another",
"Mapping": "Mapping",
"The mapping to use": "The mapping to use"
}

View File

@@ -0,0 +1,16 @@
import { PieceAuth, createPiece } from '@activepieces/pieces-framework';
import { PieceCategory } from '@activepieces/shared';
import { advancedMapping } from './lib/actions/advanced-mapping';
export const dataMapper = createPiece({
displayName: 'Data Mapper',
description: 'tools to manipulate data structure',
minimumSupportedRelease: '0.30.0',
logoUrl: 'https://cdn.activepieces.com/pieces/data-mapper.png',
auth: PieceAuth.None(),
categories: [PieceCategory.CORE],
authors: ["kishanprmr","MoShizzle","AbdulTheActivePiecer","khaledmashaly","abuaboud"],
actions: [advancedMapping],
triggers: [],
});

View File

@@ -0,0 +1,28 @@
import { createAction, Property } from '@activepieces/pieces-framework';
export const advancedMapping = createAction({
name: 'advanced_mapping',
displayName: 'Advanced Mapping',
description: 'Map data from one format to another',
errorHandlingOptions: {
continueOnFailure: {
hide: true,
},
retryOnFailure: {
hide: true,
},
},
props: {
mapping: Property.Json({
displayName: 'Mapping',
description: 'The mapping to use',
required: true,
defaultValue: {
newProperty: 'oldProperty',
},
}),
},
async run(ctx) {
return ctx.propsValue.mapping;
},
});

View File

@@ -0,0 +1,16 @@
{
"extends": "../../../../tsconfig.base.json",
"files": [],
"include": [],
"references": [
{
"path": "./tsconfig.lib.json"
}
],
"compilerOptions": {
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
}
}

View File

@@ -0,0 +1,11 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"module": "commonjs",
"outDir": "../../../../dist/out-tsc",
"declaration": true,
"types": ["node"]
},
"exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"],
"include": ["src/**/*.ts"]
}