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:
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"extends": [
|
||||
"../../../../.eslintrc.base.json"
|
||||
],
|
||||
"ignorePatterns": [
|
||||
"!**/*"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
"files": [
|
||||
"*.ts",
|
||||
"*.tsx",
|
||||
"*.js",
|
||||
"*.jsx"
|
||||
],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"*.ts",
|
||||
"*.tsx"
|
||||
],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"*.js",
|
||||
"*.jsx"
|
||||
],
|
||||
"rules": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
# pieces-zerobounce
|
||||
|
||||
This library was generated with [Nx](https://nx.dev).
|
||||
|
||||
## Building
|
||||
|
||||
Run `nx build pieces-zerobounce` to build the library.
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "@activepieces/piece-zerobounce",
|
||||
"version": "0.0.7"
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"name": "pieces-zerobounce",
|
||||
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
|
||||
"sourceRoot": "packages/pieces/community/zerobounce/src",
|
||||
"projectType": "library",
|
||||
"targets": {
|
||||
"build": {
|
||||
"executor": "@nx/js:tsc",
|
||||
"outputs": [
|
||||
"{options.outputPath}"
|
||||
],
|
||||
"options": {
|
||||
"outputPath": "dist/packages/pieces/community/zerobounce",
|
||||
"tsConfig": "packages/pieces/community/zerobounce/tsconfig.lib.json",
|
||||
"packageJson": "packages/pieces/community/zerobounce/package.json",
|
||||
"main": "packages/pieces/community/zerobounce/src/index.ts",
|
||||
"assets": [
|
||||
"packages/pieces/community/zerobounce/*.md",
|
||||
{
|
||||
"input": "packages/pieces/community/zerobounce/src/i18n",
|
||||
"output": "./src/i18n",
|
||||
"glob": "**/!(i18n.json)"
|
||||
}
|
||||
],
|
||||
"buildableProjectDepsInPackageJsonType": "dependencies",
|
||||
"updateBuildableProjectDepsInPackageJson": true
|
||||
},
|
||||
"dependsOn": [
|
||||
"^build",
|
||||
"prebuild"
|
||||
]
|
||||
},
|
||||
"publish": {
|
||||
"command": "node tools/scripts/publish.mjs pieces-zerobounce {args.ver} {args.tag}",
|
||||
"dependsOn": [
|
||||
"build"
|
||||
]
|
||||
},
|
||||
"lint": {
|
||||
"executor": "@nx/eslint:lint",
|
||||
"outputs": [
|
||||
"{options.outputFile}"
|
||||
]
|
||||
},
|
||||
"prebuild": {
|
||||
"executor": "nx:run-commands",
|
||||
"options": {
|
||||
"cwd": "packages/pieces/community/zerobounce",
|
||||
"command": "bun install --no-save --silent"
|
||||
},
|
||||
"dependsOn": [
|
||||
"^build"
|
||||
]
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"ZeroBounce is an email validation service that helps you reduce bounces, improve email deliverability and increase email marketing ROI.": "ZeroBounce ist ein E-Mail-Validierungsdienst, der Ihnen hilft, Bounces zu reduzieren, die Zustellbarkeit von E-Mails zu verbessern und E-Mail-Marketing ROI zu erhöhen.",
|
||||
"Validate Email": "Validate Email",
|
||||
"Email": "E-Mail",
|
||||
"Cache Response": "Cache-Antwort",
|
||||
"Store the response in the project store for future use.": "Speichern Sie die Antwort im Projektspeicher für zukünftige Nutzung."
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"ZeroBounce is an email validation service that helps you reduce bounces, improve email deliverability and increase email marketing ROI.": "ZeroBounce es un servicio de validación de correo electrónico que te ayuda a reducir rebotes, mejorar la entregabilidad del correo electrónico y aumentar la ROI de marketing de correo electrónico.",
|
||||
"Validate Email": "Validate Email",
|
||||
"Email": "E-mail",
|
||||
"Cache Response": "Respuesta de caché",
|
||||
"Store the response in the project store for future use.": "Almacena la respuesta en la tienda de proyectos para su uso futuro."
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"ZeroBounce is an email validation service that helps you reduce bounces, improve email deliverability and increase email marketing ROI.": "ZeroBounce est un service de validation de courriel qui vous aide à réduire les rebondissements, à améliorer la délivrabilité des e-mails et à augmenter le ROI de marketing par courriel.",
|
||||
"Validate Email": "Validate Email",
|
||||
"Email": "Courriel",
|
||||
"Cache Response": "Mettre en cache la réponse",
|
||||
"Store the response in the project store for future use.": "Stockez la réponse dans la boutique du projet pour une utilisation future."
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"ZeroBounce is an email validation service that helps you reduce bounces, improve email deliverability and increase email marketing ROI.": "ZeroBounceは、バウンスを減らし、メール配信を改善し、メールマーケティングのROIを向上させるのに役立つ電子メール検証サービスです。",
|
||||
"Validate Email": "Validate Email",
|
||||
"Email": "Eメールアドレス",
|
||||
"Cache Response": "キャッシュ応答",
|
||||
"Store the response in the project store for future use.": "今後使用するためにプロジェクトストアに応答を保存します。"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"ZeroBounce is an email validation service that helps you reduce bounces, improve email deliverability and increase email marketing ROI.": "ZeroBounce is een e-mail validatie service die helpt om bounces, de afleverbaarheid van e-mail te verbeteren en de ROI van e-mail marketing te verhogen.",
|
||||
"Validate Email": "Validate Email",
|
||||
"Email": "E-mail",
|
||||
"Cache Response": "Cache antwoord",
|
||||
"Store the response in the project store for future use.": "Sla het antwoord op in de projectopslag op voor toekomstig gebruik."
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"ZeroBounce is an email validation service that helps you reduce bounces, improve email deliverability and increase email marketing ROI.": "ZeroBounce é um serviço de validação de e-mail que ajuda a reduzir devoluções, melhorar a entrega de e-mails e aumentar a ROI de marketing por e-mail.",
|
||||
"Validate Email": "Validate Email",
|
||||
"Email": "e-mail",
|
||||
"Cache Response": "Resposta em cache",
|
||||
"Store the response in the project store for future use.": "Armazene a resposta na loja do projeto para uso futuro."
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"ZeroBounce": "Жеробунс",
|
||||
"ZeroBounce is an email validation service that helps you reduce bounces, improve email deliverability and increase email marketing ROI.": "ZeroBounce это сервис проверки электронной почты, который помогает вам уменьшить отказы, улучшить доставку электронной почты и увеличить ROI маркетинга.",
|
||||
"Validate Email": "Validate Email",
|
||||
"Email": "Почта",
|
||||
"Cache Response": "Ответ кэша",
|
||||
"Store the response in the project store for future use.": "Сохранять ответ в магазине проекта для последующего использования."
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"ZeroBounce is an email validation service that helps you reduce bounces, improve email deliverability and increase email marketing ROI.": "ZeroBounce is an email validation service that helps you reduce bounces, improve email deliverability and increase email marketing ROI.",
|
||||
"Validate Email": "Validate Email",
|
||||
"Email": "Email",
|
||||
"Cache Response": "Cache Response",
|
||||
"Store the response in the project store for future use.": "Store the response in the project store for future use."
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"ZeroBounce": "ZeroBounce",
|
||||
"ZeroBounce is an email validation service that helps you reduce bounces, improve email deliverability and increase email marketing ROI.": "ZeroBounce is an email validation service that helps you reduce bounces, improve email deliverability and increase email marketing ROI.",
|
||||
"Validate Email": "Validate Email",
|
||||
"Email": "Email",
|
||||
"Cache Response": "Cache Response",
|
||||
"Store the response in the project store for future use.": "Store the response in the project store for future use."
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"ZeroBounce is an email validation service that helps you reduce bounces, improve email deliverability and increase email marketing ROI.": "ZeroBounce is an email validation service that helps you reduce bounces, improve email deliverability and increase email marketing ROI.",
|
||||
"Validate Email": "Validate Email",
|
||||
"Email": "电子邮件地址",
|
||||
"Cache Response": "Cache Response",
|
||||
"Store the response in the project store for future use.": "Store the response in the project store for future use."
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
|
||||
import { createPiece, PieceAuth } from "@activepieces/pieces-framework";
|
||||
import { validateEmail } from "./lib/actions/validate-email";
|
||||
|
||||
export const zerobounceAuth = PieceAuth.SecretText({
|
||||
displayName: 'API Key',
|
||||
required: true,
|
||||
});
|
||||
|
||||
export const zerobounce = createPiece({
|
||||
displayName: "ZeroBounce",
|
||||
auth: zerobounceAuth,
|
||||
description: "ZeroBounce is an email validation service that helps you reduce bounces, improve email deliverability and increase email marketing ROI.",
|
||||
minimumSupportedRelease: '0.30.0',
|
||||
logoUrl: "https://cdn.activepieces.com/pieces/zerobounce.png",
|
||||
authors: ["abuaboud"],
|
||||
actions: [validateEmail],
|
||||
triggers: [],
|
||||
});
|
||||
@@ -0,0 +1,40 @@
|
||||
import { zerobounceAuth } from '../..';
|
||||
import { createAction, Property, StoreScope } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { isNil } from '@activepieces/shared';
|
||||
|
||||
export const validateEmail = createAction({
|
||||
name: 'validateEmail',
|
||||
displayName: 'Validate Email',
|
||||
description: '',
|
||||
props: {
|
||||
email: Property.ShortText({
|
||||
displayName: 'Email',
|
||||
required: true,
|
||||
}),
|
||||
cacheResponse: Property.Checkbox({
|
||||
displayName: 'Cache Response',
|
||||
description: 'Store the response in the project store for future use.',
|
||||
required: false,
|
||||
defaultValue: true,
|
||||
}),
|
||||
},
|
||||
auth: zerobounceAuth,
|
||||
async run({ store, propsValue, auth }) {
|
||||
const key = `_zerobounce_${propsValue.email}`;
|
||||
if (propsValue.cacheResponse) {
|
||||
const cachedResponse = await store.get(key, StoreScope.PROJECT);
|
||||
if (!isNil(cachedResponse)) {
|
||||
return cachedResponse
|
||||
}
|
||||
}
|
||||
const res = await httpClient.sendRequest<string[]>({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://api.zerobounce.net/v2/validate?email=${propsValue.email}&api_key=${auth.secret_text}`,
|
||||
});
|
||||
if (propsValue.cacheResponse) {
|
||||
await store.put(key, res.body, StoreScope.PROJECT);
|
||||
}
|
||||
return res.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"extends": "../../../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"noImplicitOverride": true,
|
||||
"noPropertyAccessFromIndexSignature": true,
|
||||
"noImplicitReturns": true,
|
||||
"noFallthroughCasesInSwitch": true
|
||||
},
|
||||
"files": [],
|
||||
"include": [],
|
||||
"references": [
|
||||
{
|
||||
"path": "./tsconfig.lib.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"]
|
||||
}
|
||||
Reference in New Issue
Block a user