mirror of
https://github.com/n8n-io/n8n
synced 2026-04-21 15:47:20 +00:00
test: Remove cypress infrastracture (#21173)
This commit is contained in:
parent
cd403bda12
commit
4fe0ba10fe
167 changed files with 54 additions and 20601 deletions
|
|
@ -18,5 +18,4 @@ packages/**/*.test.*
|
||||||
docker/compose
|
docker/compose
|
||||||
docker/**/Dockerfile
|
docker/**/Dockerfile
|
||||||
.vscode
|
.vscode
|
||||||
packages/testing
|
packages/testing
|
||||||
cypress
|
|
||||||
|
|
@ -8,7 +8,6 @@ packages/cli/templates/form-trigger.handlebars
|
||||||
packages/cli/templates/form-trigger-completion.handlebars
|
packages/cli/templates/form-trigger-completion.handlebars
|
||||||
packages/cli/templates/form-trigger-409.handlebars
|
packages/cli/templates/form-trigger-409.handlebars
|
||||||
packages/cli/templates/form-trigger-404.handlebars
|
packages/cli/templates/form-trigger-404.handlebars
|
||||||
cypress/fixtures
|
|
||||||
CHANGELOG.md
|
CHANGELOG.md
|
||||||
.github/pull_request_template.md
|
.github/pull_request_template.md
|
||||||
# Ignored for now
|
# Ignored for now
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,6 @@ tail -n 20 build.log
|
||||||
- `pnpm test` - Run all tests
|
- `pnpm test` - Run all tests
|
||||||
- `pnpm test:affected` - Runs tests based on what has changed since the last
|
- `pnpm test:affected` - Runs tests based on what has changed since the last
|
||||||
commit
|
commit
|
||||||
- `pnpm dev:e2e` - E2E tests in development mode
|
|
||||||
|
|
||||||
Running a particular test file requires going to the directory of that test
|
Running a particular test file requires going to the directory of that test
|
||||||
and running: `pnpm test <test-file>`.
|
and running: `pnpm test <test-file>`.
|
||||||
|
|
@ -135,8 +134,8 @@ What we use for testing and writing tests:
|
||||||
- For testing nodes and other backend components, we use Jest for unit tests. Examples can be found in `packages/nodes-base/nodes/**/*test*`.
|
- For testing nodes and other backend components, we use Jest for unit tests. Examples can be found in `packages/nodes-base/nodes/**/*test*`.
|
||||||
- We use `nock` for server mocking
|
- We use `nock` for server mocking
|
||||||
- For frontend we use `vitest`
|
- For frontend we use `vitest`
|
||||||
- For e2e tests we use `Playwright` and `pnpm dev:e2e`. The old Cypress tests
|
- For E2E tests we use Playwright. Run with `pnpm --filter=n8n-playwright test:local`.
|
||||||
are being migrated to Playwright, so please use Playwright for new tests.
|
See `packages/testing/playwright/README.md` for details.
|
||||||
|
|
||||||
### Common Development Tasks
|
### Common Development Tasks
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -372,15 +372,15 @@ But when you are working on tests locally, we recommend running your tests with
|
||||||
|
|
||||||
#### E2E tests
|
#### E2E tests
|
||||||
|
|
||||||
⚠️ You have to run `pnpm cypress:install` to install cypress before running the tests for the first time and to update cypress.
|
n8n uses [Playwright](https://playwright.dev) for E2E testing.
|
||||||
|
|
||||||
E2E tests can be started via one of the following commands:
|
E2E tests can be started via one of the following commands:
|
||||||
|
|
||||||
- `pnpm test:e2e:ui`: Start n8n and run e2e tests interactively using built UI code. Does not react to code changes (i.e. runs `pnpm start` and `cypress open`)
|
- `pnpm --filter=n8n-playwright test:local` - Run tests locally (starts local server on port 5680 and runs UI tests)
|
||||||
- `pnpm test:e2e:dev`: Start n8n in development mode and run e2e tests interactively. Reacts to code changes (i.e. runs `pnpm dev` and `cypress open`)
|
- `pnpm --filter=n8n-playwright test:local --ui` - Run tests in interactive UI mode (useful for debugging)
|
||||||
- `pnpm test:e2e:all`: Start n8n and run e2e tests headless (i.e. runs `pnpm start` and `cypress run --headless`)
|
- `pnpm --filter=n8n-playwright test:local --grep="test-name"` - Run specific tests matching pattern
|
||||||
|
|
||||||
⚠️ Remember to stop your dev server before. Otherwise port binding will fail.
|
See `packages/testing/playwright/README.md` for more test commands and `packages/testing/playwright/CONTRIBUTING.md` for writing guidelines.
|
||||||
|
|
||||||
## Releasing
|
## Releasing
|
||||||
|
|
||||||
|
|
|
||||||
3
cypress/.gitignore
vendored
3
cypress/.gitignore
vendored
|
|
@ -1,3 +0,0 @@
|
||||||
videos/
|
|
||||||
screenshots/
|
|
||||||
downloads/
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
## Debugging Flaky End-to-End Tests - Usage
|
|
||||||
|
|
||||||
To debug flaky end-to-end (E2E) tests, use the following command:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pnpm run debug:flaky:e2e -- <grep_filter> <burn_count>
|
|
||||||
```
|
|
||||||
|
|
||||||
**Parameters:**
|
|
||||||
|
|
||||||
* `<grep_filter>`: (Optional) A string to filter tests by their `it()` or `describe()` block titles, or by tags if using the `@cypress/grep` plugin. If omitted, all tests will be run.
|
|
||||||
* `<burn_count>`: (Optional) The number of times to run the filtered tests. Defaults to 5 if not provided.
|
|
||||||
|
|
||||||
**Examples:**
|
|
||||||
|
|
||||||
1. **Run all tests tagged with `CAT-726` ten times:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pnpm run debug:flaky:e2e CAT-726 10
|
|
||||||
```
|
|
||||||
|
|
||||||
2. **Run all tests containing "login" five times (default burn count):**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pnpm run debug:flaky:e2e login
|
|
||||||
```
|
|
||||||
|
|
||||||
3. **Run all tests five times (default grep and burn count):**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pnpm run debug:flaky:e2e
|
|
||||||
```
|
|
||||||
4
cypress/augmentation.d.ts
vendored
4
cypress/augmentation.d.ts
vendored
|
|
@ -1,4 +0,0 @@
|
||||||
declare module 'cypress-otp' {
|
|
||||||
// eslint-disable-next-line import-x/no-default-export
|
|
||||||
export default function generateOTPToken(secret: string): string;
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "../node_modules/@biomejs/biome/configuration_schema.json",
|
|
||||||
"extends": ["../biome.jsonc"],
|
|
||||||
"formatter": {
|
|
||||||
"ignore": ["fixtures/**"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
//#region Getters
|
|
||||||
|
|
||||||
export const getBecomeTemplateCreatorCta = () => cy.getByTestId('become-template-creator-cta');
|
|
||||||
|
|
||||||
export const getCloseBecomeTemplateCreatorCtaButton = () =>
|
|
||||||
cy.getByTestId('close-become-template-creator-cta');
|
|
||||||
|
|
||||||
//#endregion
|
|
||||||
|
|
||||||
//#region Actions
|
|
||||||
|
|
||||||
export const interceptCtaRequestWithResponse = (becomeCreator: boolean) => {
|
|
||||||
return cy.intercept('GET', '/rest/cta/become-creator', {
|
|
||||||
body: becomeCreator,
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
//#endregion
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
export const universalAddButton = () => cy.getByTestId('universal-add');
|
|
||||||
|
|
||||||
export const createResource = (
|
|
||||||
resourceType: 'project' | 'workflow' | 'credential',
|
|
||||||
projectName: string,
|
|
||||||
) => {
|
|
||||||
universalAddButton().click();
|
|
||||||
cy.getByTestId('navigation-submenu')
|
|
||||||
.contains(new RegExp(resourceType, 'i'))
|
|
||||||
.should('be.visible')
|
|
||||||
.click();
|
|
||||||
|
|
||||||
if (resourceType !== 'project') {
|
|
||||||
cy.getByTestId('navigation-submenu-item')
|
|
||||||
.contains(new RegExp(projectName))
|
|
||||||
.should('be.visible')
|
|
||||||
.click();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
@ -1,114 +0,0 @@
|
||||||
export function getCredentialsPageUrl() {
|
|
||||||
return '/home/credentials';
|
|
||||||
}
|
|
||||||
|
|
||||||
export const verifyCredentialsListPageIsLoaded = () => {
|
|
||||||
cy.get('[data-test-id="resources-list-wrapper"], [data-test-id="empty-resources-list"]').should(
|
|
||||||
'be.visible',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const loadCredentialsPage = (credentialsPageUrl: string) => {
|
|
||||||
cy.visit(credentialsPageUrl);
|
|
||||||
verifyCredentialsListPageIsLoaded();
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Getters - Page
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function getEmptyListCreateCredentialButton() {
|
|
||||||
return cy.getByTestId('empty-resources-list').find('button');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getCredentialCards() {
|
|
||||||
return cy.getByTestId('resources-list-item');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Getters - Modal
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function getNewCredentialModal() {
|
|
||||||
return cy.getByTestId('selectCredential-modal', { timeout: 5000 });
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getEditCredentialModal() {
|
|
||||||
return cy.getByTestId('editCredential-modal', { timeout: 5000 });
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNewCredentialTypeSelect() {
|
|
||||||
return cy.getByTestId('new-credential-type-select');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNewCredentialTypeOption(credentialType: string) {
|
|
||||||
return cy.getByTestId('new-credential-type-select-option').contains(credentialType);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNewCredentialTypeButton() {
|
|
||||||
return cy.getByTestId('new-credential-type-button');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getCredentialConnectionParameterInputs() {
|
|
||||||
return cy.getByTestId('credential-connection-parameter');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getConnectionParameter(fieldName: string) {
|
|
||||||
return getCredentialConnectionParameterInputs().find(
|
|
||||||
`:contains('${fieldName}') .n8n-input input`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getCredentialSaveButton() {
|
|
||||||
return cy.getByTestId('credential-save-button', { timeout: 5000 });
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Actions - Modal
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function setCredentialName(name: string) {
|
|
||||||
cy.getByTestId('credential-name').find('span[data-test-id=inline-edit-preview]').click();
|
|
||||||
cy.getByTestId('credential-name').type(name);
|
|
||||||
}
|
|
||||||
export function saveCredential() {
|
|
||||||
getCredentialSaveButton()
|
|
||||||
.click({ force: true })
|
|
||||||
.within(() => {
|
|
||||||
cy.get('button').should('not.exist');
|
|
||||||
});
|
|
||||||
getCredentialSaveButton().should('have.text', 'Saved');
|
|
||||||
}
|
|
||||||
export function saveCredentialWithWait() {
|
|
||||||
cy.intercept('POST', '/rest/credentials').as('saveCredential');
|
|
||||||
saveCredential();
|
|
||||||
cy.wait('@saveCredential');
|
|
||||||
getCredentialSaveButton().should('contain.text', 'Saved');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function closeNewCredentialModal() {
|
|
||||||
getNewCredentialModal().find('.el-dialog__close').first().click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function createNewCredential(
|
|
||||||
type: string,
|
|
||||||
name: string,
|
|
||||||
parameter: string,
|
|
||||||
parameterValue: string,
|
|
||||||
closeModal = true,
|
|
||||||
) {
|
|
||||||
getEmptyListCreateCredentialButton().click();
|
|
||||||
|
|
||||||
getNewCredentialModal().should('be.visible');
|
|
||||||
getNewCredentialTypeSelect().should('be.visible');
|
|
||||||
getNewCredentialTypeOption(type).click();
|
|
||||||
|
|
||||||
getNewCredentialTypeButton().click();
|
|
||||||
getConnectionParameter(parameter).type(parameterValue);
|
|
||||||
|
|
||||||
setCredentialName(name);
|
|
||||||
saveCredential();
|
|
||||||
if (closeModal) {
|
|
||||||
getEditCredentialModal().find('.el-dialog__close').first().click();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
/**
|
|
||||||
* Getters
|
|
||||||
*/
|
|
||||||
|
|
||||||
export const getExecutionsSidebar = () => cy.getByTestId('executions-sidebar');
|
|
||||||
|
|
||||||
export const getWorkflowExecutionPreviewIframe = () => cy.getByTestId('workflow-preview-iframe');
|
|
||||||
|
|
||||||
export const getExecutionPreviewBody = () =>
|
|
||||||
getWorkflowExecutionPreviewIframe()
|
|
||||||
.its('0.contentDocument.body')
|
|
||||||
.should((body) => {
|
|
||||||
expect(body.querySelector('[data-test-id="canvas-wrapper"]')).to.exist;
|
|
||||||
})
|
|
||||||
.then((el) => cy.wrap(el));
|
|
||||||
|
|
||||||
export const getExecutionPreviewBodyNodes = () =>
|
|
||||||
getExecutionPreviewBody().findChildByTestId('canvas-node');
|
|
||||||
|
|
||||||
export const getExecutionPreviewBodyNodesByName = (name: string) =>
|
|
||||||
getExecutionPreviewBody().findChildByTestId('canvas-node').filter(`[data-name="${name}"]`).eq(0);
|
|
||||||
|
|
||||||
export function getExecutionPreviewOutputPanelRelatedExecutionLink() {
|
|
||||||
return getExecutionPreviewBody().findChildByTestId('related-execution-link');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getLogsOverviewStatus() {
|
|
||||||
return getExecutionPreviewBody().findChildByTestId('logs-overview-status');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getLogEntries() {
|
|
||||||
return getExecutionPreviewBody().findChildByTestId('logs-overview-body').find('[role=treeitem]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getManualChatMessages() {
|
|
||||||
return getExecutionPreviewBody().find('.chat-messages-list .chat-message');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Actions
|
|
||||||
*/
|
|
||||||
|
|
||||||
export const openExecutionPreviewNode = (name: string) =>
|
|
||||||
getExecutionPreviewBodyNodesByName(name).dblclick();
|
|
||||||
|
|
||||||
export const toggleAutoRefresh = () => cy.getByTestId('auto-refresh-checkbox').click();
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
export const overrideFeatureFlag = (name: string, value: boolean | string) => {
|
|
||||||
cy.window().then((win) => {
|
|
||||||
// If feature flags hasn't been initialized yet, we store the override
|
|
||||||
// in local storage and it gets loaded when the feature flags are
|
|
||||||
// initialized.
|
|
||||||
win.localStorage.setItem('N8N_EXPERIMENT_OVERRIDES', JSON.stringify({ [name]: value }));
|
|
||||||
|
|
||||||
if (win.featureFlags) {
|
|
||||||
win.featureFlags.override(name, value);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
@ -1,553 +0,0 @@
|
||||||
import { errorToast, successToast } from '../pages/notifications';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Getters
|
|
||||||
*/
|
|
||||||
export function getPersonalProjectMenuItem() {
|
|
||||||
return cy.getByTestId('project-personal-menu-item');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOverviewMenuItem() {
|
|
||||||
return cy.getByTestId('menu-item').contains('Overview');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getAddResourceDropdown() {
|
|
||||||
return cy.getByTestId('add-resource');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getFolderCards() {
|
|
||||||
return cy.getByTestId('folder-card');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getFolderCard(name: string) {
|
|
||||||
return cy.getByTestId('folder-card-name').contains(name).closest('[data-test-id="folder-card"]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getWorkflowCards() {
|
|
||||||
return cy.getByTestId('resources-list-item-workflow');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getWorkflowCard(name: string) {
|
|
||||||
return cy
|
|
||||||
.getByTestId('workflow-card-name')
|
|
||||||
.contains(name)
|
|
||||||
.closest('[data-test-id="resources-list-item-workflow"]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getWorkflowCardActions(name: string) {
|
|
||||||
return getWorkflowCard(name).find('[data-test-id="workflow-card-actions"]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getWorkflowCardActionItem(workflowName: string, actionName: string) {
|
|
||||||
return getWorkflowCardActions(workflowName)
|
|
||||||
.find('span[aria-controls]')
|
|
||||||
.invoke('attr', 'aria-controls')
|
|
||||||
.then((popperId) => {
|
|
||||||
return cy.get(`#${popperId}`).find(`[data-test-id="action-${actionName}"]`);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getDuplicateWorkflowModal() {
|
|
||||||
return cy.getByTestId('duplicate-modal');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getWorkflowMenu() {
|
|
||||||
return cy.getByTestId('workflow-menu');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getAddFolderButton() {
|
|
||||||
return cy.getByTestId('add-folder-button');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getListBreadcrumbs() {
|
|
||||||
return cy.getByTestId('main-breadcrumbs');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getHomeProjectBreadcrumb() {
|
|
||||||
return getListBreadcrumbs().findChildByTestId('home-project');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getListBreadcrumbItem(name: string) {
|
|
||||||
return getListBreadcrumbs().findChildByTestId('breadcrumbs-item').contains(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getVisibleListBreadcrumbs() {
|
|
||||||
return getListBreadcrumbs().findChildByTestId('breadcrumbs-item');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getCurrentBreadcrumb() {
|
|
||||||
return getListBreadcrumbs().findChildByTestId('breadcrumbs-item-current').find('input');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getCurrentBreadcrumbText() {
|
|
||||||
return getCurrentBreadcrumb().invoke('val');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getMainBreadcrumbsEllipsis() {
|
|
||||||
return getListBreadcrumbs().findChildByTestId('hidden-items-menu');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getMainBreadcrumbsEllipsisMenuItems() {
|
|
||||||
return cy
|
|
||||||
.getByTestId('hidden-items-menu')
|
|
||||||
.find('span[aria-controls]')
|
|
||||||
.invoke('attr', 'aria-controls')
|
|
||||||
.then((popperId) => {
|
|
||||||
return cy.get(`#${popperId}`).find('li');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getFolderCardBreadCrumbs(folderName: string) {
|
|
||||||
return getFolderCard(folderName).find('[data-test-id="folder-card-breadcrumbs"]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getFolderCardBreadCrumbsEllipsis(folderName: string) {
|
|
||||||
return getFolderCardBreadCrumbs(folderName).find('[data-test-id="ellipsis"]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getFolderCardHomeProjectBreadcrumb(folderName: string) {
|
|
||||||
return getFolderCardBreadCrumbs(folderName).find('[data-test-id="folder-card-home-project"]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getFolderCardCurrentBreadcrumb(folderName: string) {
|
|
||||||
return getFolderCardBreadCrumbs(folderName).find('[data-test-id="breadcrumbs-item-current"]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOpenHiddenItemsTooltip() {
|
|
||||||
return cy.getByTestId('hidden-items-tooltip').filter(':visible');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getListActionsToggle() {
|
|
||||||
return cy.getByTestId('folder-breadcrumbs-actions');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getCanvasBreadcrumbs() {
|
|
||||||
cy.getByTestId('canvas-breadcrumbs').should('exist');
|
|
||||||
return cy.getByTestId('canvas-breadcrumbs').findChildByTestId('folder-breadcrumbs');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getListActionItem(name: string) {
|
|
||||||
return cy
|
|
||||||
.getByTestId('folder-breadcrumbs-actions')
|
|
||||||
.find('span[aria-controls]')
|
|
||||||
.invoke('attr', 'aria-controls')
|
|
||||||
.then((popperId) => {
|
|
||||||
return cy.get(`#${popperId}`).find(`[data-test-id="action-${name}"]`);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getInlineEditInput() {
|
|
||||||
return cy.getByTestId('inline-edit-input');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getFolderCardActionToggle(folderName: string) {
|
|
||||||
return getFolderCard(folderName).find('[data-test-id="folder-card-actions"]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getFolderCardActionItem(folderName: string, actionName: string) {
|
|
||||||
return getFolderCard(folderName)
|
|
||||||
.findChildByTestId('folder-card-actions')
|
|
||||||
.filter(':visible')
|
|
||||||
.find('span[aria-controls]')
|
|
||||||
.invoke('attr', 'aria-controls')
|
|
||||||
.then((popperId) => {
|
|
||||||
return cy.get(`#${popperId}`).find(`[data-test-id="action-${actionName}"]`);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getFolderDeleteModal() {
|
|
||||||
return cy.getByTestId('deleteFolder-modal');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getMoveFolderModal() {
|
|
||||||
return cy.getByTestId('moveFolder-modal');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getDeleteRadioButton() {
|
|
||||||
return cy.getByTestId('delete-content-radio');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getTransferContentRadioButton() {
|
|
||||||
return cy.getByTestId('transfer-content-radio');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getConfirmDeleteInput() {
|
|
||||||
return getFolderDeleteModal().findChildByTestId('delete-data-input').find('input');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getDeleteFolderModalConfirmButton() {
|
|
||||||
return getFolderDeleteModal().findChildByTestId('confirm-delete-folder-button');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getProjectEmptyState() {
|
|
||||||
return cy.getByTestId('list-empty-state');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getFolderEmptyState() {
|
|
||||||
return cy.getByTestId('empty-folder-container');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getProjectMenuItem(name: string) {
|
|
||||||
if (name.toLowerCase() === 'personal') {
|
|
||||||
return getPersonalProjectMenuItem();
|
|
||||||
}
|
|
||||||
return cy.getByTestId('project-menu-item').contains(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getMoveToFolderDropdown() {
|
|
||||||
return cy.getByTestId('move-to-folder-dropdown');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getMoveToFolderOption(name: string) {
|
|
||||||
return cy.getByTestId('move-to-folder-option').contains(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getMoveToFolderInput() {
|
|
||||||
return getMoveToFolderDropdown().find('input');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getProjectSharingInput() {
|
|
||||||
return cy.getByTestId('project-sharing-select');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getProjectSharingOption(name: string) {
|
|
||||||
return cy.getByTestId('project-sharing-info').contains(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getEmptyFolderDropdownMessage(text: string) {
|
|
||||||
return cy.get('.el-select-dropdown__empty').contains(text);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getMoveFolderConfirmButton() {
|
|
||||||
return cy.getByTestId('confirm-move-folder-button');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getMoveWorkflowModal() {
|
|
||||||
return cy.getByTestId('moveFolder-modal');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getWorkflowCardBreadcrumbs(workflowName: string) {
|
|
||||||
return getWorkflowCard(workflowName).find('[data-test-id="workflow-card-breadcrumbs"]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getWorkflowCardBreadcrumbsEllipsis(workflowName: string) {
|
|
||||||
return getWorkflowCardBreadcrumbs(workflowName).find('[data-test-id="ellipsis"]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNewFolderNameInput() {
|
|
||||||
return cy.get('.add-folder-modal').filter(':visible').find('input.el-input__inner');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNewFolderModalErrorMessage() {
|
|
||||||
return cy.get('.el-message-box__errormsg').filter(':visible');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getProjectTab(tabId: string) {
|
|
||||||
return cy.getByTestId('project-tabs').find(`#${tabId}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Actions
|
|
||||||
*/
|
|
||||||
export function goToPersonalProject() {
|
|
||||||
getPersonalProjectMenuItem().click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function createFolderInsideFolder(childName: string, parentName: string) {
|
|
||||||
getFolderCard(parentName).click();
|
|
||||||
createFolderFromListHeaderButton(childName);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function createFolderFromListHeaderButton(folderName: string) {
|
|
||||||
getAddFolderButton().click();
|
|
||||||
createNewFolder(folderName);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function createWorkflowFromEmptyState(workflowName?: string) {
|
|
||||||
getFolderEmptyState().find('button').contains('Create Workflow').click();
|
|
||||||
if (workflowName) {
|
|
||||||
cy.getByTestId('workflow-name-input').type(`{selectAll}{backspace}${workflowName}`, {
|
|
||||||
delay: 50,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
cy.getByTestId('workflow-save-button').click();
|
|
||||||
successToast().should('exist');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function createWorkflowFromProjectHeader(folderName?: string, workflowName?: string) {
|
|
||||||
cy.getByTestId('add-resource-workflow').click();
|
|
||||||
if (workflowName) {
|
|
||||||
cy.getByTestId('workflow-name-input').type(`{selectAll}{backspace}${workflowName}`, {
|
|
||||||
delay: 50,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
cy.getByTestId('workflow-save-button').click();
|
|
||||||
if (folderName) {
|
|
||||||
successToast().should(
|
|
||||||
'contain.text',
|
|
||||||
`Workflow successfully created in "Personal", within "${folderName}"`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function createWorkflowFromListDropdown(workflowName?: string) {
|
|
||||||
getListActionsToggle().click();
|
|
||||||
getListActionItem('create_workflow').click();
|
|
||||||
if (workflowName) {
|
|
||||||
cy.getByTestId('workflow-name-input').type(`{selectAll}{backspace}${workflowName}`, {
|
|
||||||
delay: 50,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
cy.getByTestId('workflow-save-button').click();
|
|
||||||
successToast().should('exist');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function createFolderFromProjectHeader(folderName: string) {
|
|
||||||
getAddResourceDropdown().click();
|
|
||||||
cy.getByTestId('action-folder').click();
|
|
||||||
createNewFolder(folderName);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function createFolderFromListDropdown(folderName: string) {
|
|
||||||
getListActionsToggle().click();
|
|
||||||
getListActionItem('create').click();
|
|
||||||
createNewFolder(folderName);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function createFolderFromCardActions(parentName: string, folderName: string) {
|
|
||||||
getFolderCardActionToggle(parentName).click();
|
|
||||||
getFolderCardActionItem(parentName, 'create').click();
|
|
||||||
createNewFolder(folderName);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function renameFolderFromListActions(folderName: string, newName: string) {
|
|
||||||
getFolderCard(folderName).click();
|
|
||||||
getListActionsToggle().click();
|
|
||||||
getListActionItem('rename').click();
|
|
||||||
getInlineEditInput().should('be.visible');
|
|
||||||
getInlineEditInput().type(`${newName}{enter}`, { delay: 50 });
|
|
||||||
successToast().should('exist');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function renameFolderFromCardActions(folderName: string, newName: string) {
|
|
||||||
getFolderCardActionToggle(folderName).click();
|
|
||||||
getFolderCardActionItem(folderName, 'rename').click();
|
|
||||||
renameFolder(newName);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function duplicateWorkflowFromCardActions(workflowName: string, duplicateName: string) {
|
|
||||||
getWorkflowCardActions(workflowName).click();
|
|
||||||
getWorkflowCardActionItem(workflowName, 'duplicate').click();
|
|
||||||
getDuplicateWorkflowModal().find('input').first().type('{selectall}');
|
|
||||||
getDuplicateWorkflowModal().find('input').first().type(duplicateName);
|
|
||||||
getDuplicateWorkflowModal().find('button').contains('Duplicate').click();
|
|
||||||
errorToast().should('not.exist');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function duplicateWorkflowFromWorkflowPage(duplicateName: string) {
|
|
||||||
getWorkflowMenu().click();
|
|
||||||
cy.getByTestId('workflow-menu-item-duplicate').click();
|
|
||||||
getDuplicateWorkflowModal().find('input').first().type('{selectall}');
|
|
||||||
getDuplicateWorkflowModal().find('input').first().type(duplicateName);
|
|
||||||
getDuplicateWorkflowModal().find('button').contains('Duplicate').click();
|
|
||||||
errorToast().should('not.exist');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function deleteEmptyFolderFromCardDropdown(folderName: string) {
|
|
||||||
cy.intercept('DELETE', '/rest/projects/**').as('deleteFolder');
|
|
||||||
getFolderCard(folderName).click();
|
|
||||||
getListActionsToggle().click();
|
|
||||||
getListActionItem('delete').click();
|
|
||||||
cy.wait('@deleteFolder');
|
|
||||||
successToast().should('contain.text', 'Folder deleted');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function deleteEmptyFolderFromListDropdown(folderName: string) {
|
|
||||||
cy.intercept('DELETE', '/rest/projects/**').as('deleteFolder');
|
|
||||||
getFolderCard(folderName).click();
|
|
||||||
getListActionsToggle().click();
|
|
||||||
getListActionItem('delete').click();
|
|
||||||
cy.wait('@deleteFolder');
|
|
||||||
successToast().should('contain.text', 'Folder deleted');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function deleteFolderWithContentsFromListDropdown(folderName: string) {
|
|
||||||
getListActionsToggle().click();
|
|
||||||
getListActionItem('delete').click();
|
|
||||||
confirmFolderDelete(folderName);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function deleteFolderWithContentsFromCardDropdown(folderName: string) {
|
|
||||||
getFolderCardActionToggle(folderName).click();
|
|
||||||
getFolderCardActionItem(folderName, 'delete').click();
|
|
||||||
confirmFolderDelete(folderName);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function deleteAndTransferFolderContentsFromCardDropdown(
|
|
||||||
folderName: string,
|
|
||||||
destinationName: string,
|
|
||||||
) {
|
|
||||||
getFolderCardActionToggle(folderName).click();
|
|
||||||
getFolderCardActionItem(folderName, 'delete').click();
|
|
||||||
deleteFolderAndMoveContents(folderName, destinationName);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function deleteAndTransferFolderContentsFromListDropdown(destinationName: string) {
|
|
||||||
getListActionsToggle().click();
|
|
||||||
getListActionItem('delete').click();
|
|
||||||
getCurrentBreadcrumbText().then((currentFolderName) => {
|
|
||||||
deleteFolderAndMoveContents(String(currentFolderName), destinationName);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
export function createNewProject(projectName: string, options: { openAfterCreate?: boolean } = {}) {
|
|
||||||
cy.getByTestId('universal-add').should('exist').click();
|
|
||||||
cy.getByTestId('navigation-menu-item').contains('Project').click();
|
|
||||||
cy.getByTestId('project-settings-name-input').type(projectName, { delay: 50 });
|
|
||||||
cy.getByTestId('project-settings-save-button').click();
|
|
||||||
successToast().should('exist');
|
|
||||||
if (options.openAfterCreate) {
|
|
||||||
getProjectMenuItem(projectName).click();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function moveFolderFromFolderCardActions(folderName: string, destinationName: string) {
|
|
||||||
getFolderCardActionToggle(folderName).click();
|
|
||||||
getFolderCardActionItem(folderName, 'move').click();
|
|
||||||
moveFolder(folderName, destinationName);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function moveFolderFromListActions(folderName: string, destinationName: string) {
|
|
||||||
getFolderCard(folderName).click();
|
|
||||||
getListActionsToggle().click();
|
|
||||||
getListActionItem('move').click();
|
|
||||||
moveFolder(folderName, destinationName);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function moveWorkflowToFolder(workflowName: string, folderName: string) {
|
|
||||||
getWorkflowCardActions(workflowName).click();
|
|
||||||
getWorkflowCardActionItem(workflowName, 'moveToFolder').click();
|
|
||||||
getMoveFolderModal().should('be.visible');
|
|
||||||
getMoveToFolderDropdown().click();
|
|
||||||
getMoveToFolderInput().type(folderName, { delay: 50 });
|
|
||||||
getMoveToFolderOption(folderName).should('be.visible').click();
|
|
||||||
getMoveFolderConfirmButton().should('be.enabled').click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function dragAndDropToFolder(sourceName: string, destinationName: string) {
|
|
||||||
const draggable = `[data-test-id=draggable]:has([data-resourcename="${sourceName}"])`;
|
|
||||||
const droppable = `[data-test-id=draggable]:has([data-resourcename="${destinationName}"])`;
|
|
||||||
cy.get(draggable).trigger('mousedown');
|
|
||||||
cy.draganddrop(draggable, droppable, { position: 'center' });
|
|
||||||
}
|
|
||||||
|
|
||||||
export function dragAndDropToProjectRoot(sourceName: string) {
|
|
||||||
const draggable = `[data-test-id=draggable]:has([data-resourcename="${sourceName}"])`;
|
|
||||||
const droppable = '[data-test-id="home-project"]';
|
|
||||||
cy.get(draggable).trigger('mousedown');
|
|
||||||
cy.draganddrop(draggable, droppable, { position: 'center' });
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Utils
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Types folder name in the prompt and waits for the folder to be created
|
|
||||||
* @param name
|
|
||||||
*/
|
|
||||||
function createNewFolder(name: string) {
|
|
||||||
cy.intercept('POST', '/rest/projects/**').as('createFolder');
|
|
||||||
cy.get('[role=dialog]')
|
|
||||||
.filter(':visible')
|
|
||||||
.within(() => {
|
|
||||||
cy.get('input.el-input__inner').type(name, { delay: 50 });
|
|
||||||
cy.get('button.btn--confirm').click();
|
|
||||||
});
|
|
||||||
cy.wait('@createFolder');
|
|
||||||
successToast().should('exist');
|
|
||||||
}
|
|
||||||
|
|
||||||
function renameFolder(newName: string) {
|
|
||||||
cy.intercept('PATCH', '/rest/projects/**').as('renameFolder');
|
|
||||||
cy.get('[role=dialog]')
|
|
||||||
.filter(':visible')
|
|
||||||
.within(() => {
|
|
||||||
cy.get('input.el-input__inner').type('{selectall}');
|
|
||||||
cy.get('input.el-input__inner').type(newName, { delay: 50 });
|
|
||||||
cy.get('button.btn--confirm').click();
|
|
||||||
});
|
|
||||||
cy.wait('@renameFolder');
|
|
||||||
successToast().should('exist');
|
|
||||||
}
|
|
||||||
|
|
||||||
function confirmFolderDelete(folderName: string) {
|
|
||||||
cy.intercept('DELETE', '/rest/projects/**').as('deleteFolder');
|
|
||||||
getFolderDeleteModal().should('be.visible');
|
|
||||||
getDeleteRadioButton().click();
|
|
||||||
getConfirmDeleteInput().should('be.visible');
|
|
||||||
getConfirmDeleteInput().type(`delete ${folderName}`, { delay: 50 });
|
|
||||||
getDeleteFolderModalConfirmButton().should('be.enabled').click();
|
|
||||||
cy.wait('@deleteFolder');
|
|
||||||
successToast().contains('Folder deleted').should('exist');
|
|
||||||
}
|
|
||||||
|
|
||||||
function deleteFolderAndMoveContents(folderName: string, destinationName: string) {
|
|
||||||
cy.intercept('DELETE', '/rest/projects/**').as('deleteFolder');
|
|
||||||
getFolderDeleteModal().should('be.visible');
|
|
||||||
getFolderDeleteModal().find('h1').first().contains(`Delete '${folderName}'`);
|
|
||||||
getTransferContentRadioButton().should('be.visible').click();
|
|
||||||
getMoveToFolderDropdown().click();
|
|
||||||
getMoveToFolderInput().type(destinationName);
|
|
||||||
getMoveToFolderOption(destinationName).click();
|
|
||||||
getDeleteFolderModalConfirmButton().should('be.enabled').click();
|
|
||||||
cy.wait('@deleteFolder');
|
|
||||||
successToast().should('contain.text', `Data transferred to '${destinationName}'`);
|
|
||||||
}
|
|
||||||
|
|
||||||
function moveFolder(folderName: string, destinationName: string) {
|
|
||||||
cy.intercept('PATCH', '/rest/projects/**').as('moveFolder');
|
|
||||||
getMoveFolderModal().should('be.visible');
|
|
||||||
getMoveFolderModal().find('h1').first().contains(`Move folder ${folderName}`);
|
|
||||||
|
|
||||||
// The dropdown focuses after a small delay (once modal's slide in animation is done).
|
|
||||||
// On the component we listen for an event, but here the wait should be very predictable.
|
|
||||||
cy.wait(500);
|
|
||||||
|
|
||||||
// Try to find current folder in the dropdown
|
|
||||||
// This tests that auto-focus worked as expected
|
|
||||||
cy.focused().type(folderName, { delay: 50 });
|
|
||||||
// Should not be available
|
|
||||||
getEmptyFolderDropdownMessage('No folders found').should('exist');
|
|
||||||
// Select destination folder
|
|
||||||
getMoveToFolderInput().type(`{selectall}{backspace}${destinationName}`, {
|
|
||||||
delay: 50,
|
|
||||||
});
|
|
||||||
getMoveToFolderOption(destinationName).should('be.visible').click();
|
|
||||||
getMoveFolderConfirmButton().should('be.enabled').click();
|
|
||||||
cy.wait('@moveFolder');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function transferWorkflow(
|
|
||||||
workflowName: string,
|
|
||||||
projectName: string,
|
|
||||||
destinationFolder?: string,
|
|
||||||
) {
|
|
||||||
getMoveFolderModal().should('be.visible');
|
|
||||||
getMoveFolderModal().find('h1').first().contains(`Move workflow ${workflowName}`);
|
|
||||||
|
|
||||||
cy.wait(500);
|
|
||||||
|
|
||||||
getProjectSharingInput().should('be.visible').click();
|
|
||||||
cy.focused().type(projectName, { delay: 50 });
|
|
||||||
getProjectSharingOption(projectName).should('be.visible').click();
|
|
||||||
|
|
||||||
if (destinationFolder) {
|
|
||||||
getMoveToFolderInput().click();
|
|
||||||
// Select destination folder
|
|
||||||
cy.focused().type(destinationFolder, { delay: 50 });
|
|
||||||
getMoveToFolderOption(destinationFolder).should('be.visible').click();
|
|
||||||
}
|
|
||||||
|
|
||||||
getMoveFolderConfirmButton().should('be.enabled').click();
|
|
||||||
}
|
|
||||||
|
|
@ -1,92 +0,0 @@
|
||||||
/**
|
|
||||||
* Accessors
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function getOverviewPanel() {
|
|
||||||
return cy.getByTestId('logs-overview');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOverviewPanelBody() {
|
|
||||||
return cy.getByTestId('logs-overview-body');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOverviewStatus() {
|
|
||||||
return cy.getByTestId('logs-overview-status');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getLogEntries() {
|
|
||||||
return cy.getByTestId('logs-overview-body').find('[role=treeitem]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getSelectedLogEntry() {
|
|
||||||
return cy.getByTestId('logs-overview-body').find('[role=treeitem][aria-selected=true]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getInputPanel() {
|
|
||||||
return cy.getByTestId('log-details-input');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getInputTableRows() {
|
|
||||||
return cy.getByTestId('log-details-input').find('table tr');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getInputTbodyCell(row: number, col: number) {
|
|
||||||
return cy.getByTestId('log-details-input').find('table tr').eq(row).find('td').eq(col);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNodeErrorMessageHeader() {
|
|
||||||
return cy.getByTestId('log-details-output').findChildByTestId('node-error-message');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputPanel() {
|
|
||||||
return cy.getByTestId('log-details-output');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputTableRows() {
|
|
||||||
return cy.getByTestId('log-details-output').find('table tr');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputTbodyCell(row: number, col: number) {
|
|
||||||
return cy.getByTestId('log-details-output').find('table tr').eq(row).find('td').eq(col);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Actions
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function openLogsPanel() {
|
|
||||||
cy.getByTestId('logs-overview-header').click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function pressClearExecutionButton() {
|
|
||||||
cy.getByTestId('logs-overview-header').find('button').contains('Clear execution').click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clickLogEntryAtRow(rowIndex: number) {
|
|
||||||
getLogEntries().eq(rowIndex).click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function toggleInputPanel() {
|
|
||||||
cy.getByTestId('log-details-header').contains('Input').click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clickOpenNdvAtRow(rowIndex: number) {
|
|
||||||
getLogEntries().eq(rowIndex).trigger('focus').realHover();
|
|
||||||
getLogEntries().eq(rowIndex).find('[aria-label="Open..."]').click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clickTriggerPartialExecutionAtRow(rowIndex: number) {
|
|
||||||
getLogEntries().eq(rowIndex).scrollIntoView();
|
|
||||||
getLogEntries().eq(rowIndex).realHover();
|
|
||||||
getLogEntries().eq(rowIndex).find('[aria-label="Execute step"]').click({ force: true });
|
|
||||||
}
|
|
||||||
|
|
||||||
export function setInputDisplayMode(mode: 'table' | 'ai' | 'json' | 'schema') {
|
|
||||||
cy.getByTestId('log-details-input').realHover();
|
|
||||||
cy.getByTestId('log-details-input').findChildByTestId(`radio-button-${mode}`).click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function setOutputDisplayMode(mode: 'table' | 'ai' | 'json' | 'schema') {
|
|
||||||
cy.getByTestId('log-details-output').realHover();
|
|
||||||
cy.getByTestId('log-details-output').findChildByTestId(`radio-button-${mode}`).click();
|
|
||||||
}
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
||||||
/**
|
|
||||||
* Getters
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function getManualChatModal() {
|
|
||||||
return cy.getByTestId('canvas-chat');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getManualChatInput() {
|
|
||||||
return getManualChatModal().get('.chat-inputs textarea');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getManualChatSendButton() {
|
|
||||||
return getManualChatModal().get('.chat-input-send-button');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getManualChatMessages() {
|
|
||||||
return getManualChatModal().get('.chat-messages-list .chat-message');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getManualChatModalCloseButton() {
|
|
||||||
return cy.getByTestId('workflow-chat-button');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getManualChatDialog() {
|
|
||||||
return getManualChatModal().getByTestId('workflow-lm-chat-dialog');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Actions
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function sendManualChatMessage(message: string) {
|
|
||||||
getManualChatInput().type(message);
|
|
||||||
getManualChatSendButton().click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function closeManualChatModal() {
|
|
||||||
getManualChatModalCloseButton().click();
|
|
||||||
}
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
/**
|
|
||||||
* Getters
|
|
||||||
*/
|
|
||||||
|
|
||||||
import { clearNotifications } from '../../pages/notifications';
|
|
||||||
|
|
||||||
export function getCredentialConnectionParameterInputs() {
|
|
||||||
return cy.getByTestId('credential-connection-parameter');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getCredentialConnectionParameterInputByName(name: string) {
|
|
||||||
return cy.getByTestId(`parameter-input-${name}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getEditCredentialModal() {
|
|
||||||
return cy.getByTestId('editCredential-modal', { timeout: 5000 });
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getCredentialSaveButton() {
|
|
||||||
return cy.getByTestId('credential-save-button', { timeout: 5000 });
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getCredentialDeleteButton() {
|
|
||||||
return cy.getByTestId('credential-delete-button');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getCredentialModalCloseButton() {
|
|
||||||
return getEditCredentialModal().find('.el-dialog__close').first();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Actions
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function setCredentialConnectionParameterInputByName(name: string, value: string) {
|
|
||||||
getCredentialConnectionParameterInputByName(name).type(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function saveCredential() {
|
|
||||||
getCredentialSaveButton()
|
|
||||||
.click({ force: true })
|
|
||||||
.within(() => {
|
|
||||||
cy.get('button').should('not.exist');
|
|
||||||
});
|
|
||||||
getCredentialSaveButton().should('have.text', 'Saved');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function closeCredentialModal() {
|
|
||||||
getCredentialModalCloseButton().click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function setCredentialValues(values: Record<string, string>, save = true) {
|
|
||||||
Object.entries(values).forEach(([key, value]) => {
|
|
||||||
setCredentialConnectionParameterInputByName(key, value);
|
|
||||||
});
|
|
||||||
|
|
||||||
if (save) {
|
|
||||||
saveCredential();
|
|
||||||
closeCredentialModal();
|
|
||||||
clearNotifications();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
export function getSaveChangesModal() {
|
|
||||||
return cy.get('.el-overlay').contains('Save changes before leaving?');
|
|
||||||
}
|
|
||||||
|
|
||||||
// this is the button next to 'Save Changes'
|
|
||||||
export function getCancelSaveChangesButton() {
|
|
||||||
return cy.get('.btn--cancel');
|
|
||||||
}
|
|
||||||
|
|
||||||
// This is the top right 'x'
|
|
||||||
export function getCloseSaveChangesButton() {
|
|
||||||
return cy.get('.el-message-box__headerbtn');
|
|
||||||
}
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
/**
|
|
||||||
* Getters
|
|
||||||
*/
|
|
||||||
|
|
||||||
export const getWorkflowCredentialsModal = () => cy.getByTestId('setup-workflow-credentials-modal');
|
|
||||||
|
|
||||||
export const getContinueButton = () => cy.getByTestId('continue-button');
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Actions
|
|
||||||
*/
|
|
||||||
|
|
||||||
export const closeModalFromContinueButton = () => getContinueButton().click();
|
|
||||||
|
|
@ -1,347 +0,0 @@
|
||||||
/**
|
|
||||||
* Getters
|
|
||||||
*/
|
|
||||||
|
|
||||||
import { getVisiblePopper, getVisibleSelect } from '../utils/popper';
|
|
||||||
|
|
||||||
export function getNdvContainer() {
|
|
||||||
return cy.getByTestId('ndv');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getCredentialSelect(eq = 0) {
|
|
||||||
return cy.getByTestId('node-credentials-select').eq(eq);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getCreateNewCredentialOption() {
|
|
||||||
return cy.getByTestId('node-credentials-select-item-new');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getBackToCanvasButton() {
|
|
||||||
return cy.getByTestId('back-to-canvas');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getExecuteNodeButton() {
|
|
||||||
return cy.getByTestId('node-execute-button');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getParameterInputByName(name: string) {
|
|
||||||
return cy.getByTestId(`parameter-input-${name}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getInputPanel() {
|
|
||||||
return cy.getByTestId('ndv-input-panel');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getInputSelect() {
|
|
||||||
return cy.getByTestId('ndv-input-select').find('input');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getInputLinkRun() {
|
|
||||||
return getInputPanel().findChildByTestId('link-run');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getMainPanel() {
|
|
||||||
return cy.getByTestId('node-parameters');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputPanel() {
|
|
||||||
return cy.getByTestId('output-panel');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getFixedCollection(collectionName: string) {
|
|
||||||
return cy.getByTestId(`fixed-collection-${collectionName}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getResourceLocator(paramName: string) {
|
|
||||||
return cy.getByTestId(`resource-locator-${paramName}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getResourceLocatorInput(paramName: string) {
|
|
||||||
return getResourceLocator(paramName).find('[data-test-id="rlc-input-container"]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getInputPanelDataContainer() {
|
|
||||||
return getInputPanel().findChildByTestId('ndv-data-container');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getInputTableRows() {
|
|
||||||
return getInputPanelDataContainer().find('table tr');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getInputTbodyCell(row: number, col: number) {
|
|
||||||
return getInputTableRows().eq(row).find('td').eq(col);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getInputRunSelector() {
|
|
||||||
return cy.get('[data-test-id="ndv-input-panel"] [data-test-id="run-selector"]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getInputPanelItemsCount() {
|
|
||||||
return getInputPanel().getByTestId('ndv-items-count');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputPanelDataContainer() {
|
|
||||||
return getOutputPanel().findChildByTestId('ndv-data-container');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputTableRows() {
|
|
||||||
return getOutputPanelDataContainer().find('table tr');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputTableRow(row: number) {
|
|
||||||
return getOutputTableRows().eq(row);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputTableHeaders() {
|
|
||||||
return getOutputPanelDataContainer().find('table thead th');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputTableHeaderByText(text: string) {
|
|
||||||
return getOutputTableHeaders().contains(text);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputTbodyCell(row: number, col: number) {
|
|
||||||
return getOutputTableRows().eq(row).find('td').eq(col);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputRunSelector() {
|
|
||||||
return cy.get('[data-test-id="output-panel"] [data-test-id="run-selector"]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputRunSelectorInput() {
|
|
||||||
return getOutputRunSelector().find('input');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputPanelTable() {
|
|
||||||
return getOutputPanelDataContainer().get('table');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getRunDataInfoCallout() {
|
|
||||||
return cy.getByTestId('run-data-callout');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputPanelItemsCount() {
|
|
||||||
return getOutputPanel().getByTestId('ndv-items-count');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputPanelRelatedExecutionLink() {
|
|
||||||
return getOutputPanel().getByTestId('related-execution-link');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNodeOutputHint() {
|
|
||||||
return cy.getByTestId('ndv-output-run-node-hint');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getWorkflowCards() {
|
|
||||||
return cy.getByTestId('resources-list-item-workflow');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getWorkflowCard(workflowName: string) {
|
|
||||||
return getWorkflowCards()
|
|
||||||
.contains(workflowName)
|
|
||||||
.parents('[data-test-id="resources-list-item-workflow"]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getWorkflowCardContent(workflowName: string) {
|
|
||||||
return getWorkflowCard(workflowName).findChildByTestId('card-content');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNodeRunInfoStale() {
|
|
||||||
return cy.getByTestId('node-run-info-stale');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNodeOutputErrorMessage() {
|
|
||||||
return getOutputPanel().findChildByTestId('node-error-message');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getParameterExpressionPreviewValue() {
|
|
||||||
return cy.getByTestId('parameter-expression-preview-value');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Actions
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function openCredentialSelect(eq = 0) {
|
|
||||||
getCredentialSelect(eq).click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function setCredentialByName(name: string) {
|
|
||||||
openCredentialSelect();
|
|
||||||
getCredentialSelect().contains(name).click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clickCreateNewCredential() {
|
|
||||||
openCredentialSelect();
|
|
||||||
getCreateNewCredentialOption().click({ force: true });
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clickGetBackToCanvas() {
|
|
||||||
getBackToCanvasButton().click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clickExecuteNode() {
|
|
||||||
getExecuteNodeButton().click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clickResourceLocatorInput(paramName: string) {
|
|
||||||
getResourceLocatorInput(paramName).click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function setParameterInputByName(name: string, value: string) {
|
|
||||||
getParameterInputByName(name).clear().type(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function checkParameterCheckboxInputByName(name: string) {
|
|
||||||
getParameterInputByName(name).find('input[type="checkbox"]').check({ force: true });
|
|
||||||
}
|
|
||||||
|
|
||||||
export function uncheckParameterCheckboxInputByName(name: string) {
|
|
||||||
getParameterInputByName(name).find('input[type="checkbox"]').uncheck({ force: true });
|
|
||||||
}
|
|
||||||
|
|
||||||
export function setParameterSelectByContent(name: string, content: string) {
|
|
||||||
getParameterInputByName(name).realClick();
|
|
||||||
getVisibleSelect().find('.option-headline').contains(content).click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function changeOutputRunSelector(runName: string) {
|
|
||||||
getOutputRunSelector().click();
|
|
||||||
getVisibleSelect().find('.el-select-dropdown__item').contains(runName).click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function addItemToFixedCollection(collectionName: string) {
|
|
||||||
getFixedCollection(collectionName).getByTestId('fixed-collection-add').click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function typeIntoFixedCollectionItem(collectionName: string, index: number, value: string) {
|
|
||||||
getFixedCollection(collectionName).within(() =>
|
|
||||||
cy.getByTestId('parameter-input').eq(index).type(value),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function selectResourceLocatorAddResourceItem(
|
|
||||||
resourceLocator: string,
|
|
||||||
expectedText: string,
|
|
||||||
) {
|
|
||||||
clickResourceLocatorInput(resourceLocator);
|
|
||||||
|
|
||||||
// getVisiblePopper().findChildByTestId('rlc-item-add-resource').eq(0).should('exist');
|
|
||||||
getVisiblePopper()
|
|
||||||
.findChildByTestId('rlc-item-add-resource')
|
|
||||||
.eq(0)
|
|
||||||
.find('span')
|
|
||||||
.should('contain.text', expectedText)
|
|
||||||
.click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function selectResourceLocatorItem(
|
|
||||||
resourceLocator: string,
|
|
||||||
index: number,
|
|
||||||
expectedText: string,
|
|
||||||
) {
|
|
||||||
clickResourceLocatorInput(resourceLocator);
|
|
||||||
|
|
||||||
getVisiblePopper().findChildByTestId('rlc-item').eq(0).should('exist');
|
|
||||||
getVisiblePopper()
|
|
||||||
.findChildByTestId('rlc-item')
|
|
||||||
.eq(index)
|
|
||||||
.find('span')
|
|
||||||
.should('contain.text', expectedText)
|
|
||||||
.click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clickWorkflowCardContent(workflowName: string) {
|
|
||||||
getWorkflowCardContent(workflowName).click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clickAssignmentCollectionAdd() {
|
|
||||||
cy.getByTestId('assignment-collection-drop-area').click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function assertNodeOutputHintExists() {
|
|
||||||
getNodeOutputHint().should('exist');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function assertNodeOutputErrorMessageExists() {
|
|
||||||
return getNodeOutputErrorMessage().should('exist');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Note that this only validates the expectedContent is *included* in the output table
|
|
||||||
export function assertOutputTableContent(expectedContent: unknown[][]) {
|
|
||||||
for (const [i, row] of expectedContent.entries()) {
|
|
||||||
for (const [j, value] of row.entries()) {
|
|
||||||
// + 1 to skip header
|
|
||||||
getOutputTbodyCell(1 + i, j).should('have.text', value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function populateMapperFields(fields: ReadonlyArray<[string, string]>) {
|
|
||||||
for (const [name, value] of fields) {
|
|
||||||
getParameterInputByName(name).type(value);
|
|
||||||
|
|
||||||
// Click on a parent to dismiss the pop up which hides the field below.
|
|
||||||
getParameterInputByName(name).parent().parent().parent().parent().click('topLeft');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Populate multiValue fixedCollections. Only supports fixedCollections for which all fields can be defined via keyboard typing
|
|
||||||
*
|
|
||||||
* @param items - 2D array of items to populate, i.e. [["myField1", "String"], ["myField2", "Number"]]
|
|
||||||
* @param collectionName - name of the fixedCollection to populate
|
|
||||||
* @param offset - amount of 'parameter-input's before start, e.g. from a controlling dropdown that makes the fields appear
|
|
||||||
* @returns
|
|
||||||
*/
|
|
||||||
export function populateFixedCollection<T extends readonly string[]>(
|
|
||||||
items: readonly T[],
|
|
||||||
collectionName: string,
|
|
||||||
offset: number = 0,
|
|
||||||
) {
|
|
||||||
if (items.length === 0) return;
|
|
||||||
const n = items[0].length;
|
|
||||||
for (const [i, params] of items.entries()) {
|
|
||||||
addItemToFixedCollection(collectionName);
|
|
||||||
for (const [j, param] of params.entries()) {
|
|
||||||
getFixedCollection(collectionName)
|
|
||||||
.getByTestId('parameter-input')
|
|
||||||
.eq(offset + i * n + j)
|
|
||||||
.type(`${param}{downArrow}{enter}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function assertInlineExpressionValid() {
|
|
||||||
cy.getByTestId('inline-expression-editor-input').find('.cm-valid-resolvable').should('exist');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function hoverInputItemByText(text: string) {
|
|
||||||
return getInputPanelDataContainer().contains(text).realHover();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function verifyInputHoverState(expectedText: string) {
|
|
||||||
getInputPanelDataContainer()
|
|
||||||
.find('[data-test-id="hovering-item"]')
|
|
||||||
.should('be.visible')
|
|
||||||
.should('have.text', expectedText);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function verifyOutputHoverState(expectedText: string) {
|
|
||||||
getOutputPanelDataContainer()
|
|
||||||
.find('[data-test-id="hovering-item"]')
|
|
||||||
.should('be.visible')
|
|
||||||
.should('have.text', expectedText);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function resetHoverState() {
|
|
||||||
getBackToCanvasButton().realHover();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function setInputDisplayMode(mode: 'Schema' | 'Table' | 'JSON' | 'Binary') {
|
|
||||||
getInputPanel().findChildByTestId('ndv-run-data-display-mode').contains(mode).click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function toggleInputRunLinking() {
|
|
||||||
getInputLinkRun().click();
|
|
||||||
}
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
// Getters
|
|
||||||
export const nodeCreatorPlusButton = () => cy.getByTestId('node-creator-plus-button');
|
|
||||||
export const canvasAddButton = () => cy.getByTestId('canvas-add-button');
|
|
||||||
export const searchBar = () => cy.getByTestId('search-bar');
|
|
||||||
export const getCategoryItem = (label: string) => cy.get(`[data-keyboard-nav-id="${label}"]`);
|
|
||||||
export const getCreatorItem = (label: string) =>
|
|
||||||
getCreatorItems().contains(label).parents('[data-test-id="item-iterator-item"]');
|
|
||||||
export const getNthCreatorItem = (n: number) => getCreatorItems().eq(n);
|
|
||||||
export const nodeCreator = () => cy.getByTestId('node-creator');
|
|
||||||
export const nodeCreatorTabs = () => cy.getByTestId('node-creator-type-selector');
|
|
||||||
export const selectedTab = () => nodeCreatorTabs().find('.is-active');
|
|
||||||
export const categorizedItems = () => cy.getByTestId('categorized-items');
|
|
||||||
export const getCreatorItems = () => cy.getByTestId('item-iterator-item');
|
|
||||||
export const categoryItem = () => cy.getByTestId('node-creator-category-item');
|
|
||||||
export const communityNodeTooltip = () => cy.getByTestId('node-item-community-tooltip');
|
|
||||||
export const noResults = () => cy.getByTestId('node-creator-no-results');
|
|
||||||
export const nodeItemName = () => cy.getByTestId('node-creator-item-name');
|
|
||||||
export const nodeItemDescription = () => cy.getByTestId('node-creator-item-description');
|
|
||||||
export const activeSubcategory = () => cy.getByTestId('nodes-list-header');
|
|
||||||
export const expandedCategories = () =>
|
|
||||||
getCreatorItems().find('>div').filter('.active').invoke('text');
|
|
||||||
|
|
||||||
// Actions
|
|
||||||
export const openNodeCreator = () => {
|
|
||||||
nodeCreatorPlusButton().click();
|
|
||||||
nodeCreator().should('be.visible');
|
|
||||||
};
|
|
||||||
|
|
||||||
export const selectNode = (displayName: string) => {
|
|
||||||
getCreatorItem(displayName).click();
|
|
||||||
};
|
|
||||||
|
|
@ -1,95 +0,0 @@
|
||||||
import { CredentialsModal, WorkflowPage } from '../pages';
|
|
||||||
import { getVisibleSelect } from '../utils';
|
|
||||||
|
|
||||||
const workflowPage = new WorkflowPage();
|
|
||||||
const credentialsModal = new CredentialsModal();
|
|
||||||
|
|
||||||
export const getHomeButton = () => cy.getByTestId('project-home-menu-item');
|
|
||||||
export const getPersonalProjectsButton = () => cy.getByTestId('project-personal-menu-item');
|
|
||||||
export const getMenuItems = () => cy.getByTestId('project-menu-item');
|
|
||||||
export const getAddProjectButton = () => {
|
|
||||||
cy.getByTestId('universal-add').should('be.visible').click();
|
|
||||||
cy.getByTestId('universal-add')
|
|
||||||
.find('.el-sub-menu__title')
|
|
||||||
.as('menuitem')
|
|
||||||
.should('have.attr', 'aria-describedby');
|
|
||||||
|
|
||||||
cy.get('@menuitem')
|
|
||||||
.invoke('attr', 'aria-describedby')
|
|
||||||
.then((el) => cy.get(`[id="${el}"]`))
|
|
||||||
.as('submenu');
|
|
||||||
|
|
||||||
cy.get('@submenu').within((submenu) =>
|
|
||||||
cy
|
|
||||||
.wrap(submenu)
|
|
||||||
.getByTestId('navigation-menu-item')
|
|
||||||
.should('be.visible')
|
|
||||||
.filter(':contains("Project")')
|
|
||||||
.as('button'),
|
|
||||||
);
|
|
||||||
|
|
||||||
return cy.get('@button');
|
|
||||||
};
|
|
||||||
export const getAddFirstProjectButton = () => cy.getByTestId('add-first-project-button');
|
|
||||||
export const getIconPickerButton = () => cy.getByTestId('icon-picker-button');
|
|
||||||
export const getIconPickerTab = (tab: string) => cy.getByTestId('icon-picker-tabs').contains(tab);
|
|
||||||
export const getIconPickerIcons = () => cy.getByTestId('icon-picker-icon');
|
|
||||||
export const getIconPickerEmojis = () => cy.getByTestId('icon-picker-emoji');
|
|
||||||
// export const getAddProjectButton = () =>
|
|
||||||
// cy.getByTestId('universal-add').should('contain', 'Add project').should('be.visible');
|
|
||||||
export const getProjectTabs = () => cy.getByTestId('project-tabs').find('a');
|
|
||||||
export const getProjectTabWorkflows = () => getProjectTabs().filter('a[href$="/workflows"]');
|
|
||||||
export const getProjectTabCredentials = () => getProjectTabs().filter('a[href$="/credentials"]');
|
|
||||||
export const getProjectTabExecutions = () => getProjectTabs().filter('a[href$="/executions"]');
|
|
||||||
export const getProjectTabSettings = () => getProjectTabs().filter('a[href$="/settings"]');
|
|
||||||
export const getProjectSettingsNameInput = () =>
|
|
||||||
cy.getByTestId('project-settings-name-input').find('input');
|
|
||||||
export const getProjectSettingsSaveButton = () => cy.getByTestId('project-settings-save-button');
|
|
||||||
export const getProjectSettingsCancelButton = () =>
|
|
||||||
cy.getByTestId('project-settings-cancel-button');
|
|
||||||
export const getProjectSettingsDeleteButton = () =>
|
|
||||||
cy.getByTestId('project-settings-delete-button');
|
|
||||||
export const getProjectMembersSelect = () => cy.getByTestId('project-members-select');
|
|
||||||
export const addProjectMember = (email: string, role?: string) => {
|
|
||||||
getProjectMembersSelect().click();
|
|
||||||
getProjectMembersSelect().get('.el-select-dropdown__item').contains(email.toLowerCase()).click();
|
|
||||||
|
|
||||||
if (role) {
|
|
||||||
cy.getByTestId(`user-list-item-${email}`)
|
|
||||||
.find('[data-test-id="projects-settings-user-role-select"]')
|
|
||||||
.click();
|
|
||||||
getVisibleSelect().find('li').contains(role).click();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
export const getResourceMoveModal = () => cy.getByTestId('project-move-resource-modal');
|
|
||||||
export const getProjectMoveSelect = () => cy.getByTestId('project-move-resource-modal-select');
|
|
||||||
export const getProjectSharingSelect = () => cy.getByTestId('project-sharing-select');
|
|
||||||
export const getMoveToFolderSelect = () => cy.getByTestId('move-to-folder-dropdown');
|
|
||||||
|
|
||||||
export function createProject(name: string) {
|
|
||||||
getAddProjectButton().click();
|
|
||||||
|
|
||||||
getProjectSettingsNameInput().should('be.visible').clear().type(name);
|
|
||||||
getProjectSettingsSaveButton().click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function createWorkflow(fixtureKey: string, name: string) {
|
|
||||||
workflowPage.getters.workflowImportInput().selectFile(`fixtures/${fixtureKey}`, { force: true });
|
|
||||||
workflowPage.actions.setWorkflowName(name);
|
|
||||||
workflowPage.getters.saveButton().should('contain', 'Saved');
|
|
||||||
workflowPage.actions.zoomToFit();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function createCredential(name: string, closeModal = true) {
|
|
||||||
credentialsModal.getters.newCredentialModal().should('be.visible');
|
|
||||||
credentialsModal.getters.newCredentialTypeSelect().should('be.visible');
|
|
||||||
credentialsModal.getters.newCredentialTypeOption('Notion API').click();
|
|
||||||
credentialsModal.getters.newCredentialTypeButton().click();
|
|
||||||
credentialsModal.getters.connectionParameter('Internal Integration Secret').type('1234567890');
|
|
||||||
credentialsModal.actions.setName(name);
|
|
||||||
credentialsModal.actions.save();
|
|
||||||
|
|
||||||
if (closeModal) {
|
|
||||||
credentialsModal.actions.close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
/**
|
|
||||||
* Getters
|
|
||||||
*/
|
|
||||||
|
|
||||||
export const getFormStep = () => cy.getByTestId('setup-credentials-form-step');
|
|
||||||
|
|
||||||
export const getStepHeading = ($el: JQuery<HTMLElement>) =>
|
|
||||||
cy.wrap($el).findChildByTestId('credential-step-heading');
|
|
||||||
|
|
||||||
export const getStepDescription = ($el: JQuery<HTMLElement>) =>
|
|
||||||
cy.wrap($el).findChildByTestId('credential-step-description');
|
|
||||||
|
|
||||||
export const getCreateAppCredentialsButton = (appName: string) =>
|
|
||||||
cy.get(`button:contains("Create new ${appName} credential")`);
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
/**
|
|
||||||
* Getters
|
|
||||||
*/
|
|
||||||
|
|
||||||
export const getSetupWorkflowCredentialsButton = () => cy.get('button:contains("Set up template")');
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
export function expandSidebar() {
|
|
||||||
cy.get('#collapse-change-button').then(($button) => {
|
|
||||||
if ($button.find('svg[data-icon="chevron-right"]').length > 0) {
|
|
||||||
cy.get('#collapse-change-button').click();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
||||||
import { MainSidebar } from '../pages/sidebar/main-sidebar';
|
|
||||||
|
|
||||||
const mainSidebar = new MainSidebar();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Getters
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function getVersionUpdatesPanelOpenButton() {
|
|
||||||
return cy.getByTestId('version-update-next-versions-link');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getVersionUpdatesPanel() {
|
|
||||||
return cy.getByTestId('version-updates-panel');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getVersionUpdatesPanelCloseButton() {
|
|
||||||
return getVersionUpdatesPanel().get('.el-drawer__close-btn').first();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getVersionCard() {
|
|
||||||
return cy.getByTestId('version-card');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Actions
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function openWhatsNewMenu() {
|
|
||||||
mainSidebar.getters.whatsNew().should('be.visible');
|
|
||||||
mainSidebar.getters.whatsNew().click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function openVersionUpdatesPanel() {
|
|
||||||
getVersionUpdatesPanelOpenButton().should('be.visible').click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function closeVersionUpdatesPanel() {
|
|
||||||
getVersionUpdatesPanelCloseButton().click();
|
|
||||||
}
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
import { BACKEND_BASE_URL } from '../constants';
|
|
||||||
import { NDV, WorkflowPage } from '../pages';
|
|
||||||
import { getVisibleSelect } from '../utils';
|
|
||||||
|
|
||||||
export const waitForWebhook = 500;
|
|
||||||
|
|
||||||
export interface SimpleWebhookCallOptions {
|
|
||||||
method: string;
|
|
||||||
webhookPath: string;
|
|
||||||
responseCode?: number;
|
|
||||||
respondWith?: string;
|
|
||||||
executeNow?: boolean;
|
|
||||||
responseData?: string;
|
|
||||||
authentication?: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
const workflowPage = new WorkflowPage();
|
|
||||||
const ndv = new NDV();
|
|
||||||
|
|
||||||
export const simpleWebhookCall = (options: SimpleWebhookCallOptions) => {
|
|
||||||
const {
|
|
||||||
authentication,
|
|
||||||
method,
|
|
||||||
webhookPath,
|
|
||||||
responseCode,
|
|
||||||
respondWith,
|
|
||||||
responseData,
|
|
||||||
executeNow = true,
|
|
||||||
} = options;
|
|
||||||
|
|
||||||
workflowPage.actions.addInitialNodeToCanvas('Webhook');
|
|
||||||
workflowPage.actions.openNode('Webhook');
|
|
||||||
|
|
||||||
cy.getByTestId('parameter-input-httpMethod').click();
|
|
||||||
getVisibleSelect().find('.option-headline').contains(method).click();
|
|
||||||
cy.getByTestId('parameter-input-path')
|
|
||||||
.find('.parameter-input')
|
|
||||||
.find('input')
|
|
||||||
.clear()
|
|
||||||
.type(webhookPath)
|
|
||||||
.wait(300);
|
|
||||||
|
|
||||||
if (authentication) {
|
|
||||||
cy.getByTestId('parameter-input-authentication').click();
|
|
||||||
getVisibleSelect().find('.option-headline').contains(authentication).click();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (responseCode) {
|
|
||||||
cy.get('.param-options').click();
|
|
||||||
// wait for selector debounce
|
|
||||||
getVisibleSelect().contains('Response Code').click().wait(300);
|
|
||||||
cy.get('.parameter-item-wrapper > .parameter-input-list-wrapper').children().click();
|
|
||||||
getVisibleSelect().contains('201').click();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (respondWith) {
|
|
||||||
cy.getByTestId('parameter-input-responseMode').click();
|
|
||||||
getVisibleSelect().find('.option-headline').contains(respondWith).click();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (responseData) {
|
|
||||||
cy.getByTestId('parameter-input-responseData').click();
|
|
||||||
getVisibleSelect().find('.option-headline').contains(responseData).click();
|
|
||||||
}
|
|
||||||
|
|
||||||
const callEndpoint = (fn: (response: Cypress.Response<unknown>) => void) => {
|
|
||||||
cy.request(method, `${BACKEND_BASE_URL}/webhook-test/${webhookPath}`).then(fn);
|
|
||||||
};
|
|
||||||
|
|
||||||
if (executeNow) {
|
|
||||||
ndv.actions.execute();
|
|
||||||
cy.wait(waitForWebhook);
|
|
||||||
|
|
||||||
callEndpoint((response) => {
|
|
||||||
expect(response.status).to.eq(200);
|
|
||||||
ndv.getters.outputPanel().contains('headers');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
callEndpoint,
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
@ -1,411 +0,0 @@
|
||||||
import { getManualChatModal } from './modals/chat-modal';
|
|
||||||
import { clickGetBackToCanvas, getParameterInputByName } from './ndv';
|
|
||||||
import { META_KEY, ROUTES } from '../constants';
|
|
||||||
import type { OpenContextMenuOptions } from '../types';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Types
|
|
||||||
*/
|
|
||||||
|
|
||||||
export type EndpointType =
|
|
||||||
| 'main'
|
|
||||||
| 'ai_chain'
|
|
||||||
| 'ai_document'
|
|
||||||
| 'ai_embedding'
|
|
||||||
| 'ai_languageModel'
|
|
||||||
| 'ai_memory'
|
|
||||||
| 'ai_outputParser'
|
|
||||||
| 'ai_tool'
|
|
||||||
| 'ai_retriever'
|
|
||||||
| 'ai_textSplitter'
|
|
||||||
| 'ai_vectorRetriever'
|
|
||||||
| 'ai_vectorStore';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Getters
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function getCanvas() {
|
|
||||||
return cy.getByTestId('canvas');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getCanvasPane() {
|
|
||||||
return getCanvas().find('.vue-flow__pane');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getContextMenu() {
|
|
||||||
return cy.getByTestId('context-menu').find('.el-dropdown-menu');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getContextMenuAction(action: string) {
|
|
||||||
return cy.getByTestId(`context-menu-item-${action}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getInputPlusHandle(nodeName: string) {
|
|
||||||
return cy.get(
|
|
||||||
`[data-test-id="canvas-node-input-handle"][data-node-name="${nodeName}"] [data-test-id="canvas-handle-plus"]`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getInputPlusHandleByType(nodeName: string, endpointType: EndpointType) {
|
|
||||||
return cy.get(
|
|
||||||
`[data-test-id="canvas-node-input-handle"][data-connection-type="${endpointType}"][data-node-name="${nodeName}"] [data-test-id="canvas-handle-plus"]`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputHandle(nodeName: string) {
|
|
||||||
return cy.get(`[data-test-id="canvas-node-output-handle"][data-node-name="${nodeName}"]`);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputPlusHandle(nodeName: string) {
|
|
||||||
return cy.get(
|
|
||||||
`[data-test-id="canvas-node-output-handle"][data-node-name="${nodeName}"] [data-test-id="canvas-handle-plus"]`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getOutputPlusHandleByType(nodeName: string, endpointType: EndpointType) {
|
|
||||||
return cy.get(
|
|
||||||
`[data-test-id="canvas-node-output-handle"][data-connection-type="${endpointType}"][data-node-name="${nodeName}"] [data-test-id="canvas-handle-plus"]`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNodeCreatorItems() {
|
|
||||||
return cy.getByTestId('item-iterator-item');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getExecuteWorkflowButton(triggerNodeName?: string) {
|
|
||||||
return cy.getByTestId(`execute-workflow-button${triggerNodeName ? `-${triggerNodeName}` : ''}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getManualChatButton() {
|
|
||||||
return cy.getByTestId('workflow-chat-button');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNodes() {
|
|
||||||
return cy.getByTestId('canvas-node');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNodeByName(name: string) {
|
|
||||||
return cy.getByTestId('canvas-node').filter(`[data-node-name="${name}"]`).eq(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNodesWithSpinner() {
|
|
||||||
return cy
|
|
||||||
.getByTestId('canvas-node')
|
|
||||||
.filter((_, el) => Cypress.$(el).find('[data-icon=refresh-cw]').length > 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getWaitingNodes() {
|
|
||||||
return cy
|
|
||||||
.getByTestId('canvas-node')
|
|
||||||
.filter((_, el) => Cypress.$(el).find('[data-icon=clock]').length > 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNodeRenderedTypeByName(name: string) {
|
|
||||||
return getNodeByName(name).find('[data-canvas-node-render-type]');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getWorkflowHistoryCloseButton() {
|
|
||||||
return cy.getByTestId('workflow-history-close-button');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function disableNode(name: string) {
|
|
||||||
const target = getNodeByName(name);
|
|
||||||
target.trigger('contextmenu');
|
|
||||||
cy.getByTestId('context-menu-item-toggle_activation').click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getConnectionBySourceAndTarget(source: string, target: string) {
|
|
||||||
return cy
|
|
||||||
.getByTestId('edge')
|
|
||||||
.filter(`[data-source-node-name="${source}"][data-target-node-name="${target}"]`)
|
|
||||||
.eq(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getConnectionLabelBySourceAndTarget(source: string, target: string) {
|
|
||||||
return cy
|
|
||||||
.getByTestId('edge-label')
|
|
||||||
.filter(`[data-source-node-name="${source}"][data-target-node-name="${target}"]`);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNodeCreatorSearchBar() {
|
|
||||||
return cy.getByTestId('node-creator-search-bar');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNodeCreatorPlusButton() {
|
|
||||||
return cy.getByTestId('node-creator-plus-button');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getCanvasNodes() {
|
|
||||||
return cy.getByTestId('canvas-node');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getCanvasNodeByName(nodeName: string) {
|
|
||||||
return getCanvasNodes().filter(`:contains(${nodeName})`);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getSaveButton() {
|
|
||||||
return cy.getByTestId('workflow-save-button');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getZoomToFitButton() {
|
|
||||||
return cy.getByTestId('zoom-to-fit');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getNodeIssuesByName(nodeName: string) {
|
|
||||||
return getCanvasNodes()
|
|
||||||
.filter(`:contains(${nodeName})`)
|
|
||||||
.should('have.length.greaterThan', 0)
|
|
||||||
.findChildByTestId('node-issues');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Actions
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function executeWorkflow() {
|
|
||||||
cy.get('[data-test-id="execute-workflow-button"]').click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function waitForSuccessBannerToAppear() {
|
|
||||||
cy.contains(/(Workflow|Node) executed successfully/, { timeout: 4000 }).should('be.visible');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function executeWorkflowAndWait(waitForSuccessBannerToDisappear = true) {
|
|
||||||
executeWorkflow();
|
|
||||||
waitForSuccessBannerToAppear();
|
|
||||||
if (waitForSuccessBannerToDisappear) {
|
|
||||||
cy.contains('Workflow executed successfully', { timeout: 10000 }).should('not.exist');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param nodeDisplayName - The name of the node to add to the canvas
|
|
||||||
* @param plusButtonClick - Whether to click the plus button to open the node creator
|
|
||||||
* @param preventNdvClose - Whether to prevent the Ndv from closing
|
|
||||||
* @param action - The action to select in the node creator
|
|
||||||
* @param useExactMatch - Whether to use an exact match for the node name will use selector instead of enter key
|
|
||||||
*/
|
|
||||||
export function addNodeToCanvas(
|
|
||||||
nodeDisplayName: string,
|
|
||||||
plusButtonClick = true,
|
|
||||||
preventNdvClose?: boolean,
|
|
||||||
action?: string,
|
|
||||||
useExactMatch = false,
|
|
||||||
) {
|
|
||||||
if (plusButtonClick) {
|
|
||||||
getNodeCreatorPlusButton().click();
|
|
||||||
}
|
|
||||||
|
|
||||||
getNodeCreatorSearchBar().type(nodeDisplayName);
|
|
||||||
|
|
||||||
if (useExactMatch) {
|
|
||||||
cy.getByTestId('node-creator-item-name').contains(nodeDisplayName).click();
|
|
||||||
} else {
|
|
||||||
getNodeCreatorSearchBar().type('{enter}');
|
|
||||||
}
|
|
||||||
|
|
||||||
cy.wait(500);
|
|
||||||
|
|
||||||
cy.get('body').then((body) => {
|
|
||||||
if (body.find('[data-test-id=node-creator]').length > 0) {
|
|
||||||
if (action) {
|
|
||||||
cy.contains(action).click();
|
|
||||||
} else {
|
|
||||||
cy.get('[data-keyboard-nav-type="action"]').eq(0).click();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!preventNdvClose) {
|
|
||||||
cy.get('body').type('{esc}');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function navigateToNewWorkflowPage(preventNodeViewUnload = true) {
|
|
||||||
cy.visit(ROUTES.NEW_WORKFLOW_PAGE);
|
|
||||||
cy.getByTestId('node-creator-plus-button').should('be.visible');
|
|
||||||
cy.waitForLoad();
|
|
||||||
cy.window().then((win) => {
|
|
||||||
win.preventNodeViewBeforeUnload = preventNodeViewUnload;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function connectNodeToParent(
|
|
||||||
nodeName: string,
|
|
||||||
endpointType: EndpointType,
|
|
||||||
parentNodeName: string,
|
|
||||||
exactMatch = false,
|
|
||||||
) {
|
|
||||||
getInputPlusHandleByType(parentNodeName, endpointType).click({ force: true });
|
|
||||||
if (exactMatch) {
|
|
||||||
getNodeCreatorItems()
|
|
||||||
.contains(new RegExp('^' + nodeName + '$', 'g'))
|
|
||||||
.click();
|
|
||||||
} else {
|
|
||||||
getNodeCreatorItems().contains(nodeName).click();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function addSupplementalNodeToParent(
|
|
||||||
nodeName: string,
|
|
||||||
endpointType: EndpointType,
|
|
||||||
parentNodeName: string,
|
|
||||||
exactMatch = false,
|
|
||||||
) {
|
|
||||||
connectNodeToParent(nodeName, endpointType, parentNodeName, exactMatch);
|
|
||||||
|
|
||||||
if (endpointType === 'main') {
|
|
||||||
getConnectionBySourceAndTarget(parentNodeName, nodeName).should('exist');
|
|
||||||
} else {
|
|
||||||
getConnectionBySourceAndTarget(nodeName, parentNodeName).should('exist');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function addLanguageModelNodeToParent(
|
|
||||||
nodeName: string,
|
|
||||||
parentNodeName: string,
|
|
||||||
exactMatch = false,
|
|
||||||
) {
|
|
||||||
addSupplementalNodeToParent(nodeName, 'ai_languageModel', parentNodeName, exactMatch);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function addMemoryNodeToParent(nodeName: string, parentNodeName: string) {
|
|
||||||
addSupplementalNodeToParent(nodeName, 'ai_memory', parentNodeName);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function addToolNodeToParent(nodeName: string, parentNodeName: string) {
|
|
||||||
addSupplementalNodeToParent(nodeName, 'ai_tool', parentNodeName);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function addVectorStoreToolToParent(nodeName: string, parentNodeName: string) {
|
|
||||||
connectNodeToParent(nodeName, 'ai_tool', parentNodeName, false);
|
|
||||||
getParameterInputByName('mode')
|
|
||||||
.find('input')
|
|
||||||
.should('have.value', 'Retrieve Documents (As Tool for AI Agent)');
|
|
||||||
clickGetBackToCanvas();
|
|
||||||
getConnectionBySourceAndTarget(nodeName, parentNodeName).should('exist');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function addOutputParserNodeToParent(nodeName: string, parentNodeName: string) {
|
|
||||||
addSupplementalNodeToParent(nodeName, 'ai_outputParser', parentNodeName);
|
|
||||||
}
|
|
||||||
export function addVectorStoreNodeToParent(nodeName: string, parentNodeName: string) {
|
|
||||||
addSupplementalNodeToParent(nodeName, 'ai_vectorStore', parentNodeName);
|
|
||||||
}
|
|
||||||
export function addRetrieverNodeToParent(nodeName: string, parentNodeName: string) {
|
|
||||||
addSupplementalNodeToParent(nodeName, 'ai_retriever', parentNodeName);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clickExecuteWorkflowButton(triggerNodeName?: string) {
|
|
||||||
getExecuteWorkflowButton(triggerNodeName).click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clickManualChatButton() {
|
|
||||||
getManualChatButton().click();
|
|
||||||
getManualChatModal().should('be.visible');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function openNode(nodeName: string) {
|
|
||||||
getNodeByName(nodeName).dblclick();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function saveWorkflowOnButtonClick() {
|
|
||||||
cy.intercept('POST', '/rest/workflows').as('createWorkflow');
|
|
||||||
getSaveButton().should('contain', 'Save');
|
|
||||||
getSaveButton().click();
|
|
||||||
getSaveButton().should('contain', 'Saved');
|
|
||||||
cy.url().should('not.have.string', '/new');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function pasteWorkflow(workflow: object) {
|
|
||||||
cy.get('body').paste(JSON.stringify(workflow));
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clickZoomToFit() {
|
|
||||||
getZoomToFitButton().click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function deleteNode(name: string) {
|
|
||||||
getCanvasNodeByName(name).first().click();
|
|
||||||
cy.get('body').type('{del}');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function openContextMenu(
|
|
||||||
nodeName?: string,
|
|
||||||
{ method = 'right-click', anchor = 'center' }: OpenContextMenuOptions = {},
|
|
||||||
) {
|
|
||||||
let target;
|
|
||||||
if (nodeName) {
|
|
||||||
target =
|
|
||||||
method === 'right-click' ? getNodeRenderedTypeByName(nodeName) : getNodeByName(nodeName);
|
|
||||||
} else {
|
|
||||||
target = getCanvasPane();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (method === 'right-click') {
|
|
||||||
target.rightclick(nodeName ? anchor : 'topLeft', { force: true });
|
|
||||||
} else {
|
|
||||||
target.realHover();
|
|
||||||
target.find('[data-test-id="overflow-node-button"]').click({ force: true });
|
|
||||||
}
|
|
||||||
|
|
||||||
getContextMenu().should('be.visible');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clickContextMenuAction(action: string) {
|
|
||||||
getContextMenuAction(action).click({ force: true });
|
|
||||||
}
|
|
||||||
|
|
||||||
export function openExecutions() {
|
|
||||||
cy.getByTestId('radio-button-executions').click();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clickClearExecutionDataButton() {
|
|
||||||
cy.getByTestId('clear-execution-data-button').click();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Undo/Redo
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function hitComboShortcut(modifier: string, key: string) {
|
|
||||||
cy.get('body').wait(100).type(modifier, { delay: 100, release: false }).type(key);
|
|
||||||
}
|
|
||||||
export function hitUndo() {
|
|
||||||
hitComboShortcut(`{${META_KEY}}`, 'z');
|
|
||||||
}
|
|
||||||
export function hitRedo() {
|
|
||||||
cy.get('body').type(`{${META_KEY}+shift+z}`);
|
|
||||||
}
|
|
||||||
export function hitSelectAll() {
|
|
||||||
hitComboShortcut(`{${META_KEY}}`, 'a');
|
|
||||||
}
|
|
||||||
export function hitDeleteAllNodes() {
|
|
||||||
hitSelectAll();
|
|
||||||
cy.get('body').type('{backspace}');
|
|
||||||
}
|
|
||||||
export function hitDisableNodeShortcut() {
|
|
||||||
cy.get('body').type('d');
|
|
||||||
}
|
|
||||||
export function hitCopy() {
|
|
||||||
hitComboShortcut(`{${META_KEY}}`, 'c');
|
|
||||||
}
|
|
||||||
export function hitPinNodeShortcut() {
|
|
||||||
cy.get('body').type('p');
|
|
||||||
}
|
|
||||||
export function hitSaveWorkflow() {
|
|
||||||
cy.get('body').type(`{${META_KEY}+s}`);
|
|
||||||
}
|
|
||||||
export function hitExecuteWorkflow() {
|
|
||||||
cy.get('body').type(`{${META_KEY}+enter}`);
|
|
||||||
}
|
|
||||||
export function hitDuplicateNode() {
|
|
||||||
cy.get('body').type(`{${META_KEY}+d}`);
|
|
||||||
}
|
|
||||||
export function hitAddSticky() {
|
|
||||||
cy.get('body').type('{shift+S}');
|
|
||||||
}
|
|
||||||
export function selectRight() {
|
|
||||||
cy.get('body').type('{shift+rightArrow}');
|
|
||||||
}
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
/**
|
|
||||||
* Getters
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function getWorkflowsPageUrl() {
|
|
||||||
return '/home/workflows';
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getCreateWorkflowButton = () => cy.getByTestId('add-resource-workflow');
|
|
||||||
|
|
||||||
export const getNewWorkflowCardButton = () => cy.getByTestId('new-workflow-card');
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Actions
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function visitWorkflowsPage() {
|
|
||||||
cy.visit(getWorkflowsPageUrl());
|
|
||||||
}
|
|
||||||
|
|
@ -1,78 +0,0 @@
|
||||||
import { randFirstName, randLastName } from '@ngneat/falso';
|
|
||||||
|
|
||||||
export const BACKEND_BASE_URL = 'http://localhost:5678';
|
|
||||||
export const N8N_AUTH_COOKIE = 'n8n-auth';
|
|
||||||
|
|
||||||
const DEFAULT_USER_PASSWORD = 'CypressTest123';
|
|
||||||
|
|
||||||
export const INSTANCE_OWNER = {
|
|
||||||
email: 'nathan@n8n.io',
|
|
||||||
password: DEFAULT_USER_PASSWORD,
|
|
||||||
firstName: randFirstName(),
|
|
||||||
lastName: randLastName(),
|
|
||||||
};
|
|
||||||
|
|
||||||
export const INSTANCE_ADMIN = {
|
|
||||||
email: 'admin@n8n.io',
|
|
||||||
password: DEFAULT_USER_PASSWORD,
|
|
||||||
firstName: randFirstName(),
|
|
||||||
lastName: randLastName(),
|
|
||||||
};
|
|
||||||
|
|
||||||
export const INSTANCE_MEMBERS = [
|
|
||||||
{
|
|
||||||
email: 'rebecca@n8n.io',
|
|
||||||
password: DEFAULT_USER_PASSWORD,
|
|
||||||
firstName: randFirstName(),
|
|
||||||
lastName: randLastName(),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
email: 'mustafa@n8n.io',
|
|
||||||
password: DEFAULT_USER_PASSWORD,
|
|
||||||
firstName: randFirstName(),
|
|
||||||
lastName: randLastName(),
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
export const MANUAL_TRIGGER_NODE_NAME = 'Manual Trigger';
|
|
||||||
export const MANUAL_TRIGGER_NODE_DISPLAY_NAME = 'When clicking ‘Execute workflow’';
|
|
||||||
export const MANUAL_CHAT_TRIGGER_NODE_NAME = 'Chat Trigger';
|
|
||||||
export const CHAT_TRIGGER_NODE_DISPLAY_NAME = 'When chat message received';
|
|
||||||
export const SCHEDULE_TRIGGER_NODE_NAME = 'Schedule Trigger';
|
|
||||||
export const CODE_NODE_NAME = 'Code';
|
|
||||||
export const CODE_NODE_DISPLAY_NAME = 'Code in JavaScript';
|
|
||||||
export const CODE_NODE_ACTION = CODE_NODE_DISPLAY_NAME;
|
|
||||||
export const SET_NODE_NAME = 'Set';
|
|
||||||
export const EDIT_FIELDS_SET_NODE_NAME = 'Edit Fields';
|
|
||||||
export const LOOP_OVER_ITEMS_NODE_NAME = 'Loop Over Items';
|
|
||||||
export const IF_NODE_NAME = 'If';
|
|
||||||
export const MERGE_NODE_NAME = 'Merge';
|
|
||||||
export const SWITCH_NODE_NAME = 'Switch';
|
|
||||||
export const GMAIL_NODE_NAME = 'Gmail';
|
|
||||||
export const TRELLO_NODE_NAME = 'Trello';
|
|
||||||
export const NOTION_NODE_NAME = 'Notion';
|
|
||||||
export const PIPEDRIVE_NODE_NAME = 'Pipedrive';
|
|
||||||
export const HTTP_REQUEST_NODE_NAME = 'HTTP Request';
|
|
||||||
export const AGENT_NODE_NAME = 'AI Agent';
|
|
||||||
export const BASIC_LLM_CHAIN_NODE_NAME = 'Basic LLM Chain';
|
|
||||||
export const AI_MEMORY_WINDOW_BUFFER_MEMORY_NODE_NAME = 'Simple Memory';
|
|
||||||
export const AI_TOOL_CALCULATOR_NODE_NAME = 'Calculator';
|
|
||||||
export const AI_TOOL_CODE_NODE_NAME = 'Code Tool';
|
|
||||||
export const AI_TOOL_WIKIPEDIA_NODE_NAME = 'Wikipedia';
|
|
||||||
export const AI_TOOL_HTTP_NODE_NAME = 'HTTP Request Tool';
|
|
||||||
export const AI_LANGUAGE_MODEL_OPENAI_CHAT_MODEL_NODE_NAME = 'OpenAI Chat Model';
|
|
||||||
export const AI_MEMORY_POSTGRES_NODE_NAME = 'Postgres Chat Memory';
|
|
||||||
export const AI_OUTPUT_PARSER_AUTO_FIXING_NODE_NAME = 'Auto-fixing Output Parser';
|
|
||||||
export const WEBHOOK_NODE_NAME = 'Webhook';
|
|
||||||
export const EXECUTE_WORKFLOW_NODE_NAME = 'Execute Workflow';
|
|
||||||
|
|
||||||
export const META_KEY = Cypress.platform === 'darwin' ? 'meta' : 'ctrl';
|
|
||||||
|
|
||||||
export const NEW_GOOGLE_ACCOUNT_NAME = 'Gmail account';
|
|
||||||
export const NEW_TRELLO_ACCOUNT_NAME = 'Trello account';
|
|
||||||
export const NEW_NOTION_ACCOUNT_NAME = 'Notion account';
|
|
||||||
export const NEW_QUERY_AUTH_ACCOUNT_NAME = 'Query Auth account';
|
|
||||||
|
|
||||||
export const ROUTES = {
|
|
||||||
NEW_WORKFLOW_PAGE: '/workflow/new',
|
|
||||||
};
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
||||||
const { defineConfig } = require('cypress');
|
|
||||||
|
|
||||||
const BASE_URL = 'http://localhost:5678';
|
|
||||||
|
|
||||||
module.exports = defineConfig({
|
|
||||||
retries: {
|
|
||||||
openMode: 0,
|
|
||||||
runMode: 2,
|
|
||||||
},
|
|
||||||
defaultCommandTimeout: 10000,
|
|
||||||
requestTimeout: 12000,
|
|
||||||
numTestsKeptInMemory: 2,
|
|
||||||
experimentalMemoryManagement: true,
|
|
||||||
e2e: {
|
|
||||||
baseUrl: BASE_URL,
|
|
||||||
viewportWidth: 1536,
|
|
||||||
viewportHeight: 960,
|
|
||||||
video: true,
|
|
||||||
screenshotOnRunFailure: true,
|
|
||||||
experimentalInteractiveRunEvents: true,
|
|
||||||
specPattern: 'e2e/**/*.ts',
|
|
||||||
supportFile: 'support/e2e.ts',
|
|
||||||
fixturesFolder: 'fixtures',
|
|
||||||
downloadsFolder: 'downloads',
|
|
||||||
screenshotsFolder: 'screenshots',
|
|
||||||
videosFolder: 'videos',
|
|
||||||
setupNodeEvents(on, config) {
|
|
||||||
require('@cypress/grep/src/plugin')(config);
|
|
||||||
return config;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
reporter: 'mocha-junit-reporter',
|
|
||||||
reporterOptions: {
|
|
||||||
mochaFile: 'test-results-[hash].xml',
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
import { defineConfig, globalIgnores } from 'eslint/config';
|
|
||||||
import { baseConfig } from '@n8n/eslint-config/base';
|
|
||||||
import cypressPlugin from 'eslint-plugin-cypress/flat';
|
|
||||||
|
|
||||||
export default defineConfig(
|
|
||||||
globalIgnores(['scripts/**/*.js']),
|
|
||||||
baseConfig,
|
|
||||||
cypressPlugin.configs.recommended,
|
|
||||||
{
|
|
||||||
rules: {
|
|
||||||
// TODO: Remove this
|
|
||||||
'no-useless-escape': 'warn',
|
|
||||||
'import-x/order': 'warn',
|
|
||||||
'import-x/no-extraneous-dependencies': [
|
|
||||||
'error',
|
|
||||||
{
|
|
||||||
devDependencies: ['**/cypress/**'],
|
|
||||||
optionalDependencies: false,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
'@typescript-eslint/naming-convention': 'warn',
|
|
||||||
'@typescript-eslint/no-explicit-any': 'warn',
|
|
||||||
'@typescript-eslint/no-unsafe-argument': 'warn',
|
|
||||||
'@typescript-eslint/no-unsafe-assignment': 'warn',
|
|
||||||
'@typescript-eslint/no-unsafe-call': 'warn',
|
|
||||||
'@typescript-eslint/no-unsafe-member-access': 'warn',
|
|
||||||
'@typescript-eslint/no-unsafe-return': 'warn',
|
|
||||||
'@typescript-eslint/no-unused-expressions': 'warn',
|
|
||||||
'@typescript-eslint/no-use-before-define': 'warn',
|
|
||||||
'@typescript-eslint/promise-function-async': 'warn',
|
|
||||||
'@typescript-eslint/prefer-nullish-coalescing': 'warn',
|
|
||||||
'@typescript-eslint/unbound-method': 'warn',
|
|
||||||
'cypress/no-assigning-return-values': 'warn',
|
|
||||||
'cypress/no-unnecessary-waiting': 'warn',
|
|
||||||
'cypress/unsafe-to-chain-command': 'warn',
|
|
||||||
'n8n-local-rules/no-uncaught-json-parse': 'warn',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
@ -1,318 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Webhook PairedItem error test",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"path": "86f05bcc-44a4-44f7-b774-7002fc2eddfc",
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "143572ab-f85b-4a6f-8ca7-4a5cea00a9fe",
|
|
||||||
"name": "Webhook",
|
|
||||||
"type": "n8n-nodes-base.webhook",
|
|
||||||
"typeVersion": 1.1,
|
|
||||||
"position": [
|
|
||||||
860,
|
|
||||||
140
|
|
||||||
],
|
|
||||||
"webhookId": "86f05bcc-44a4-44f7-b774-7002fc2eddfc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"conditions": {
|
|
||||||
"options": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"leftValue": "",
|
|
||||||
"typeValidation": "strict"
|
|
||||||
},
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"id": "e9605092-a127-46ad-9fb3-e671f955f856",
|
|
||||||
"leftValue": "={{ $json.headers.host }}",
|
|
||||||
"rightValue": "asdf",
|
|
||||||
"operator": {
|
|
||||||
"type": "string",
|
|
||||||
"operation": "equals",
|
|
||||||
"name": "filter.operator.equals"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"combinator": "and"
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "50542b55-4237-4c18-9e3a-5d146372c270",
|
|
||||||
"name": "If",
|
|
||||||
"type": "n8n-nodes-base.if",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
1080,
|
|
||||||
140
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "c6365289-0383-4d73-bd5f-a52b6a6e1eeb",
|
|
||||||
"name": "No Operation, do nothing",
|
|
||||||
"type": "n8n-nodes-base.noOp",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1420,
|
|
||||||
20
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "1d65053c-31de-43e8-a870-e7e79d34ca67",
|
|
||||||
"name": "asdf",
|
|
||||||
"value": "={{ $('Webhook').item.json.headers['accept-encoding'] }}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "8fd60b5e-19eb-47f4-a3e2-3822c722a68a",
|
|
||||||
"name": "Edit Fields1",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.3,
|
|
||||||
"position": [
|
|
||||||
1860,
|
|
||||||
220
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "96ac4860-81eb-4d47-9a6e-7c717d910fcd",
|
|
||||||
"name": "NoOp1",
|
|
||||||
"type": "n8n-nodes-base.noOp",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1420,
|
|
||||||
220
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "5b550207-3f4f-4519-b272-ff02d9d28ffc",
|
|
||||||
"name": "NoOp3",
|
|
||||||
"type": "n8n-nodes-base.noOp",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
2040,
|
|
||||||
220
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "9f450e47-902e-413e-99ce-ea93f6bc375e",
|
|
||||||
"name": "NoOp2",
|
|
||||||
"type": "n8n-nodes-base.noOp",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1640,
|
|
||||||
220
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "1d65053c-31de-43e8-a870-e7e79d34ca67",
|
|
||||||
"name": "asdf",
|
|
||||||
"value": "={{ $('Webhook').item.json.headers['accept-encoding'] }}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "7acd1642-a6ef-4c33-a562-95b19fedbded",
|
|
||||||
"name": "Edit Fields",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.3,
|
|
||||||
"position": [
|
|
||||||
2220,
|
|
||||||
220
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "1d65053c-31de-43e8-a870-e7e79d34ca67",
|
|
||||||
"name": "asdf",
|
|
||||||
"value": "={{ $('Webhook').item.json.headers['accept-encoding'] }}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "adc93a3b-2825-4ddf-9a17-fe61b5861d43",
|
|
||||||
"name": "Edit Fields2",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.3,
|
|
||||||
"position": [
|
|
||||||
1460,
|
|
||||||
440
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "1cd5d8dc-cd08-4596-9435-d48a6e20996d",
|
|
||||||
"name": "NoOp",
|
|
||||||
"type": "n8n-nodes-base.noOp",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1700,
|
|
||||||
480
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"content": "For Error:\n1. Execute \"If\"\n2. Execute \"NoOp2\"\n"
|
|
||||||
},
|
|
||||||
"id": "658c3a31-b640-4338-8b22-6d0a17ab5b80",
|
|
||||||
"name": "Sticky Note",
|
|
||||||
"type": "n8n-nodes-base.stickyNote",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
940,
|
|
||||||
480
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {
|
|
||||||
"Webhook": [
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"headers": {
|
|
||||||
"host": "localhost:5678",
|
|
||||||
"user-agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:122.0) Gecko/20100101 Firefox/122.0",
|
|
||||||
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
|
|
||||||
"accept-language": "en-US,en;q=0.5",
|
|
||||||
"accept-encoding": "gzip, deflate, br",
|
|
||||||
"connection": "keep-alive",
|
|
||||||
"cookie": "n8n-auth=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImQ1YWQzODQ1LWFmMTAtNDc2OC04ZDU4LTBmNDE3YTVlNDkxNSIsImVtYWlsIjoiamFuQG44bi5pbyIsInBhc3N3b3JkIjoiMzhjMTFiMDEwMjRlMDhiZTE0ZGExZjhmOWVjNGFmOTQxZmQwOGUyMzJmNWEzYmMyNjBmOTI1ZjIxNTBhNTZlYSIsImlhdCI6MTcwNzA3ODgxMSwiZXhwIjoxNzA3NjgzNjExfQ.bhbh8gCbLYAY87kPqZSGZeMBq7_4d9IgKnsrJ0UV4Iw",
|
|
||||||
"upgrade-insecure-requests": "1",
|
|
||||||
"sec-fetch-dest": "document",
|
|
||||||
"sec-fetch-mode": "navigate",
|
|
||||||
"sec-fetch-site": "none",
|
|
||||||
"sec-fetch-user": "?1",
|
|
||||||
"if-none-match": "W/\"22-6OS7cK0FzqnV2NeDHdOSGS1bVUs\""
|
|
||||||
},
|
|
||||||
"params": {},
|
|
||||||
"query": {},
|
|
||||||
"body": {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"connections": {
|
|
||||||
"Webhook": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "If",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"If": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "No Operation, do nothing",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "NoOp1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Edit Fields2",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"NoOp1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "NoOp2",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "NoOp3",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"NoOp2": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"NoOp3": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields2": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "NoOp",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {
|
|
||||||
"executionOrder": "v1"
|
|
||||||
},
|
|
||||||
"versionId": "631547ec-c580-4b5f-9220-7fd3d801029b",
|
|
||||||
"meta": {
|
|
||||||
"templateCredsSetupCompleted": true,
|
|
||||||
"instanceId": "021d3c82ba2d3bc090cbf4fc81c9312668bcc34297e022bb3438c5c88a43a5ff"
|
|
||||||
},
|
|
||||||
"id": "fjCAcetjbaYM1vy6",
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
{
|
|
||||||
"name": "customE2eCredential",
|
|
||||||
"displayName": "Custom E2E Credential",
|
|
||||||
"properties": [{
|
|
||||||
"displayName": "API Key",
|
|
||||||
"name": "apiKey",
|
|
||||||
"type": "string",
|
|
||||||
"default": "",
|
|
||||||
"required": false
|
|
||||||
}],
|
|
||||||
"authenticate": {
|
|
||||||
"type": "generic",
|
|
||||||
"properties": {
|
|
||||||
"qs": {
|
|
||||||
"auth": "={{$credentials.apiKey}}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
{
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"displayName": "Test property",
|
|
||||||
"name": "testProp",
|
|
||||||
"type": "string",
|
|
||||||
"required": true,
|
|
||||||
"noDataExpression": false,
|
|
||||||
"default": "Some default"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"displayName": "Resource",
|
|
||||||
"name": "resource",
|
|
||||||
"type": "options",
|
|
||||||
"noDataExpression": true,
|
|
||||||
"options": [
|
|
||||||
{
|
|
||||||
"name": "option1",
|
|
||||||
"value": "option1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "option2",
|
|
||||||
"value": "option2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "option3",
|
|
||||||
"value": "option3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "option4",
|
|
||||||
"value": "option4"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default": "option2"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"displayName": "E2E Node",
|
|
||||||
"name": "@e2e/n8n-nodes-e2e",
|
|
||||||
"group": ["transform"],
|
|
||||||
"codex": {
|
|
||||||
"categories": ["Custom Category"]
|
|
||||||
},
|
|
||||||
"version": 1,
|
|
||||||
"description": "Demonstrate rendering of node",
|
|
||||||
"defaults": {
|
|
||||||
"name": "E2E Node "
|
|
||||||
},
|
|
||||||
"inputs": ["main"],
|
|
||||||
"outputs": ["main"],
|
|
||||||
"icon": "fa:network-wired"
|
|
||||||
}
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
{
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"displayName": "Test property",
|
|
||||||
"name": "testProp",
|
|
||||||
"type": "string",
|
|
||||||
"required": true,
|
|
||||||
"noDataExpression": false,
|
|
||||||
"default": "Some default"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"displayName": "Resource",
|
|
||||||
"name": "resource",
|
|
||||||
"type": "options",
|
|
||||||
"noDataExpression": true,
|
|
||||||
"options": [
|
|
||||||
{
|
|
||||||
"name": "option1",
|
|
||||||
"value": "option1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "option2",
|
|
||||||
"value": "option2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "option3",
|
|
||||||
"value": "option3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "option4",
|
|
||||||
"value": "option4"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default": "option2"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"displayName": "E2E Node with custom credential",
|
|
||||||
"name": "@e2e/n8n-nodes-e2e-custom-credential",
|
|
||||||
"group": ["transform"],
|
|
||||||
"codex": {
|
|
||||||
"categories": ["Custom Category"]
|
|
||||||
},
|
|
||||||
"version": 1,
|
|
||||||
"description": "Demonstrate rendering of node with custom credential",
|
|
||||||
"defaults": {
|
|
||||||
"name": "E2E Node with custom credential"
|
|
||||||
},
|
|
||||||
"inputs": ["main"],
|
|
||||||
"outputs": ["main"],
|
|
||||||
"icon": "fa:network-wired",
|
|
||||||
"credentials": [
|
|
||||||
{
|
|
||||||
"name": "customE2eCredential",
|
|
||||||
"required": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
{
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"displayName": "Test property",
|
|
||||||
"name": "testProp",
|
|
||||||
"type": "string",
|
|
||||||
"required": true,
|
|
||||||
"noDataExpression": false,
|
|
||||||
"default": "Some default"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"displayName": "Resource",
|
|
||||||
"name": "resource",
|
|
||||||
"type": "options",
|
|
||||||
"noDataExpression": true,
|
|
||||||
"options": [
|
|
||||||
{
|
|
||||||
"name": "option1",
|
|
||||||
"value": "option1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "option2",
|
|
||||||
"value": "option2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "option3",
|
|
||||||
"value": "option3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "option4",
|
|
||||||
"value": "option4"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default": "option2"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"displayName": "E2E Node with native n8n credential",
|
|
||||||
"name": "@e2e/n8n-nodes-e2e-credential",
|
|
||||||
"group": ["transform"],
|
|
||||||
"codex": {
|
|
||||||
"categories": ["Custom Category"]
|
|
||||||
},
|
|
||||||
"version": 1,
|
|
||||||
"description": "Demonstrate rendering of node with native credential",
|
|
||||||
"defaults": {
|
|
||||||
"name": "E2E Node with native n8n credential"
|
|
||||||
},
|
|
||||||
"inputs": ["main"],
|
|
||||||
"outputs": ["main"],
|
|
||||||
"icon": "fa:network-wired",
|
|
||||||
"credentials": [
|
|
||||||
{
|
|
||||||
"name": "notionApi",
|
|
||||||
"required": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
var File = function(url, object){
|
|
||||||
File.list = Array.isArray(File.list)? File.list : [];
|
|
||||||
File.progress = File.progress || 0;
|
|
||||||
this.progress = 0;
|
|
||||||
this.object = object;
|
|
||||||
this.url = url;
|
|
||||||
};
|
|
||||||
|
|
||||||
File.indexOf = function(term){
|
|
||||||
for(var index in File.list){
|
|
||||||
var file = File.list[index];
|
|
||||||
if (file.equals(term) || file.url === term || file.object === term) {
|
|
||||||
return index;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
};
|
|
||||||
|
|
||||||
File.find = function(term){
|
|
||||||
var index = File.indexOf(term);
|
|
||||||
return ~index && File.list[index];
|
|
||||||
};
|
|
||||||
|
|
||||||
File.prototype.equals = function(file){
|
|
||||||
var isFileType = file instanceof File;
|
|
||||||
return isFileType && this.url === file.url && this.object === file.object;
|
|
||||||
};
|
|
||||||
|
|
||||||
File.prototype.save = function(update){
|
|
||||||
update = typeof update === 'undefined'? true : update;
|
|
||||||
if(Array.isArray(File.list)){
|
|
||||||
var index = File.indexOf(this);
|
|
||||||
if(~index && update) {
|
|
||||||
File.list[index] = this;
|
|
||||||
console.warn('File `%s` has been loaded before and updated now for: %O.', this.url, this);
|
|
||||||
}else File.list.push(this);
|
|
||||||
console.log(File.list)
|
|
||||||
}else{
|
|
||||||
File.list = [this];
|
|
||||||
}
|
|
||||||
return this;
|
|
||||||
};
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
CREATE TABLE emp (
|
|
||||||
empno INT PRIMARY KEY,
|
|
||||||
ename VARCHAR(10),
|
|
||||||
job VARCHAR(9),
|
|
||||||
mgr INT NULL,
|
|
||||||
hiredate DATETIME,
|
|
||||||
sal NUMERIC(7,2),
|
|
||||||
comm NUMERIC(7,2) NULL,
|
|
||||||
dept INT)
|
|
||||||
begin
|
|
||||||
insert into emp values
|
|
||||||
(1,'JOHNSON','ADMIN',6,'12-17-1990',18000,NULL,4)
|
|
||||||
insert into emp values
|
|
||||||
(2,'HARDING','MANAGER',9,'02-02-1998',52000,300,3)
|
|
||||||
insert into emp values
|
|
||||||
(3,'TAFT','SALES I',2,'01-02-1996',25000,500,3)
|
|
||||||
insert into emp values
|
|
||||||
(4,'HOOVER','SALES I',2,'04-02-1990',27000,NULL,3)
|
|
||||||
insert into emp values
|
|
||||||
(5,'LINCOLN','TECH',6,'06-23-1994',22500,1400,4)
|
|
||||||
insert into emp values
|
|
||||||
(6,'GARFIELD','MANAGER',9,'05-01-1993',54000,NULL,4)
|
|
||||||
insert into emp values
|
|
||||||
(7,'POLK','TECH',6,'09-22-1997',25000,NULL,4)
|
|
||||||
insert into emp values
|
|
||||||
(8,'GRANT','ENGINEER',10,'03-30-1997',32000,NULL,2)
|
|
||||||
insert into emp values
|
|
||||||
(9,'JACKSON','CEO',NULL,'01-01-1990',75000,NULL,4)
|
|
||||||
insert into emp values
|
|
||||||
(10,'FILLMORE','MANAGER',9,'08-09-1994',56000,NULL,2)
|
|
||||||
insert into emp values
|
|
||||||
(11,'ADAMS','ENGINEER',10,'03-15-1996',34000,NULL,2)
|
|
||||||
insert into emp values
|
|
||||||
(12,'WASHINGTON','ADMIN',6,'04-16-1998',18000,NULL,4)
|
|
||||||
insert into emp values
|
|
||||||
(13,'MONROE','ENGINEER',10,'12-03-2000',30000,NULL,2)
|
|
||||||
insert into emp values
|
|
||||||
(14,'ROOSEVELT','CPA',9,'10-12-1995',35000,NULL,1)
|
|
||||||
end
|
|
||||||
CREATE TABLE dept (
|
|
||||||
deptno INT NOT NULL,
|
|
||||||
dname VARCHAR(14),
|
|
||||||
loc VARCHAR(13))
|
|
||||||
begin
|
|
||||||
insert into dept values (1,'ACCOUNTING','ST LOUIS')
|
|
||||||
insert into dept values (2,'RESEARCH','NEW YORK')
|
|
||||||
insert into dept values (3,'SALES','ATLANTA')
|
|
||||||
insert into dept values (4, 'OPERATIONS','SEATTLE')
|
|
||||||
end
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,133 +0,0 @@
|
||||||
{
|
|
||||||
"name": "PAY-1707",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "eaa428a8-eb9d-478a-b997-aed6ed298507",
|
|
||||||
"name": "Edit Fields",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [
|
|
||||||
920,
|
|
||||||
380
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "6b285c91-e7ea-4943-8ba3-59ce01a35d20",
|
|
||||||
"name": "Edit Fields1",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [
|
|
||||||
920,
|
|
||||||
540
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"jsCode": "return Array.from({length: 5}, _ => ({}))"
|
|
||||||
},
|
|
||||||
"id": "70e682aa-dfef-4db7-a158-971ec7976d49",
|
|
||||||
"name": "Code",
|
|
||||||
"type": "n8n-nodes-base.code",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
700,
|
|
||||||
380
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"jsCode": "return Array.from({length: 5}, _ => ({}))"
|
|
||||||
},
|
|
||||||
"id": "d5ee979e-9f53-4e62-8eb2-cdb92be8ea6e",
|
|
||||||
"name": "Code1",
|
|
||||||
"type": "n8n-nodes-base.code",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
700,
|
|
||||||
540
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"path": "dd660366-ca4a-4736-8b1f-454560e87bfb",
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "20c33c8a-ab2f-4dd4-990f-6390feeb840c",
|
|
||||||
"name": "Webhook",
|
|
||||||
"type": "n8n-nodes-base.webhook",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
480,
|
|
||||||
440
|
|
||||||
],
|
|
||||||
"webhookId": "dd660366-ca4a-4736-8b1f-454560e87bfb"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {
|
|
||||||
"Code1": [
|
|
||||||
{
|
|
||||||
"json": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"connections": {
|
|
||||||
"Code1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Code": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Webhook": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Code",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Code1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": true,
|
|
||||||
"settings": {
|
|
||||||
"executionOrder": "v1"
|
|
||||||
},
|
|
||||||
"versionId": "01e6693e-54f3-432d-9b1f-922ef92b4ab6",
|
|
||||||
"meta": {
|
|
||||||
"templateCredsSetupCompleted": true,
|
|
||||||
"instanceId": "8a47b83b4479b11330fdf21ccc96d4a8117035a968612e452b4c87bfd09c16c7"
|
|
||||||
},
|
|
||||||
"id": "hU0gp19G29ehWktc",
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,257 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Floating Nodes",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "d0eda550-2526-42a1-aa19-dee411c8acf9",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
700,
|
|
||||||
560
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "30412165-1229-4b21-9890-05bfbd9952ab",
|
|
||||||
"name": "Node 1",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
920,
|
|
||||||
560
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "201cc8fc-3124-47a3-bc08-b3917c1ddcd9",
|
|
||||||
"name": "Node 2",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1100,
|
|
||||||
560
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "a29802bb-a284-495d-9917-6c6e42fef01e",
|
|
||||||
"name": "Node 3",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1280,
|
|
||||||
560
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "a95a72b3-8b39-44e2-a05b-d8d677741c80",
|
|
||||||
"name": "Node 4",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1440,
|
|
||||||
560
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "4674f10d-6144-4a17-bbbb-350c3974438e",
|
|
||||||
"name": "Chain",
|
|
||||||
"type": "@n8n/n8n-nodes-langchain.chainLlm",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1580,
|
|
||||||
560
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "58e12ea5-bd3e-4abf-abec-fcfb5c0a7955",
|
|
||||||
"name": "Model",
|
|
||||||
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1600,
|
|
||||||
740
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"type": "n8n-nodes-base.merge",
|
|
||||||
"typeVersion": 3.1,
|
|
||||||
"position": [
|
|
||||||
440,
|
|
||||||
-140
|
|
||||||
],
|
|
||||||
"id": "a00959d3-8d4b-40af-b4f2-35ca3d73fd84",
|
|
||||||
"name": "Merge"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [
|
|
||||||
-20,
|
|
||||||
-120
|
|
||||||
],
|
|
||||||
"id": "a5cbc221-ccfd-4034-a648-6a192834af81",
|
|
||||||
"name": "Edit Fields0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [
|
|
||||||
0,
|
|
||||||
100
|
|
||||||
],
|
|
||||||
"id": "d3b4c17a-bee8-418b-a721-5debafd1ce11",
|
|
||||||
"name": "Edit Fields1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"type": "n8n-nodes-base.merge",
|
|
||||||
"typeVersion": 3.1,
|
|
||||||
"position": [
|
|
||||||
440,
|
|
||||||
100
|
|
||||||
],
|
|
||||||
"id": "b23a2a43-ffac-41a5-a265-054e21a57d70",
|
|
||||||
"name": "Merge1"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {},
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Node 1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Node 1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Node 2",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Node 3": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Node 4",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Node 2": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Node 3",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Chain": {
|
|
||||||
"main": [
|
|
||||||
[]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Model": {
|
|
||||||
"ai_languageModel": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Chain",
|
|
||||||
"type": "ai_languageModel",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Node 4": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Chain",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields0": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Merge",
|
|
||||||
"type": "main",
|
|
||||||
"index": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Merge1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Merge",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Merge1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {
|
|
||||||
"executionOrder": "v1"
|
|
||||||
},
|
|
||||||
"versionId": "2730d156-a98a-4ac8-b481-5c16361fdba2",
|
|
||||||
"id": "6bzXMGxHuxeEaqsA",
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "1838be0fa0389fbaf5e2e4aaedab4ddc79abc4175b433401abb22a281001b853"
|
|
||||||
},
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,81 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Manual wait set",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"amount": 2,
|
|
||||||
"unit": "seconds"
|
|
||||||
},
|
|
||||||
"id": "ed6e0168-1145-43d0-9082-970b8a8f3cb5",
|
|
||||||
"name": "Wait",
|
|
||||||
"type": "n8n-nodes-base.wait",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
900,
|
|
||||||
580
|
|
||||||
],
|
|
||||||
"webhookId": "0f6f94a4-c28d-46f9-8468-6ab315a9fec9"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "59467b99-4e7c-4f19-8fc2-4329788f0951",
|
|
||||||
"name": "Manual",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
680,
|
|
||||||
580
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "6ddf089f-4d01-4691-928f-6de168e3b089",
|
|
||||||
"name": "Set",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1120,
|
|
||||||
580
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {},
|
|
||||||
"connections": {
|
|
||||||
"Wait": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Manual": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Wait",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {
|
|
||||||
"saveExecutionProgress": true,
|
|
||||||
"saveManualExecutions": true,
|
|
||||||
"callerPolicy": "workflowsFromSameOwner"
|
|
||||||
},
|
|
||||||
"versionId": "f11ff1bf-4273-46cb-bbec-65c7b2fa13cb",
|
|
||||||
"id": "1037",
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "8a47b83b4479b11330fdf21ccc96d4a8117035a968612e452b4c87bfd09c16c7"
|
|
||||||
},
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,118 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Multiple trigger node rerun",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "06ce84a5-0ed0-45bb-ac2e-aa8c35cd67c7",
|
|
||||||
"name": "Start Manually",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
-400,
|
|
||||||
-140
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"rule": {
|
|
||||||
"interval": [
|
|
||||||
{
|
|
||||||
"field": "cronExpression",
|
|
||||||
"expression": "* * * * *"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "b23a2576-2940-4faf-8a8f-79fdb128087a",
|
|
||||||
"name": "Start on Schedule",
|
|
||||||
"type": "n8n-nodes-base.scheduleTrigger",
|
|
||||||
"typeVersion": 1.1,
|
|
||||||
"position": [
|
|
||||||
-400,
|
|
||||||
60
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"jsCode": "return {\n \"message\": $input.first().json.message + ' from code node'\n}"
|
|
||||||
},
|
|
||||||
"id": "1742daae-ad58-47cf-b777-3c95670af1ea",
|
|
||||||
"name": "Process The Data",
|
|
||||||
"type": "n8n-nodes-base.code",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
60,
|
|
||||||
-60
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "e8ce419c-b8c8-415c-81e1-7e260884f2a7",
|
|
||||||
"name": "message",
|
|
||||||
"value": "Hello",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [
|
|
||||||
-160,
|
|
||||||
-60
|
|
||||||
],
|
|
||||||
"id": "e56681c5-2111-4065-bb28-2358f86058c6",
|
|
||||||
"name": "Edit Fields"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {},
|
|
||||||
"connections": {
|
|
||||||
"Start Manually": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Start on Schedule": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Process The Data",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {
|
|
||||||
"executionOrder": "v1"
|
|
||||||
},
|
|
||||||
"versionId": "411bb599-f9b1-4db0-b289-6603403ebd82",
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "60c7f4290f8c974ffff64c8edee1558609a63570231cabdd7fb7ab83d151d879"
|
|
||||||
},
|
|
||||||
"id": "Q5svYbZJ8WEAedTH",
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
{
|
|
||||||
"meta": {
|
|
||||||
"templateCredsSetupCompleted": true,
|
|
||||||
"instanceId": "5b397bc122efafc165b2a6e67d5e8d75b8138f0d24d6352fac713e4845b002a6"
|
|
||||||
},
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "df260de7-6f28-4d07-b7b5-29588e27335b",
|
|
||||||
"name": "When clicking \"Execute workflow\"",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [780, 500]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"category": "randomData",
|
|
||||||
"randomDataSeed": "0",
|
|
||||||
"randomDataCount": 100
|
|
||||||
},
|
|
||||||
"id": "9e9a0708-86dc-474f-a60e-4315e757c08e",
|
|
||||||
"name": "DebugHelper",
|
|
||||||
"type": "n8n-nodes-base.debugHelper",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [1000, 500]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"When clicking \"Execute workflow\"": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "DebugHelper",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {}
|
|
||||||
}
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
{
|
|
||||||
"name": "ff739753-9d6e-46a7-94d3-25bd03dd4973",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "c30d1114-d7f7-44dc-b55a-15312ef2d76d",
|
|
||||||
"name": "On clicking 'execute'",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [600, 580]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "5bf514bd-65ae-4a1c-8b69-a01bfeaad411",
|
|
||||||
"name": "Set",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [820, 580]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "02bf49e9-44b2-4f4e-8cb2-8c02399208af",
|
|
||||||
"name": "Set1",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [1040, 580]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {
|
|
||||||
"On clicking 'execute'": [
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"start": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"connections": {
|
|
||||||
"On clicking 'execute'": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Set": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {},
|
|
||||||
"hash": "abd7b28aa2605c96ba24474d72cbe610",
|
|
||||||
"id": 3,
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "08a83d394781701f5c18052cde68e8d92c88b26f5cc8809eb10ad545f14015cb"
|
|
||||||
},
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,235 +0,0 @@
|
||||||
{
|
|
||||||
"name": "switch reorder",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "b3f0815d-b733-413f-ab3f-74e48277bd3a",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
-20,
|
|
||||||
620
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "fbc5b12a-6165-4cab-80a1-9fd6e4fbe39f",
|
|
||||||
"name": "One",
|
|
||||||
"type": "n8n-nodes-base.noOp",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
620,
|
|
||||||
720
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"duplicateItem": true,
|
|
||||||
"duplicateCount": 1,
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "ec6c1d1d-a17a-4537-8135-d474df7fded1",
|
|
||||||
"name": "entry",
|
|
||||||
"value": "first",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "8c5a72a5-17ef-40e0-8477-764f24770174",
|
|
||||||
"name": "Edit Fields",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.3,
|
|
||||||
"position": [
|
|
||||||
160,
|
|
||||||
740
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "d8ec7c46-d02f-4bf5-931e-5ec2fb8bea22",
|
|
||||||
"name": "entry",
|
|
||||||
"value": "zero",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "bc3fb81d-2ddf-4b28-a93d-762a48e8fd6b",
|
|
||||||
"name": "Edit Fields1",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.3,
|
|
||||||
"position": [
|
|
||||||
160,
|
|
||||||
500
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"rules": {
|
|
||||||
"values": [
|
|
||||||
{
|
|
||||||
"conditions": {
|
|
||||||
"options": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"leftValue": "",
|
|
||||||
"typeValidation": "strict"
|
|
||||||
},
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"leftValue": "={{ $json.entry }}",
|
|
||||||
"rightValue": "first",
|
|
||||||
"operator": {
|
|
||||||
"type": "string",
|
|
||||||
"operation": "equals"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"combinator": "and"
|
|
||||||
},
|
|
||||||
"renameOutput": true,
|
|
||||||
"outputKey": "1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"conditions": {
|
|
||||||
"options": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"leftValue": "",
|
|
||||||
"typeValidation": "strict"
|
|
||||||
},
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"id": "ffa570ef-fc16-49ec-87be-56159f14a44b",
|
|
||||||
"leftValue": "={{ $json.entry }}",
|
|
||||||
"rightValue": "=second",
|
|
||||||
"operator": {
|
|
||||||
"type": "string",
|
|
||||||
"operation": "equals"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"combinator": "and"
|
|
||||||
},
|
|
||||||
"renameOutput": true,
|
|
||||||
"outputKey": "2"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "296ba553-c6c5-4c84-89fb-9056b24bab30",
|
|
||||||
"name": "Switch",
|
|
||||||
"type": "n8n-nodes-base.switch",
|
|
||||||
"typeVersion": 3,
|
|
||||||
"position": [
|
|
||||||
360,
|
|
||||||
740
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "da787dd6-8e85-4dd5-8326-198705b4ae4b",
|
|
||||||
"name": "Merge",
|
|
||||||
"type": "n8n-nodes-base.merge",
|
|
||||||
"typeVersion": 2.1,
|
|
||||||
"position": [
|
|
||||||
880,
|
|
||||||
520
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {
|
|
||||||
"Edit Fields": [
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"entry": "first"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"entry": "second"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Edit Fields1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Switch",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"One": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Merge",
|
|
||||||
"type": "main",
|
|
||||||
"index": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Merge",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Switch": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "One",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {
|
|
||||||
"executionOrder": "v1"
|
|
||||||
},
|
|
||||||
"versionId": "ce5db792-5e38-4d54-895b-88d85f2545d0",
|
|
||||||
"meta": {
|
|
||||||
"templateCredsSetupCompleted": true,
|
|
||||||
"instanceId": "be251a83c052a9862eeac953816fbb1464f89dfbf79d7ac490a8e336a8cc8bfd"
|
|
||||||
},
|
|
||||||
"id": "uMpL0bN7t1NYZDJS",
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,653 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Node IO filter",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "46770685-44d1-4aad-9107-1d790cf26b50",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
840,
|
|
||||||
180
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "480e3832-2ce4-4118-9f7b-a8aed6017174",
|
|
||||||
"name": "Edit Fields",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1080,
|
|
||||||
180
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"conditions": {
|
|
||||||
"string": [
|
|
||||||
{
|
|
||||||
"value1": "={{ $json.profile.name }}",
|
|
||||||
"operation": "contains",
|
|
||||||
"value2": "an"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "4773d460-6ed9-49e1-a688-7e480f0fbacf",
|
|
||||||
"name": "IF",
|
|
||||||
"type": "n8n-nodes-base.if",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1300,
|
|
||||||
180
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "d17dffe6-e29c-4c1a-8b4c-9e374dcd70ea",
|
|
||||||
"name": "True",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1560,
|
|
||||||
60
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "893d6e79-feb4-4752-a6f8-e2e5f5163787",
|
|
||||||
"name": "False",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1560,
|
|
||||||
240
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {
|
|
||||||
"When clicking ‘Execute workflow’": [
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa05fa51480dcb543b1a",
|
|
||||||
"email": "reese_hahn@kidgrease.coach",
|
|
||||||
"username": "reese94",
|
|
||||||
"profile": {
|
|
||||||
"name": "Reese Hahn",
|
|
||||||
"company": "Kidgrease",
|
|
||||||
"dob": "1994-06-18",
|
|
||||||
"address": "3 Richmond Street, Norfolk, Delaware",
|
|
||||||
"location": {
|
|
||||||
"lat": 22.507436,
|
|
||||||
"long": -50.812775
|
|
||||||
},
|
|
||||||
"about": "Cupidatat voluptate reprehenderit commodo mollit tempor sint id. Id exercitation id eiusmod dolore non non anim voluptate anim eu consectetur."
|
|
||||||
},
|
|
||||||
"apiKey": "a18592bf-1147-4b61-a70f-2ab90b60bb6e",
|
|
||||||
"roles": [
|
|
||||||
"guest"
|
|
||||||
],
|
|
||||||
"createdAt": "2010-10-04T09:57:59.240Z",
|
|
||||||
"updatedAt": "2010-10-05T09:57:59.240Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa055bea471bc4853158",
|
|
||||||
"email": "jeanne_boyd@hatology.gratis",
|
|
||||||
"username": "jeanne91",
|
|
||||||
"profile": {
|
|
||||||
"name": "Jeanne Boyd",
|
|
||||||
"company": "Hatology",
|
|
||||||
"dob": "1991-02-21",
|
|
||||||
"address": "81 Kingsway Place, Blairstown, Vermont",
|
|
||||||
"location": {
|
|
||||||
"lat": -57.665234,
|
|
||||||
"long": -41.301893
|
|
||||||
},
|
|
||||||
"about": "Proident pariatur non consequat cupidatat Lorem nisi est consequat dolor id eiusmod id. Amet culpa ex Lorem nostrud labore laboris culpa mollit dolor culpa ut."
|
|
||||||
},
|
|
||||||
"apiKey": "8a6056a6-0197-4920-858d-cb26f8c8a1e2",
|
|
||||||
"roles": [
|
|
||||||
"owner",
|
|
||||||
"admin"
|
|
||||||
],
|
|
||||||
"createdAt": "2011-11-06T09:05:41.945Z",
|
|
||||||
"updatedAt": "2011-11-07T09:05:41.945Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa05b012921c060dc5a5",
|
|
||||||
"email": "roslyn_underwood@portico.melbourne",
|
|
||||||
"username": "roslyn88",
|
|
||||||
"profile": {
|
|
||||||
"name": "Roslyn Underwood",
|
|
||||||
"company": "Portico",
|
|
||||||
"dob": "1988-04-30",
|
|
||||||
"address": "24 Schenck Street, Drytown, New Jersey",
|
|
||||||
"location": {
|
|
||||||
"lat": 11.797141,
|
|
||||||
"long": 10.751804
|
|
||||||
},
|
|
||||||
"about": "Duis excepteur minim consequat exercitation. Laboris occaecat cupidatat aliqua consequat occaecat."
|
|
||||||
},
|
|
||||||
"apiKey": "72d629f3-d613-4fd0-bbfe-3f67c8ad7af2",
|
|
||||||
"roles": [
|
|
||||||
"member",
|
|
||||||
"owner"
|
|
||||||
],
|
|
||||||
"createdAt": "2012-11-17T22:09:10.911Z",
|
|
||||||
"updatedAt": "2012-11-18T22:09:10.911Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa05df7b35968507efe6",
|
|
||||||
"email": "combs_hardy@acrodance.domains",
|
|
||||||
"username": "combs91",
|
|
||||||
"profile": {
|
|
||||||
"name": "Combs Hardy",
|
|
||||||
"company": "Acrodance",
|
|
||||||
"dob": "1991-04-30",
|
|
||||||
"address": "58 Pineapple Street, Falconaire, New Mexico",
|
|
||||||
"location": {
|
|
||||||
"lat": -62.922443,
|
|
||||||
"long": -159.493799
|
|
||||||
},
|
|
||||||
"about": "Magna qui minim velit magna est eiusmod aliquip elit aliquip excepteur. Laborum labore do ut et ut in incididunt do elit nostrud."
|
|
||||||
},
|
|
||||||
"apiKey": "d9807b9e-aee9-486d-9826-4e6c166bfbe4",
|
|
||||||
"roles": [
|
|
||||||
"owner",
|
|
||||||
"member"
|
|
||||||
],
|
|
||||||
"createdAt": "2014-04-13T13:02:09.319Z",
|
|
||||||
"updatedAt": "2014-04-14T13:02:09.319Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa05f2d4a0508a7c59c4",
|
|
||||||
"email": "terrell_peters@vantage.international",
|
|
||||||
"username": "terrell94",
|
|
||||||
"profile": {
|
|
||||||
"name": "Terrell Peters",
|
|
||||||
"company": "Vantage",
|
|
||||||
"dob": "1994-01-31",
|
|
||||||
"address": "10 Lafayette Walk, Vincent, Virginia",
|
|
||||||
"location": {
|
|
||||||
"lat": -62.267913,
|
|
||||||
"long": 29.682121
|
|
||||||
},
|
|
||||||
"about": "Eiusmod fugiat nulla ea tempor incididunt nulla nulla consectetur officia incididunt proident sint. Sunt duis non excepteur non."
|
|
||||||
},
|
|
||||||
"apiKey": "20b96df1-d882-4dea-a505-84d7ff296a6e",
|
|
||||||
"roles": [
|
|
||||||
"admin",
|
|
||||||
"guest"
|
|
||||||
],
|
|
||||||
"createdAt": "2010-12-09T08:24:56.517Z",
|
|
||||||
"updatedAt": "2010-12-10T08:24:56.517Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa0599fbabf3a05c7b14",
|
|
||||||
"email": "shari_winters@powernet.supply",
|
|
||||||
"username": "shari93",
|
|
||||||
"profile": {
|
|
||||||
"name": "Shari Winters",
|
|
||||||
"company": "Powernet",
|
|
||||||
"dob": "1993-03-10",
|
|
||||||
"address": "89 Aviation Road, Leyner, Indiana",
|
|
||||||
"location": {
|
|
||||||
"lat": 40.404704,
|
|
||||||
"long": -141.216235
|
|
||||||
},
|
|
||||||
"about": "Occaecat sit laboris elit laboris do anim culpa dolore exercitation enim. Non veniam sint exercitation irure."
|
|
||||||
},
|
|
||||||
"apiKey": "2b869ce9-3431-4edb-944d-9d9336b1eb4a",
|
|
||||||
"roles": [
|
|
||||||
"guest",
|
|
||||||
"admin"
|
|
||||||
],
|
|
||||||
"createdAt": "2014-10-15T15:56:55.873Z",
|
|
||||||
"updatedAt": "2014-10-16T15:56:55.873Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa050df18b4798ec95be",
|
|
||||||
"email": "rena_beasley@bitrex.ma",
|
|
||||||
"username": "rena90",
|
|
||||||
"profile": {
|
|
||||||
"name": "Rena Beasley",
|
|
||||||
"company": "Bitrex",
|
|
||||||
"dob": "1990-01-09",
|
|
||||||
"address": "78 Forbell Street, Homeland, Maine",
|
|
||||||
"location": {
|
|
||||||
"lat": 46.047548,
|
|
||||||
"long": 4.128049
|
|
||||||
},
|
|
||||||
"about": "Lorem aliqua veniam duis ut cillum ad sunt mollit incididunt elit. Ipsum incididunt et magna incididunt quis duis amet duis occaecat laborum nulla et commodo nisi."
|
|
||||||
},
|
|
||||||
"apiKey": "17e350f8-1020-4344-bbd7-ceb62cd44edb",
|
|
||||||
"roles": [
|
|
||||||
"member",
|
|
||||||
"owner"
|
|
||||||
],
|
|
||||||
"createdAt": "2010-04-22T13:35:24.838Z",
|
|
||||||
"updatedAt": "2010-04-23T13:35:24.838Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa0595243d2b7b1ea22a",
|
|
||||||
"email": "sally_gentry@eventex.maif",
|
|
||||||
"username": "sally93",
|
|
||||||
"profile": {
|
|
||||||
"name": "Sally Gentry",
|
|
||||||
"company": "Eventex",
|
|
||||||
"dob": "1993-04-03",
|
|
||||||
"address": "54 Plaza Street, Greenbackville, North Carolina",
|
|
||||||
"location": {
|
|
||||||
"lat": -20.529121,
|
|
||||||
"long": 73.533118
|
|
||||||
},
|
|
||||||
"about": "Laborum sit exercitation sint laborum. Fugiat sit ipsum ullamco sint do dolore in sunt incididunt adipisicing magna ullamco aute."
|
|
||||||
},
|
|
||||||
"apiKey": "746b6ab3-c63f-44df-bb99-9de48f8e43c4",
|
|
||||||
"roles": [
|
|
||||||
"owner",
|
|
||||||
"guest"
|
|
||||||
],
|
|
||||||
"createdAt": "2011-09-18T13:18:49.655Z",
|
|
||||||
"updatedAt": "2011-09-19T13:18:49.655Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa05cdea66c87bb01439",
|
|
||||||
"email": "battle_duran@jasper.property",
|
|
||||||
"username": "battle88",
|
|
||||||
"profile": {
|
|
||||||
"name": "Battle Duran",
|
|
||||||
"company": "Jasper",
|
|
||||||
"dob": "1988-11-04",
|
|
||||||
"address": "34 Amherst Street, Corriganville, Nevada",
|
|
||||||
"location": {
|
|
||||||
"lat": 74.391489,
|
|
||||||
"long": -98.421464
|
|
||||||
},
|
|
||||||
"about": "Nostrud occaecat laborum aliquip sint est minim id aliquip adipisicing dolor. Aute velit amet officia anim sint anim aliquip."
|
|
||||||
},
|
|
||||||
"apiKey": "b22a3ddd-d540-4df0-9ce5-e837bc6a6a10",
|
|
||||||
"roles": [
|
|
||||||
"member"
|
|
||||||
],
|
|
||||||
"createdAt": "2012-08-31T19:14:37.463Z",
|
|
||||||
"updatedAt": "2012-09-01T19:14:37.463Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa05e9c13e25d41d4135",
|
|
||||||
"email": "petty_moore@neurocell.shriram",
|
|
||||||
"username": "petty91",
|
|
||||||
"profile": {
|
|
||||||
"name": "Petty Moore",
|
|
||||||
"company": "Neurocell",
|
|
||||||
"dob": "1991-03-10",
|
|
||||||
"address": "78 Interborough Parkway, Grill, Texas",
|
|
||||||
"location": {
|
|
||||||
"lat": -79.817761,
|
|
||||||
"long": -36.728201
|
|
||||||
},
|
|
||||||
"about": "Dolor occaecat anim est Lorem culpa fugiat id aliqua sint. Sit nisi do exercitation do voluptate exercitation in."
|
|
||||||
},
|
|
||||||
"apiKey": "4b341cfb-a83c-4f2a-9f4d-11cd747b8783",
|
|
||||||
"roles": [
|
|
||||||
"admin"
|
|
||||||
],
|
|
||||||
"createdAt": "2012-01-02T21:28:22.431Z",
|
|
||||||
"updatedAt": "2012-01-03T21:28:22.431Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa052890c7b4d510d3d4",
|
|
||||||
"email": "matilda_kelley@senmei.in",
|
|
||||||
"username": "matilda93",
|
|
||||||
"profile": {
|
|
||||||
"name": "Matilda Kelley",
|
|
||||||
"company": "Senmei",
|
|
||||||
"dob": "1993-02-04",
|
|
||||||
"address": "29 Stuart Street, Henrietta, New York",
|
|
||||||
"location": {
|
|
||||||
"lat": 40.788206,
|
|
||||||
"long": -135.821558
|
|
||||||
},
|
|
||||||
"about": "Dolor veniam ex ullamco deserunt reprehenderit nostrud sunt culpa cupidatat qui labore deserunt. In ad anim laboris amet labore duis consequat nostrud eiusmod."
|
|
||||||
},
|
|
||||||
"apiKey": "dcf40383-a00a-43ef-8bd0-4af7e70413bd",
|
|
||||||
"roles": [
|
|
||||||
"owner",
|
|
||||||
"guest"
|
|
||||||
],
|
|
||||||
"createdAt": "2014-03-28T22:07:39.636Z",
|
|
||||||
"updatedAt": "2014-03-29T22:07:39.636Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa05af129db469473bf1",
|
|
||||||
"email": "savannah_hardin@exoblue.kn",
|
|
||||||
"username": "savannah89",
|
|
||||||
"profile": {
|
|
||||||
"name": "Savannah Hardin",
|
|
||||||
"company": "Exoblue",
|
|
||||||
"dob": "1989-07-01",
|
|
||||||
"address": "44 Navy Walk, Fresno, Kentucky",
|
|
||||||
"location": {
|
|
||||||
"lat": 75.679679,
|
|
||||||
"long": -58.534947
|
|
||||||
},
|
|
||||||
"about": "Id eiusmod eu elit consequat quis anim veniam officia anim ipsum. Sunt ex sit ipsum id est eu."
|
|
||||||
},
|
|
||||||
"apiKey": "98d6abb7-e4aa-4b3b-8958-ff3c4d672f1d",
|
|
||||||
"roles": [
|
|
||||||
"guest",
|
|
||||||
"member"
|
|
||||||
],
|
|
||||||
"createdAt": "2011-04-15T00:55:02.325Z",
|
|
||||||
"updatedAt": "2011-04-16T00:55:02.325Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa055dfa731b01573a67",
|
|
||||||
"email": "abbott_gallegos@katakana.dad",
|
|
||||||
"username": "abbott91",
|
|
||||||
"profile": {
|
|
||||||
"name": "Abbott Gallegos",
|
|
||||||
"company": "Katakana",
|
|
||||||
"dob": "1991-03-04",
|
|
||||||
"address": "85 Indiana Place, Forestburg, Michigan",
|
|
||||||
"location": {
|
|
||||||
"lat": -5.417414,
|
|
||||||
"long": -4.557904
|
|
||||||
},
|
|
||||||
"about": "Adipisicing amet ullamco aliquip velit nostrud qui non pariatur Lorem. Culpa ut deserunt esse quis magna."
|
|
||||||
},
|
|
||||||
"apiKey": "3cf92c24-6193-4cc9-85fc-78e4ad9d6e13",
|
|
||||||
"roles": [
|
|
||||||
"guest",
|
|
||||||
"owner"
|
|
||||||
],
|
|
||||||
"createdAt": "2011-06-01T16:38:39.316Z",
|
|
||||||
"updatedAt": "2011-06-02T16:38:39.316Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa05386de2e6d75c1694",
|
|
||||||
"email": "short_brennan@hyplex.tc",
|
|
||||||
"username": "short92",
|
|
||||||
"profile": {
|
|
||||||
"name": "Short Brennan",
|
|
||||||
"company": "Hyplex",
|
|
||||||
"dob": "1992-04-19",
|
|
||||||
"address": "21 Irving Place, Hinsdale, Northern Mariana Islands",
|
|
||||||
"location": {
|
|
||||||
"lat": 57.340225,
|
|
||||||
"long": -7.021582
|
|
||||||
},
|
|
||||||
"about": "Mollit dolor dolore deserunt anim minim adipisicing eiusmod velit tempor id veniam cupidatat. Magna veniam consequat incididunt ut quis culpa excepteur tempor eiusmod consectetur excepteur."
|
|
||||||
},
|
|
||||||
"apiKey": "07bf533d-4a31-4e78-9d6e-d46160479069",
|
|
||||||
"roles": [
|
|
||||||
"admin",
|
|
||||||
"member"
|
|
||||||
],
|
|
||||||
"createdAt": "2014-03-10T19:25:02.217Z",
|
|
||||||
"updatedAt": "2014-03-11T19:25:02.217Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa05fd2a878d43bb45cd",
|
|
||||||
"email": "bowers_cooke@iplax.ci",
|
|
||||||
"username": "bowers92",
|
|
||||||
"profile": {
|
|
||||||
"name": "Bowers Cooke",
|
|
||||||
"company": "Iplax",
|
|
||||||
"dob": "1992-07-05",
|
|
||||||
"address": "83 Greenpoint Avenue, Marion, Georgia",
|
|
||||||
"location": {
|
|
||||||
"lat": 64.261022,
|
|
||||||
"long": -58.493714
|
|
||||||
},
|
|
||||||
"about": "Deserunt ipsum fugiat tempor sunt eu ea laboris ad magna ex laborum laboris. Ullamco nostrud qui exercitation aute consectetur irure."
|
|
||||||
},
|
|
||||||
"apiKey": "a3ecc58b-f292-4de1-b6e5-014345a76a7a",
|
|
||||||
"roles": [
|
|
||||||
"member",
|
|
||||||
"owner"
|
|
||||||
],
|
|
||||||
"createdAt": "2010-06-20T16:34:56.467Z",
|
|
||||||
"updatedAt": "2010-06-21T16:34:56.467Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa05a6de547367990f9c",
|
|
||||||
"email": "tara_rutledge@escenta.lc",
|
|
||||||
"username": "tara90",
|
|
||||||
"profile": {
|
|
||||||
"name": "Tara Rutledge",
|
|
||||||
"company": "Escenta",
|
|
||||||
"dob": "1990-08-11",
|
|
||||||
"address": "25 Butler Place, Frierson, Missouri",
|
|
||||||
"location": {
|
|
||||||
"lat": -32.176783,
|
|
||||||
"long": 67.345415
|
|
||||||
},
|
|
||||||
"about": "Aute sunt laborum anim ex non pariatur nisi minim tempor adipisicing. Excepteur irure non amet eiusmod et excepteur."
|
|
||||||
},
|
|
||||||
"apiKey": "22da9647-a7b7-4815-91bb-d5101fc90e55",
|
|
||||||
"roles": [
|
|
||||||
"member"
|
|
||||||
],
|
|
||||||
"createdAt": "2013-09-06T21:41:53.287Z",
|
|
||||||
"updatedAt": "2013-09-07T21:41:53.287Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa053778601ad57f22cd",
|
|
||||||
"email": "elva_chapman@bytrex.gg",
|
|
||||||
"username": "elva90",
|
|
||||||
"profile": {
|
|
||||||
"name": "Elva Chapman",
|
|
||||||
"company": "Bytrex",
|
|
||||||
"dob": "1990-05-31",
|
|
||||||
"address": "4 Royce Place, Advance, New Hampshire",
|
|
||||||
"location": {
|
|
||||||
"lat": -28.393464,
|
|
||||||
"long": -28.622091
|
|
||||||
},
|
|
||||||
"about": "Est sit deserunt Lorem amet voluptate elit reprehenderit occaecat est eiusmod eu reprehenderit laborum. Pariatur magna occaecat et excepteur est excepteur consectetur ad nulla."
|
|
||||||
},
|
|
||||||
"apiKey": "4d242fa4-ac69-42f1-8f12-ec19d9c6d632",
|
|
||||||
"roles": [
|
|
||||||
"owner",
|
|
||||||
"admin"
|
|
||||||
],
|
|
||||||
"createdAt": "2011-04-05T04:04:31.524Z",
|
|
||||||
"updatedAt": "2011-04-06T04:04:31.524Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa054c6abbc57efcb100",
|
|
||||||
"email": "pitts_meyer@unisure.tui",
|
|
||||||
"username": "pitts93",
|
|
||||||
"profile": {
|
|
||||||
"name": "Pitts Meyer",
|
|
||||||
"company": "Unisure",
|
|
||||||
"dob": "1993-06-12",
|
|
||||||
"address": "47 Columbus Place, Cade, Alaska",
|
|
||||||
"location": {
|
|
||||||
"lat": 56.723675,
|
|
||||||
"long": 158.093389
|
|
||||||
},
|
|
||||||
"about": "Non ea pariatur excepteur nostrud elit quis qui. Dolore aute velit ipsum officia ea pariatur incididunt non elit tempor duis consequat."
|
|
||||||
},
|
|
||||||
"apiKey": "82a88344-d289-447c-81b5-1ae10cd1994b",
|
|
||||||
"roles": [
|
|
||||||
"guest",
|
|
||||||
"admin"
|
|
||||||
],
|
|
||||||
"createdAt": "2014-05-15T06:38:59.269Z",
|
|
||||||
"updatedAt": "2014-05-16T06:38:59.269Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa0527e7ce14e421d9cd",
|
|
||||||
"email": "delia_figueroa@overplex.um",
|
|
||||||
"username": "delia89",
|
|
||||||
"profile": {
|
|
||||||
"name": "Delia Figueroa",
|
|
||||||
"company": "Overplex",
|
|
||||||
"dob": "1989-04-22",
|
|
||||||
"address": "12 Nova Court, Taft, Ohio",
|
|
||||||
"location": {
|
|
||||||
"lat": -32.990583,
|
|
||||||
"long": -4.598863
|
|
||||||
},
|
|
||||||
"about": "Cupidatat fugiat veniam eu proident excepteur deserunt ad esse fugiat deserunt. Non velit cillum velit veniam ex minim eiusmod tempor excepteur voluptate adipisicing nostrud."
|
|
||||||
},
|
|
||||||
"apiKey": "b3a7747b-24a0-4039-8a21-56e83441a660",
|
|
||||||
"roles": [
|
|
||||||
"admin",
|
|
||||||
"guest"
|
|
||||||
],
|
|
||||||
"createdAt": "2014-09-20T03:40:10.190Z",
|
|
||||||
"updatedAt": "2014-09-21T03:40:10.190Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa05cf60000cbca6dca4",
|
|
||||||
"email": "kristina_fulton@portaline.engineer",
|
|
||||||
"username": "kristina88",
|
|
||||||
"profile": {
|
|
||||||
"name": "Kristina Fulton",
|
|
||||||
"company": "Portaline",
|
|
||||||
"dob": "1988-07-25",
|
|
||||||
"address": "50 Laurel Avenue, Greenwich, Palau",
|
|
||||||
"location": {
|
|
||||||
"lat": 44.118984,
|
|
||||||
"long": 41.518949
|
|
||||||
},
|
|
||||||
"about": "Id incididunt officia exercitation ipsum id cillum consectetur. Veniam enim voluptate ut proident ex."
|
|
||||||
},
|
|
||||||
"apiKey": "c106dbf0-bfc0-461d-b1d7-1840fe8e1cbc",
|
|
||||||
"roles": [
|
|
||||||
"admin",
|
|
||||||
"member"
|
|
||||||
],
|
|
||||||
"createdAt": "2010-04-10T08:06:27.028Z",
|
|
||||||
"updatedAt": "2010-04-11T08:06:27.028Z"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "654cfa0501fe5691d620f570",
|
|
||||||
"email": "gould_noel@gonkle.gmx",
|
|
||||||
"username": "gould91",
|
|
||||||
"profile": {
|
|
||||||
"name": "Gould Noel",
|
|
||||||
"company": "Gonkle",
|
|
||||||
"dob": "1991-10-08",
|
|
||||||
"address": "33 Crooke Avenue, Idamay, Oklahoma",
|
|
||||||
"location": {
|
|
||||||
"lat": -11.398731,
|
|
||||||
"long": 34.706948
|
|
||||||
},
|
|
||||||
"about": "Veniam esse tempor aute quis mollit consequat Lorem. Nostrud ea dolore laboris Lorem elit est do nisi Lorem minim reprehenderit culpa."
|
|
||||||
},
|
|
||||||
"apiKey": "1089783d-32ae-4102-8ac5-1e7f6cebe3c1",
|
|
||||||
"roles": [
|
|
||||||
"guest",
|
|
||||||
"admin"
|
|
||||||
],
|
|
||||||
"createdAt": "2011-12-30T20:24:19.620Z",
|
|
||||||
"updatedAt": "2011-12-31T20:24:19.620Z"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "IF",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"IF": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "True",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "False",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {
|
|
||||||
"executionOrder": "v1"
|
|
||||||
},
|
|
||||||
"versionId": "9812dda2-cc1b-4458-97d8-21ccb18c90d1",
|
|
||||||
"id": "WNq486x7DpV1MPRH",
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "8a47b83b4479b11330fdf21ccc96d4a8117035a968612e452b4c87bfd09c16c7"
|
|
||||||
},
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,39 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"path": "FwrbSiaua2Xmvn6-Z-7CQ",
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "8fcc7e5f-2cef-4938-9564-eea504c20aa0",
|
|
||||||
"name": "Webhook",
|
|
||||||
"type": "n8n-nodes-base.webhook",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
360,
|
|
||||||
220
|
|
||||||
],
|
|
||||||
"webhookId": "9c778f2a-e882-46ed-a0e4-c8e2f76ccd65"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {},
|
|
||||||
"pinData": {
|
|
||||||
"Webhook": [
|
|
||||||
{
|
|
||||||
"headers": {
|
|
||||||
"connection": "keep-alive",
|
|
||||||
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36",
|
|
||||||
"accept": "*/*",
|
|
||||||
"cookie": "n8n-auth=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjNiM2FhOTE5LWRhZDgtNDE5MS1hZWZiLTlhZDIwZTZkMjJjNiIsImhhc2giOiJ1ZVAxR1F3U2paIiwiaWF0IjoxNzI4OTE1NTQyLCJleHAiOjE3Mjk1MjAzNDJ9.fV02gpUnSiUoMxHwfB0npBjcjct7Mv9vGfj-jRTT3-I",
|
|
||||||
"host": "localhost:5678",
|
|
||||||
"accept-encoding": "gzip, deflate"
|
|
||||||
},
|
|
||||||
"params": {},
|
|
||||||
"query": {},
|
|
||||||
"body": {},
|
|
||||||
"webhookUrl": "http://localhost:5678/webhook-test/FwrbSiaua2Xmvn6-Z-7CQ",
|
|
||||||
"executionMode": "test"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
{
|
|
||||||
"id": 200,
|
|
||||||
"planId": 1,
|
|
||||||
"pruneExecutionsInterval": 168,
|
|
||||||
"monthlyExecutionsLimit": 1000,
|
|
||||||
"activeWorkflowsLimit": 20,
|
|
||||||
"credentialsLimit": 100,
|
|
||||||
"supportTier": "community",
|
|
||||||
"displayName": "Trial",
|
|
||||||
"enabledFeatures": ["userManagement", "advancedExecutionFilters", "sharing"],
|
|
||||||
"licenseFeatures": {
|
|
||||||
"feat:sharing": true,
|
|
||||||
"feat:advancedExecutionFilters": true,
|
|
||||||
"quota:users": -1,
|
|
||||||
"quota:maxVariables": -1,
|
|
||||||
"feat:variables": true
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"version": "v1",
|
|
||||||
"group": "trial",
|
|
||||||
"slug": "trial-2",
|
|
||||||
"trial": {
|
|
||||||
"length": 14,
|
|
||||||
"gracePeriod": 3
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"expirationDate": "2023-08-30T15:47:27.611Z"
|
|
||||||
}
|
|
||||||
|
|
@ -1,313 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Schedule + pinned",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"rule": {
|
|
||||||
"interval": [
|
|
||||||
{}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "66358c29-b263-43dd-be25-3b068b0a88eb",
|
|
||||||
"name": "Schedule Trigger",
|
|
||||||
"type": "n8n-nodes-base.scheduleTrigger",
|
|
||||||
"typeVersion": 1.1,
|
|
||||||
"position": [
|
|
||||||
660,
|
|
||||||
340
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "6d903354-4e59-4032-81fe-426a5d6ec33c",
|
|
||||||
"name": "Edit Fields",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
860,
|
|
||||||
240
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "d8a1e9cf-81d3-400f-97d4-ad6167e7b236",
|
|
||||||
"name": "Edit Fields1",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
860,
|
|
||||||
440
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "bdc41148-067e-4649-8f21-5707b128d877",
|
|
||||||
"name": "Edit Fields2",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1080,
|
|
||||||
440
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "d5a4337f-a6b3-4b51-9b02-e668593d9ae8",
|
|
||||||
"name": "Edit Fields3",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1300,
|
|
||||||
440
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "fbc23f60-e7f6-4423-9329-33b0e4809a9a",
|
|
||||||
"name": "Edit Fields4",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1500,
|
|
||||||
440
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "eaee47b0-94ec-4137-bfeb-a6c1a2c63f81",
|
|
||||||
"name": "Edit Fields5",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1080,
|
|
||||||
240
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "eabb6308-21e9-4e59-8f74-9220a03c3186",
|
|
||||||
"name": "Edit Fields6",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1300,
|
|
||||||
240
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "8812a45b-5545-4080-aad8-8e9f7b17ecd7",
|
|
||||||
"name": "Edit Fields7",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1500,
|
|
||||||
240
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "d5ea3c5b-0b3e-4514-93e1-9c88563bab5c",
|
|
||||||
"name": "Edit Fields9",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1700,
|
|
||||||
240
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "7af34474-5cd0-40b1-abea-850858e3b495",
|
|
||||||
"name": "Edit Fields10",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1700,
|
|
||||||
440
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {
|
|
||||||
"Schedule Trigger": [
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"name": "First item",
|
|
||||||
"code": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"name": "Second item",
|
|
||||||
"code": 2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Edit Fields7": [
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"name": "First item",
|
|
||||||
"code": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"name": "Second item",
|
|
||||||
"code": 2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Edit Fields2": [
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"name": "First item",
|
|
||||||
"code": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"name": "Second item",
|
|
||||||
"code": 2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"connections": {
|
|
||||||
"Schedule Trigger": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Edit Fields1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields2",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields2": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields3",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields3": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields4",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields5": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields6",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields6": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields7",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields5",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields7": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields9",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields4": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields10",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {
|
|
||||||
"executionOrder": "v1"
|
|
||||||
},
|
|
||||||
"versionId": "9b6c68c0-f94f-45bc-a604-bf97d17a47ac",
|
|
||||||
"meta": {
|
|
||||||
"templateCredsSetupCompleted": true,
|
|
||||||
"instanceId": "8a47b83b4479b11330fdf21ccc96d4a8117035a968612e452b4c87bfd09c16c7"
|
|
||||||
},
|
|
||||||
"id": "nWzcnYUb3AVaZpHG",
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,354 +0,0 @@
|
||||||
{
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "08ce71ad998aeaade0abedb8dd96153d8eaa03fcb84cfccc1530095bf9ee478e"
|
|
||||||
},
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "4535ce3e-280e-49b0-8854-373472ec86d1",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [80, 860]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"category": "randomData",
|
|
||||||
"randomDataSeed": "0",
|
|
||||||
"randomDataCount": 2
|
|
||||||
},
|
|
||||||
"id": "d7fba18a-d51f-4509-af45-68cd9425ac6b",
|
|
||||||
"name": "DebugHelper1",
|
|
||||||
"type": "n8n-nodes-base.debugHelper",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [280, 860]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"source": "parameter",
|
|
||||||
"workflowJson": "{\n \"meta\": {\n \"instanceId\": \"a786b722078489c1fa382391a9f3476c2784761624deb2dfb4634827256d51a0\"\n },\n \"nodes\": [\n {\n \"parameters\": {},\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 0,\n 0\n ],\n \"id\": \"00600a51-e63a-4b6e-93f5-f01d50a21e0c\",\n \"name\": \"Execute Workflow Trigger\"\n },\n {\n \"parameters\": {\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"87ff01af-2e28-48da-ae6c-304040200b15\",\n \"name\": \"hello\",\n \"value\": \"=world {{ $json.firstname }} {{ $json.lastname }}\",\n \"type\": \"string\"\n }\n ]\n },\n \"includeOtherFields\": false,\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.set\",\n \"typeVersion\": 3.4,\n \"position\": [\n 280,\n 0\n ],\n \"id\": \"642219a1-d655-4a30-af5c-fcccbb690322\",\n \"name\": \"Edit Fields\"\n }\n ],\n \"connections\": {\n \"Execute Workflow Trigger\": {\n \"main\": [\n [\n {\n \"node\": \"Edit Fields\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n }\n },\n \"pinData\": {}\n}",
|
|
||||||
"mode": "each",
|
|
||||||
"options": {
|
|
||||||
"waitForSubWorkflow": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.executeWorkflow",
|
|
||||||
"typeVersion": 1.1,
|
|
||||||
"position": [680, 1540],
|
|
||||||
"id": "f90a25da-dd89-4bf8-8f5b-bf8ee1de0b70",
|
|
||||||
"name": "Execute Workflow with param3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "c93f26bd-3489-467b-909e-6462e1463707",
|
|
||||||
"name": "uid",
|
|
||||||
"value": "={{ $json.uid }}",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "3dd706ce-d925-4219-8531-ad12369972fe",
|
|
||||||
"name": "email",
|
|
||||||
"value": "={{ $json.email }}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [900, 1540],
|
|
||||||
"id": "3be57648-3be8-4b0f-abfa-8fdcafee804d",
|
|
||||||
"name": "Edit Fields8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"source": "parameter",
|
|
||||||
"workflowJson": "{\n \"meta\": {\n \"instanceId\": \"a786b722078489c1fa382391a9f3476c2784761624deb2dfb4634827256d51a0\"\n },\n \"nodes\": [\n {\n \"parameters\": {},\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 0,\n 0\n ],\n \"id\": \"00600a51-e63a-4b6e-93f5-f01d50a21e0c\",\n \"name\": \"Execute Workflow Trigger\"\n },\n {\n \"parameters\": {\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"87ff01af-2e28-48da-ae6c-304040200b15\",\n \"name\": \"hello\",\n \"value\": \"=world {{ $json.firstname }} {{ $json.lastname }}\",\n \"type\": \"string\"\n }\n ]\n },\n \"includeOtherFields\": false,\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.set\",\n \"typeVersion\": 3.4,\n \"position\": [\n 280,\n 0\n ],\n \"id\": \"642219a1-d655-4a30-af5c-fcccbb690322\",\n \"name\": \"Edit Fields\"\n }\n ],\n \"connections\": {\n \"Execute Workflow Trigger\": {\n \"main\": [\n [\n {\n \"node\": \"Edit Fields\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n }\n },\n \"pinData\": {}\n}",
|
|
||||||
"options": {
|
|
||||||
"waitForSubWorkflow": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.executeWorkflow",
|
|
||||||
"typeVersion": 1.1,
|
|
||||||
"position": [620, 1220],
|
|
||||||
"id": "dabc2356-3660-4d17-b305-936a002029ba",
|
|
||||||
"name": "Execute Workflow with param2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "c93f26bd-3489-467b-909e-6462e1463707",
|
|
||||||
"name": "uid",
|
|
||||||
"value": "={{ $json.uid }}",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "3dd706ce-d925-4219-8531-ad12369972fe",
|
|
||||||
"name": "email",
|
|
||||||
"value": "={{ $json.email }}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [840, 1220],
|
|
||||||
"id": "9d2a9dda-e2a1-43e8-a66f-a8a555692e5f",
|
|
||||||
"name": "Edit Fields7"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"source": "parameter",
|
|
||||||
"workflowJson": "{\n \"meta\": {\n \"instanceId\": \"a786b722078489c1fa382391a9f3476c2784761624deb2dfb4634827256d51a0\"\n },\n \"nodes\": [\n {\n \"parameters\": {},\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 0,\n 0\n ],\n \"id\": \"00600a51-e63a-4b6e-93f5-f01d50a21e0c\",\n \"name\": \"Execute Workflow Trigger\"\n },\n {\n \"parameters\": {\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"87ff01af-2e28-48da-ae6c-304040200b15\",\n \"name\": \"hello\",\n \"value\": \"=world {{ $json.firstname }} {{ $json.lastname }}\",\n \"type\": \"string\"\n }\n ]\n },\n \"includeOtherFields\": false,\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.set\",\n \"typeVersion\": 3.4,\n \"position\": [\n 280,\n 0\n ],\n \"id\": \"642219a1-d655-4a30-af5c-fcccbb690322\",\n \"name\": \"Edit Fields\"\n }\n ],\n \"connections\": {\n \"Execute Workflow Trigger\": {\n \"main\": [\n [\n {\n \"node\": \"Edit Fields\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n }\n },\n \"pinData\": {}\n}",
|
|
||||||
"mode": "each",
|
|
||||||
"options": {
|
|
||||||
"waitForSubWorkflow": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.executeWorkflow",
|
|
||||||
"typeVersion": 1.1,
|
|
||||||
"position": [560, 900],
|
|
||||||
"id": "07e47f60-622a-484c-ab24-35f6f2280595",
|
|
||||||
"name": "Execute Workflow with param1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "c93f26bd-3489-467b-909e-6462e1463707",
|
|
||||||
"name": "uid",
|
|
||||||
"value": "={{ $json.uid }}",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "3dd706ce-d925-4219-8531-ad12369972fe",
|
|
||||||
"name": "email",
|
|
||||||
"value": "={{ $json.email }}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [760, 900],
|
|
||||||
"id": "80563d0a-0bab-444f-a04c-4041a505d78b",
|
|
||||||
"name": "Edit Fields6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"source": "parameter",
|
|
||||||
"workflowJson": "{\n \"meta\": {\n \"instanceId\": \"a786b722078489c1fa382391a9f3476c2784761624deb2dfb4634827256d51a0\"\n },\n \"nodes\": [\n {\n \"parameters\": {},\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 0,\n 0\n ],\n \"id\": \"00600a51-e63a-4b6e-93f5-f01d50a21e0c\",\n \"name\": \"Execute Workflow Trigger\"\n },\n {\n \"parameters\": {\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"87ff01af-2e28-48da-ae6c-304040200b15\",\n \"name\": \"hello\",\n \"value\": \"=world {{ $json.firstname }} {{ $json.lastname }}\",\n \"type\": \"string\"\n }\n ]\n },\n \"includeOtherFields\": false,\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.set\",\n \"typeVersion\": 3.4,\n \"position\": [\n 280,\n 0\n ],\n \"id\": \"642219a1-d655-4a30-af5c-fcccbb690322\",\n \"name\": \"Edit Fields\"\n }\n ],\n \"connections\": {\n \"Execute Workflow Trigger\": {\n \"main\": [\n [\n {\n \"node\": \"Edit Fields\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n }\n },\n \"pinData\": {}\n}",
|
|
||||||
"options": {
|
|
||||||
"waitForSubWorkflow": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.executeWorkflow",
|
|
||||||
"typeVersion": 1.1,
|
|
||||||
"position": [560, 580],
|
|
||||||
"id": "f04af481-f4d9-4d91-a60a-a377580e8393",
|
|
||||||
"name": "Execute Workflow with param"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "c93f26bd-3489-467b-909e-6462e1463707",
|
|
||||||
"name": "uid",
|
|
||||||
"value": "={{ $json.uid }}",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "3dd706ce-d925-4219-8531-ad12369972fe",
|
|
||||||
"name": "email",
|
|
||||||
"value": "={{ $json.email }}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [760, 580],
|
|
||||||
"id": "80c10607-a0ac-4090-86a1-890da0a2aa52",
|
|
||||||
"name": "Edit Fields2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"content": "## Execute Workflow (Run once with all items/ DONT Wait for Sub-workflow completion)",
|
|
||||||
"height": 254.84308966329985,
|
|
||||||
"width": 457.58120569815793
|
|
||||||
},
|
|
||||||
"id": "534ef523-3453-4a16-9ff0-8ac9f025d47d",
|
|
||||||
"name": "Sticky Note5",
|
|
||||||
"type": "n8n-nodes-base.stickyNote",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [500, 1080]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"content": "## Execute Workflow (Run once with for each item/ DONT Wait for Sub-workflow completion) ",
|
|
||||||
"height": 284.59778445962905,
|
|
||||||
"width": 457.58120569815793
|
|
||||||
},
|
|
||||||
"id": "838f0fa3-5ee4-4d1a-afb8-42e009f1aa9e",
|
|
||||||
"name": "Sticky Note4",
|
|
||||||
"type": "n8n-nodes-base.stickyNote",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [580, 1400]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"category": "randomData",
|
|
||||||
"randomDataSeed": "1",
|
|
||||||
"randomDataCount": 3
|
|
||||||
},
|
|
||||||
"id": "86699a49-2aa7-488e-8ea9-828404c98f08",
|
|
||||||
"name": "DebugHelper",
|
|
||||||
"type": "n8n-nodes-base.debugHelper",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [320, 1120]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"content": "## Execute Workflow (Run once with for each item/ Wait for Sub-workflow completion) ",
|
|
||||||
"height": 284.59778445962905,
|
|
||||||
"width": 457.58120569815793
|
|
||||||
},
|
|
||||||
"id": "885d35f0-8ae6-45ec-821b-a82c27e7577a",
|
|
||||||
"name": "Sticky Note3",
|
|
||||||
"type": "n8n-nodes-base.stickyNote",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [480, 760]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"content": "## Execute Workflow (Run once with all items/ Wait for Sub-workflow completion) (default behavior)",
|
|
||||||
"height": 254.84308966329985,
|
|
||||||
"width": 457.58120569815793
|
|
||||||
},
|
|
||||||
"id": "505bd7f2-767e-41b8-9325-77300aed5883",
|
|
||||||
"name": "Sticky Note2",
|
|
||||||
"type": "n8n-nodes-base.stickyNote",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [460, 460]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "DebugHelper1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "DebugHelper",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"DebugHelper1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Execute Workflow with param3",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Execute Workflow with param2",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Execute Workflow with param1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Execute Workflow with param",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Execute Workflow with param3": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields8",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Execute Workflow with param2": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields7",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Execute Workflow with param1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields6",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Execute Workflow with param": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields2",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"DebugHelper": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Execute Workflow with param2",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Execute Workflow with param3",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {}
|
|
||||||
}
|
|
||||||
|
|
@ -1,231 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [0, -5],
|
|
||||||
"id": "41b93a1d-ca68-49c1-b252-323e57f58ba9",
|
|
||||||
"name": "When clicking ‘Execute workflow’"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "624c7310-e17a-4075-922f-3b57952e3dfa",
|
|
||||||
"name": "x",
|
|
||||||
"value": "={{ $json.x + 'a' }}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [220, -5],
|
|
||||||
"id": "afd95339-62f5-4efd-bcaa-637cec90ab0f",
|
|
||||||
"name": "Edit Fields0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "624c7310-e17a-4075-922f-3b57952e3dfa",
|
|
||||||
"name": "x",
|
|
||||||
"value": "={{ $json.x + 'a' + $('When clicking ‘Execute workflow’').item.json.x}}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [440, 120],
|
|
||||||
"id": "c279107f-08c2-4be6-9016-d19215cfeb9e",
|
|
||||||
"name": "Edit Fields1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "624c7310-e17a-4075-922f-3b57952e3dfa",
|
|
||||||
"name": "x",
|
|
||||||
"value": "={{ $json.x + 'a' + $('When clicking ‘Execute workflow’').first().json.x }}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [440, -120],
|
|
||||||
"id": "1d4eb1a0-ad87-4d8b-87e6-c853f27aa8ad",
|
|
||||||
"name": "Edit Fields2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "624c7310-e17a-4075-922f-3b57952e3dfa",
|
|
||||||
"name": "x",
|
|
||||||
"value": "={{ $json.x + 'a' + $('When clicking ‘Execute workflow’').last().json.x}}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [440, -320],
|
|
||||||
"id": "b99d763e-cb4c-487f-8718-8b9a5f02c167",
|
|
||||||
"name": "Edit Fields3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "624c7310-e17a-4075-922f-3b57952e3dfa",
|
|
||||||
"name": "x",
|
|
||||||
"value": "={{ $json.x + 'a' + $('When clicking ‘Execute workflow’').item.json.x}}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [720, 0],
|
|
||||||
"id": "4244c039-51c3-415b-8b3d-06be5a90dc7a",
|
|
||||||
"name": "Edit Fields4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "624c7310-e17a-4075-922f-3b57952e3dfa",
|
|
||||||
"name": "x",
|
|
||||||
"value": "={{ $json.x + 'a' + $('When clicking ‘Execute workflow’').item.json.x + $('Edit Fields0').item.json.x }}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [960, 0],
|
|
||||||
"id": "2653bbfe-8f06-4029-9071-8faacfb73cd0",
|
|
||||||
"name": "Edit Fields5"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields0",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields0": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Edit Fields2",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Edit Fields3",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Edit Fields4",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields4",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields2": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields4",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields3": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields4",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields4": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields5",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {
|
|
||||||
"When clicking ‘Execute workflow’": [
|
|
||||||
{
|
|
||||||
"x": "l"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"x": "m"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"x": "o"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "d30ee1956588565f63beb4b8b589790a4701843b47fcd9e8d6d5527fe47872c3"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,167 +0,0 @@
|
||||||
{
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "777c68374367604fdf2a0bcfe9b1b574575ddea61aa8268e4bf034434bd7c894"
|
|
||||||
},
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "0effebfc-fa8c-4d41-8a37-6d5695dfc9ee",
|
|
||||||
"name": "test",
|
|
||||||
"value": "test",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "beb8723f-6333-4186-ab88-41d4e2338866",
|
|
||||||
"name": "test",
|
|
||||||
"value": "test",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "85095836-4e94-442f-9270-e1a89008c129",
|
|
||||||
"name": "test",
|
|
||||||
"value": "test",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "85095836-4e94-442f-9270-e1a89008c125",
|
|
||||||
"name": "test",
|
|
||||||
"value": "test",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "85095836-4e94-442f-9270-e1a89008c121",
|
|
||||||
"name": "test",
|
|
||||||
"value": "test",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "b6163f8a-bca6-4364-8b38-182df37c55cd",
|
|
||||||
"name": "=should be visible!",
|
|
||||||
"value": "=not visible",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "950fcdc1-9e92-410f-8377-d4240e9bf6ff",
|
|
||||||
"name": "Edit Fields1",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [
|
|
||||||
680,
|
|
||||||
460
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"messageType": "block",
|
|
||||||
"blocksUi": "blocks",
|
|
||||||
"text": "=should be visible",
|
|
||||||
"otherOptions": {
|
|
||||||
"includeLinkToWorkflow": true,
|
|
||||||
"link_names": false,
|
|
||||||
"mrkdwn": true,
|
|
||||||
"unfurl_links": false,
|
|
||||||
"sendAsUser": "=not visible"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "dcf7410d-0f8e-4cdb-9819-ae275558bdaa",
|
|
||||||
"name": "Slack",
|
|
||||||
"type": "n8n-nodes-base.slack",
|
|
||||||
"typeVersion": 2.2,
|
|
||||||
"position": [
|
|
||||||
900,
|
|
||||||
460
|
|
||||||
],
|
|
||||||
"webhookId": "002b502e-31e5-4fdb-ac43-a56cfde8f82a"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"rule": {
|
|
||||||
"interval": [
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{
|
|
||||||
"field": "=should be visible"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "=not visible"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "4c948a3f-19d4-4b08-a8be-f7d2964a21f4",
|
|
||||||
"name": "Schedule Trigger",
|
|
||||||
"type": "n8n-nodes-base.scheduleTrigger",
|
|
||||||
"typeVersion": 1.2,
|
|
||||||
"position": [
|
|
||||||
460,
|
|
||||||
460
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "5dcaab37-1146-49c6-97a3-3b2f73483270",
|
|
||||||
"name": "object",
|
|
||||||
"value": "=1 visible!\n2 {\n3 \"str\": \"two\",\n4 \"str_date\": \"{{ $now }}\",\n5 \"str_int\": \"1\",\n6 \"str_float\": \"1.234\",\n7 not visible!\n \"str_bool\": \"true\",\n \"str_email\": \"david@thedavid.com\",\n \"str_with_email\":\"My email is david@n8n.io\",\n \"str_json_single\":\"{'one':'two'}\",\n \"str_json_double\":\"{\\\"one\\\":\\\"two\\\"}\",\n \"bool\": true,\n \"list\": [1, 2, 3],\n \"decimal\": 1.234,\n \"timestamp1\": 1708695471,\n \"timestamp2\": 1708695471000,\n \"timestamp3\": 1708695471000000,\n \"num_one\": 1\n}",
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"includeOtherFields": true,
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "a41dfb0d-38aa-42d2-b3e2-1854090bd319",
|
|
||||||
"name": "With long expression",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.3,
|
|
||||||
"position": [
|
|
||||||
1100,
|
|
||||||
460
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"Edit Fields1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Slack",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Slack": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "With long expression",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Schedule Trigger": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {}
|
|
||||||
}
|
|
||||||
|
|
@ -1,80 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [-240, 180],
|
|
||||||
"id": "cd9b8124-567e-43d9-b4d1-638b111cd049",
|
|
||||||
"name": "When clicking ‘Execute workflow’"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "3a40d9f2-0eed-4a92-9287-9d6ec9ce90e8",
|
|
||||||
"name": "message",
|
|
||||||
"value": "hello there",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [-20, 180],
|
|
||||||
"id": "6e58ae14-4851-4e9d-9465-4155b6e2f278",
|
|
||||||
"name": "Edit Fields1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "9e957377-c5f2-4254-89d8-334d32a8cfb6",
|
|
||||||
"name": "test",
|
|
||||||
"value": "={{ $json.message }}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [200, 180],
|
|
||||||
"id": "c4e9d792-51e9-4296-ba66-afac3cf378dd",
|
|
||||||
"name": "Repro1"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Repro1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {},
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "cdc3bfdf3e6244f221ab6e71b2115a631406ae45a034bfca5e9731cf64f4eb64"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
||||||
{
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "4d0676b62208d810ef035130bbfc9fd3afdc78d963ea8ccb9514dc89066efc94"
|
|
||||||
},
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "bb7f8bb3-840a-464c-a7de-d3a80538c2be",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [0, 0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"workflowId": {},
|
|
||||||
"workflowInputs": {
|
|
||||||
"mappingMode": "defineBelow",
|
|
||||||
"value": {},
|
|
||||||
"matchingColumns": [],
|
|
||||||
"schema": [],
|
|
||||||
"attemptToConvertTypes": false,
|
|
||||||
"convertFieldsToString": true
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.executeWorkflow",
|
|
||||||
"typeVersion": 1.2,
|
|
||||||
"position": [500, 240],
|
|
||||||
"id": "6b6e2e34-c6ab-4083-b8e3-6b0d56be5453",
|
|
||||||
"name": "Execute Workflow"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Execute Workflow",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {
|
|
||||||
"When clicking ‘Execute workflow’": [
|
|
||||||
{
|
|
||||||
"aaString": "A String",
|
|
||||||
"aaNumber": 1,
|
|
||||||
"aaArray": [1, true, "3"],
|
|
||||||
"aaObject": {
|
|
||||||
"aKey": -1
|
|
||||||
},
|
|
||||||
"aaAny": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aaString": "Another String",
|
|
||||||
"aaNumber": 2,
|
|
||||||
"aaArray": [],
|
|
||||||
"aaObject": {
|
|
||||||
"aDifferentKey": -1
|
|
||||||
},
|
|
||||||
"aaAny": []
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Get Weather",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "82eed1ba-179b-4f8f-8a85-b45f0d4e5857",
|
|
||||||
"name": "Execute Workflow Trigger",
|
|
||||||
"type": "n8n-nodes-base.executeWorkflowTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
560,
|
|
||||||
340
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "6ad8dc55-20f3-45af-a724-c7ecac90d338",
|
|
||||||
"name": "response",
|
|
||||||
"value": "Weather is sunny",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "8f3e00f6-fc92-4aba-817b-93d206158bda",
|
|
||||||
"name": "Edit Fields",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [
|
|
||||||
780,
|
|
||||||
340
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {},
|
|
||||||
"connections": {
|
|
||||||
"Execute Workflow Trigger": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,64 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Search DB",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "64465f9b-63de-43f9-8d90-b5b2eb7a2dc7",
|
|
||||||
"name": "Execute Workflow Trigger",
|
|
||||||
"type": "n8n-nodes-base.executeWorkflowTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
640,
|
|
||||||
380
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "6ad8dc55-20f3-45af-a724-c7ecac90d338",
|
|
||||||
"name": "response",
|
|
||||||
"value": "10 results found",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "b580fd2b-00c8-4a52-8acb-024f204c0947",
|
|
||||||
"name": "Edit Fields",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [
|
|
||||||
860,
|
|
||||||
380
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {},
|
|
||||||
"connections": {
|
|
||||||
"Execute Workflow Trigger": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {
|
|
||||||
"executionOrder": "v1"
|
|
||||||
},
|
|
||||||
"versionId": "6026f7a4-f5dc-4c27-9f83-3a02fc6e33ae",
|
|
||||||
"meta": {
|
|
||||||
"templateCredsSetupCompleted": true,
|
|
||||||
"instanceId": "27cc9b56542ad45b38725555722c50a1c3fee1670bbb67980558314ee08517c4"
|
|
||||||
},
|
|
||||||
"id": "BFFhCdBZmNSkx4qf",
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,177 +0,0 @@
|
||||||
{
|
|
||||||
"workflow": {
|
|
||||||
"id": 1205,
|
|
||||||
"name": "Promote new Shopify products",
|
|
||||||
"views": 478,
|
|
||||||
"recentViews": 9880,
|
|
||||||
"totalViews": 478,
|
|
||||||
"createdAt": "2021-08-24T10:40:50.007Z",
|
|
||||||
"description": "This workflow automatically promotes your new Shopify products on Twitter and Telegram. This workflow is also featured in the blog post [*6 e-commerce workflows to power up your Shopify store*](https://n8n.io/blog/no-code-ecommerce-workflow-automations/#promote-your-new-products-on-social-media).\n\n## Prerequisites\n\n- A Shopify account and [credentials](https://docs.n8n.io/integrations/builtin/credentials/shopify/)\n- A Twitter account and [credentials](https://docs.n8n.io/integrations/builtin/credentials/twitter/)\n- A Telegram account and [credentials](https://docs.n8n.io/integrations/builtin/credentials/telegram/) for the channel you want to send messages to.\n\n## Nodes\n\n- [Shopify Trigger node](https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.shopifytrigger/) triggers the workflow when you create a new product in Shopify.\n- [Twitter node](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.twitter/) posts a tweet with the text \"Hey there, my design is now on a new product! Visit my {shop name} to get this cool {product title} (and check out more {product type})\".\n- [Telegram node](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.telegram/) posts a message with the same text as above in a Telegram channel.",
|
|
||||||
"workflow": {
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"name": "Twitter",
|
|
||||||
"type": "n8n-nodes-base.twitter",
|
|
||||||
"position": [
|
|
||||||
720,
|
|
||||||
-220
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"text": "=Hey there, my design is now on a new product ✨\nVisit my {{$json[\"vendor\"]}} shop to get this cool{{$json[\"title\"]}} (and check out more {{$json[\"product_type\"]}}) 🛍️",
|
|
||||||
"additionalFields": {}
|
|
||||||
},
|
|
||||||
"credentials": {
|
|
||||||
"twitterOAuth1Api": "twitter"
|
|
||||||
},
|
|
||||||
"typeVersion": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Telegram",
|
|
||||||
"type": "n8n-nodes-base.telegram",
|
|
||||||
"position": [
|
|
||||||
720,
|
|
||||||
-20
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"text": "=Hey there, my design is now on a new product!\nVisit my {{$json[\"vendor\"]}} shop to get this cool{{$json[\"title\"]}} (and check out more {{$json[\"product_type\"]}})",
|
|
||||||
"chatId": "123456",
|
|
||||||
"additionalFields": {}
|
|
||||||
},
|
|
||||||
"credentials": {
|
|
||||||
"telegramApi": "telegram_habot"
|
|
||||||
},
|
|
||||||
"typeVersion": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "product created",
|
|
||||||
"type": "n8n-nodes-base.shopifyTrigger",
|
|
||||||
"position": [
|
|
||||||
540,
|
|
||||||
-110
|
|
||||||
],
|
|
||||||
"webhookId": "2a7e0e50-8f09-4a2b-bf54-a849a6ac4fe0",
|
|
||||||
"parameters": {
|
|
||||||
"topic": "products/create"
|
|
||||||
},
|
|
||||||
"credentials": {
|
|
||||||
"shopifyApi": "shopify_nodeqa"
|
|
||||||
},
|
|
||||||
"typeVersion": 1
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"product created": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Twitter",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Telegram",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"workflowInfo": {
|
|
||||||
"nodeCount": 3,
|
|
||||||
"nodeTypes": {
|
|
||||||
"n8n-nodes-base.twitter": {
|
|
||||||
"count": 1
|
|
||||||
},
|
|
||||||
"n8n-nodes-base.telegram": {
|
|
||||||
"count": 1
|
|
||||||
},
|
|
||||||
"n8n-nodes-base.shopifyTrigger": {
|
|
||||||
"count": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"user": {
|
|
||||||
"username": "lorenanda"
|
|
||||||
},
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"id": 49,
|
|
||||||
"icon": "file:telegram.svg",
|
|
||||||
"name": "n8n-nodes-base.telegram",
|
|
||||||
"defaults": {
|
|
||||||
"name": "Telegram"
|
|
||||||
},
|
|
||||||
"iconData": {
|
|
||||||
"type": "file",
|
|
||||||
"fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNjYgNjYiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBzdHJva2U9Im5vbmUiIGZpbGwtcnVsZT0ibm9uemVybyI+PHBhdGggZD0iTTAgMzJjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyczMyLTE0LjMyNyAzMi0zMlM0OS42NzMgMCAzMiAwIDAgMTQuMzI3IDAgMzIiIGZpbGw9IiMzN2FlZTIiLz48cGF0aCBkPSJNMjEuNjYxIDM0LjMzOGwzLjc5NyAxMC41MDhzLjQ3NS45ODMuOTgzLjk4MyA4LjA2OC03Ljg2NCA4LjA2OC03Ljg2NGw4LjQwNy0xNi4yMzctMjEuMTE5IDkuODk4eiIgZmlsbD0iI2M4ZGFlYSIvPjxwYXRoIGQ9Ik0yNi42OTUgMzcuMDM0bC0uNzI5IDcuNzQ2cy0uMzA1IDIuMzczIDIuMDY4IDBsNC42NDQtNC4yMDMiIGZpbGw9IiNhOWM2ZDgiLz48cGF0aCBkPSJNMjEuNzMgMzQuNzEybC03LjgwOS0yLjU0NXMtLjkzMi0uMzc4LS42MzMtMS4yMzdjLjA2Mi0uMTc3LjE4Ni0uMzI4LjU1OS0uNTg4IDEuNzMxLTEuMjA2IDMyLjAyOC0xMi4wOTYgMzIuMDI4LTEyLjA5NnMuODU2LS4yODggMS4zNjEtLjA5N2MuMjMxLjA4OC4zNzguMTg3LjUwMy41NDguMDQ1LjEzMi4wNzEuNDExLjA2OC42ODktLjAwMy4yMDEtLjAyNy4zODYtLjA0NS42NzgtLjE4NCAyLjk3OC01LjcwNiAyNS4xOTgtNS43MDYgMjUuMTk4cy0uMzMgMS4zLTEuNTE0IDEuMzQ1Yy0uNDMyLjAxNi0uOTU2LS4wNzEtMS41ODItLjYxLTIuMzIzLTEuOTk4LTEwLjM1Mi03LjM5NC0xMi4xMjYtOC41OGEuMzQuMzQgMCAwMS0uMTQ2LS4yMzljLS4wMjUtLjEyNS4xMDgtLjI4LjEwOC0uMjhzMTMuOTgtMTIuNDI3IDE0LjM1Mi0xMy43MzFjLjAyOS0uMTAxLS4wNzktLjE1MS0uMjI2LS4xMDctLjkyOS4zNDItMTcuMDI1IDEwLjUwNi0xOC44MDEgMTEuNjI5LS4xMDQuMDY2LS4zOTUuMDIzLS4zOTUuMDIzIi8+PC9nPjwvc3ltYm9sPjwvc3ZnPg=="
|
|
||||||
},
|
|
||||||
"categories": [
|
|
||||||
{
|
|
||||||
"id": 6,
|
|
||||||
"name": "Communication"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"displayName": "Telegram",
|
|
||||||
"typeVersion": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 107,
|
|
||||||
"icon": "file:shopify.svg",
|
|
||||||
"name": "n8n-nodes-base.shopifyTrigger",
|
|
||||||
"defaults": {
|
|
||||||
"name": "Shopify Trigger"
|
|
||||||
},
|
|
||||||
"iconData": {
|
|
||||||
"type": "file",
|
|
||||||
"fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNTggNjYiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBzdHJva2U9Im5vbmUiIGZpbGwtcnVsZT0ibm9uemVybyI+PHBhdGggZD0iTTQ5LjI1NSAxMi40ODRhLjYzMy42MzMgMCAwMC0uNTY0LS41MjdjLS4yMjUtLjAzNy01LjE3LS4zNzYtNS4xNy0uMzc2bC0zLjc3LTMuNzdjLS4zNC0uMzc2LTEuMDkyLS4yNjYtMS4zNzYtLjE4OC0uMDM3IDAtLjc1Mi4yMjUtMS45MjIuNjA1LTEuMTM3LTMuMy0zLjE1LTYuMzA2LTYuNjk2LTYuMzA2aC0uMzAzQzI4LjQzOC42MDUgMjcuMTk0IDAgMjYuMTQ0IDBjLTguMjU2LjAzNy0xMi4yIDEwLjMzMy0xMy40MzQgMTUuNTk0bC01Ljc3IDEuNzdjLTEuNzcuNTY0LTEuODM1LjYwNS0yLjA3MyAyLjI5M0wwIDU3LjE3NSAzNi40NjggNjRsMTkuNzYzLTQuMjZjMC0uMDM3LTYuOTQtNDYuODk3LTYuOTc2LTQ3LjI1NXpNMzQuNDMxIDguODZjLS45MTcuMzAzLTEuOTYzLjYwNS0zLjEuOTQ1di0uNjhhMTUuMDMgMTUuMDMgMCAwMC0uNzUyLTQuOTk5YzEuODQ4LjI4NCAzLjEgMi4zNTcgMy44NDMgNC43MzN6bS02LjA2OC00LjI5OGMuNjAzIDEuNzc4Ljg4MyAzLjY1LjgyNiA1LjUyN3YuMzRsLTYuMzc1IDEuOTYzYzEuMjQ4LTQuNjYgMy41NS02Ljk2MiA1LjU1LTcuODN6bS0yLjQ1LTIuMjkzYTEuOTQgMS45NCAwIDAxMS4wNTUuMzM5Yy0yLjY2IDEuMjM4LTUuNDcyIDQuMzY2LTYuNjc4IDEwLjYyN2wtNS4wNDUgMS41NDZDMTYuNjY4IDEwLjAzIDE5Ljk4OCAyLjI2IDI1LjkxIDIuMjZ6IiBmaWxsPSIjOTViZjQ3Ii8+PHBhdGggZD0iTTQ4LjY5MSAxMS45NTdjLS4yMjUtLjAzNy01LjE3LS4zNzYtNS4xNy0uMzc2bC0zLjc3LTMuNzdhLjc1My43NTMgMCAwMC0uNTI3LS4yMjVMMzYuNDcyIDY0bDE5Ljc2My00LjI2LTYuOTgtNDcuMjE4YS42OC42OCAwIDAwLS41NjQtLjU2NHoiIGZpbGw9IiM1ZThlM2UiLz48cGF0aCBkPSJNMjkuNzU4IDIyLjlsLTIuNDU0IDcuMjQyYTExLjM2IDExLjM2IDAgMDAtNC43NTItMS4xMzNjLTMuODQ4IDAtNC4wMzYgMi40MTItNC4wMzYgMy4wMTggMCAzLjI5OCA4LjYzNiA0LjU2NCA4LjYzNiAxMi4zMzMgMCA2LjEtMy44ODUgMTAuMDMtOS4xIDEwLjAzLTYuMjYgMC05LjQ2Ny0zLjg4NS05LjQ2Ny0zLjg4NWwxLjY2NS01LjU1czMuMjggMi44MyA2LjA3MyAyLjgzYTIuNDcgMi40NyAwIDAwMi41NjQtMi40OWMwLTQuMzQtNy4xLTQuNTI3LTcuMS0xMS42MTggMC01Ljk2MiA0LjI5OC0xMS43NyAxMi45MzQtMTEuNzcgMy4zOTQuMDUgNS4wMTggMSA1LjAxOCAxeiIvPjwvZz48L3N5bWJvbD48L3N2Zz4="
|
|
||||||
},
|
|
||||||
"categories": [
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"name": "Sales"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"displayName": "Shopify Trigger",
|
|
||||||
"typeVersion": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 325,
|
|
||||||
"icon": "file:x.svg",
|
|
||||||
"name": "n8n-nodes-base.twitter",
|
|
||||||
"defaults": {
|
|
||||||
"name": "X"
|
|
||||||
},
|
|
||||||
"iconData": {
|
|
||||||
"type": "file",
|
|
||||||
"fileBuffer": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE4LjI0NCAyLjI1aDMuMzA4bC03LjIyNyA4LjI2IDguNTAyIDExLjI0SDE2LjE3bC01LjIxNC02LjgxN0w0Ljk5IDIxLjc1SDEuNjhsNy43My04LjgzNUwxLjI1NCAyLjI1SDguMDhsNC43MTMgNi4yMzF6bS0xLjE2MSAxNy41MmgxLjgzM0w3LjA4NCA0LjEyNkg1LjExN3oiPjwvcGF0aD48L3N2Zz4K"
|
|
||||||
},
|
|
||||||
"categories": [
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"name": "Marketing & Content"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"displayName": "X (Formerly Twitter)",
|
|
||||||
"typeVersion": 2
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"name": "Sales"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 19,
|
|
||||||
"name": "Marketing & Growth"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"image": [
|
|
||||||
{
|
|
||||||
"id": 527,
|
|
||||||
"url": "https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/89a078b208fe4c6181902608b1cd1332.png"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,160 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Test Workflow pairedItem incomplete manual bug",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "f26332f3-c61a-4843-94bd-64a73ad161ff",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
860,
|
|
||||||
340
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "bd522794-d056-48b8-9204-26f7d68288d9",
|
|
||||||
"name": "test",
|
|
||||||
"value": "a",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "fae0c907-e2bf-4ecf-82be-f9caa209f925",
|
|
||||||
"name": "Init Data",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.3,
|
|
||||||
"position": [
|
|
||||||
1080,
|
|
||||||
340
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"conditions": {
|
|
||||||
"options": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"leftValue": "",
|
|
||||||
"typeValidation": "strict"
|
|
||||||
},
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"id": "8db21b4b-1675-4e63-b092-7fcc45a86547",
|
|
||||||
"leftValue": "={{ $json.test }}",
|
|
||||||
"rightValue": "b",
|
|
||||||
"operator": {
|
|
||||||
"type": "string",
|
|
||||||
"operation": "equals",
|
|
||||||
"name": "filter.operator.equals"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"combinator": "and"
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "f7990edd-2c0f-42e6-b3ce-74c7df02b6a4",
|
|
||||||
"name": "If",
|
|
||||||
"type": "n8n-nodes-base.if",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
1300,
|
|
||||||
340
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "850d48f5-0689-4cab-b30c-30e179577c82",
|
|
||||||
"name": "NoOp1",
|
|
||||||
"type": "n8n-nodes-base.noOp",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1540,
|
|
||||||
200
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "bd522794-d056-48b8-9204-26f7d68288d9",
|
|
||||||
"name": "test2",
|
|
||||||
"value": "={{ $('Init Data').item.json.test }}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "91d93c3a-a557-465e-812b-266d6277b279",
|
|
||||||
"name": "Test Expression",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.3,
|
|
||||||
"position": [
|
|
||||||
1540,
|
|
||||||
440
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {},
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Init Data",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Init Data": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "If",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"If": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "NoOp1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Test Expression",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {
|
|
||||||
"executionOrder": "v1"
|
|
||||||
},
|
|
||||||
"versionId": "765a6d9b-d667-4a59-9bd7-b0bc2627b008",
|
|
||||||
"meta": {
|
|
||||||
"templateCredsSetupCompleted": true,
|
|
||||||
"instanceId": "021d3c82ba2d3bc090cbf4fc81c9312668bcc34297e022bb3438c5c88a43a5ff"
|
|
||||||
},
|
|
||||||
"id": "qnGQYw8TD58xs214",
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,135 +0,0 @@
|
||||||
{
|
|
||||||
"name": "NDV search bugs (introduced by schema view?)",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "55635c7b-92ee-4d2d-a0c0-baff9ab071da",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"position": [
|
|
||||||
800,
|
|
||||||
380
|
|
||||||
],
|
|
||||||
"typeVersion": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"operation": "getAllPeople"
|
|
||||||
},
|
|
||||||
"id": "4737af43-e49b-4c92-b76f-32605c047114",
|
|
||||||
"name": "Customer Datastore (n8n training)",
|
|
||||||
"type": "n8n-nodes-base.n8nTrainingCustomerDatastore",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1020,
|
|
||||||
380
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": []
|
|
||||||
},
|
|
||||||
"includeOtherFields": true,
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "8cc9b374-1856-4f3f-9315-08e6e27840d8",
|
|
||||||
"name": "Edit Fields",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [
|
|
||||||
1240,
|
|
||||||
380
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {
|
|
||||||
"Customer Datastore (n8n training)": [
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "23423532",
|
|
||||||
"name": "Jay Gatsby",
|
|
||||||
"email": "gatsby@west-egg.com",
|
|
||||||
"notes": "Keeps asking about a green light??",
|
|
||||||
"country": "US",
|
|
||||||
"created": "1925-04-10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "23423533",
|
|
||||||
"name": "José Arcadio Buendía",
|
|
||||||
"email": "jab@macondo.co",
|
|
||||||
"notes": "Lots of people named after him. Very confusing",
|
|
||||||
"country": "CO",
|
|
||||||
"created": "1967-05-05"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "23423534",
|
|
||||||
"name": "Max Sendak",
|
|
||||||
"email": "info@in-and-out-of-weeks.org",
|
|
||||||
"notes": "Keeps rolling his terrible eyes",
|
|
||||||
"country": "US",
|
|
||||||
"created": "1963-04-09"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "23423535",
|
|
||||||
"name": "Zaphod Beeblebrox",
|
|
||||||
"email": "captain@heartofgold.com",
|
|
||||||
"notes": "Felt like I was talking to more than one person",
|
|
||||||
"country": null,
|
|
||||||
"created": "1979-10-12"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "23423536",
|
|
||||||
"name": "Edmund Pevensie",
|
|
||||||
"email": "edmund@narnia.gov",
|
|
||||||
"notes": "Passionate sailor",
|
|
||||||
"country": "UK",
|
|
||||||
"created": "1950-10-16"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Customer Datastore (n8n training)",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Customer Datastore (n8n training)": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {
|
|
||||||
"executionOrder": "v1"
|
|
||||||
},
|
|
||||||
"versionId": "20178044-fb64-4443-88dd-e941517520d0",
|
|
||||||
"meta": {
|
|
||||||
"templateCredsSetupCompleted": true,
|
|
||||||
"instanceId": "be251a83c052a9862eeac953816fbb1464f89dfbf79d7ac490a8e336a8cc8bfd"
|
|
||||||
},
|
|
||||||
"id": "aBVnTRON9Y2cSmse",
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,94 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"conditions": {
|
|
||||||
"options": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"leftValue": "",
|
|
||||||
"typeValidation": "strict",
|
|
||||||
"version": 2
|
|
||||||
},
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"id": "6f0cf983-824b-4339-a5de-6b374a23b4b0",
|
|
||||||
"leftValue": "={{ $json.a }}",
|
|
||||||
"rightValue": 3,
|
|
||||||
"operator": {
|
|
||||||
"type": "number",
|
|
||||||
"operation": "equals"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"combinator": "and"
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.if",
|
|
||||||
"typeVersion": 2.2,
|
|
||||||
"position": [220, 0],
|
|
||||||
"id": "1755282a-ec4a-4d02-a833-0316ca413cc4",
|
|
||||||
"name": "If"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [0, 0],
|
|
||||||
"id": "de1e7acf-12d8-4e56-ba42-709ffb397db2",
|
|
||||||
"name": "When clicking ‘Execute workflow’"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"category": "randomData"
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.debugHelper",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [580, 0],
|
|
||||||
"id": "86440d33-f833-453c-bcaa-fff7e0083501",
|
|
||||||
"name": "DebugHelper",
|
|
||||||
"alwaysOutputData": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"If": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "DebugHelper",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "DebugHelper",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "If",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {
|
|
||||||
"When clicking ‘Execute workflow’": [
|
|
||||||
{
|
|
||||||
"a": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a": 2
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
||||||
{
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "4a31be0d29cfa6246ba62b359030d712af57b98c5dfe6a7ee8beee0a46c5b5a4"
|
|
||||||
},
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"operation": "get"
|
|
||||||
},
|
|
||||||
"id": "5b084875-bd5e-4731-9591-18d2c8996945",
|
|
||||||
"name": "",
|
|
||||||
"type": "n8n-nodes-base.gmail",
|
|
||||||
"typeVersion": 2.1,
|
|
||||||
"position": [
|
|
||||||
900,
|
|
||||||
460
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "449ab540-d9d7-480d-b131-05e9989a69cd",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
460,
|
|
||||||
460
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"operation": "get"
|
|
||||||
},
|
|
||||||
"id": "3a791321-6f0c-4f92-91e5-20e1be0d4964",
|
|
||||||
"name": "Gmail",
|
|
||||||
"type": "n8n-nodes-base.gmail",
|
|
||||||
"typeVersion": 2.1,
|
|
||||||
"position": [
|
|
||||||
680,
|
|
||||||
460
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Gmail",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Gmail": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Gmail1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {}
|
|
||||||
}
|
|
||||||
|
|
@ -1,128 +0,0 @@
|
||||||
{
|
|
||||||
"meta": {
|
|
||||||
"templateCredsSetupCompleted": true,
|
|
||||||
"instanceId": "669258f419ee5d9faf0a484944244a47fcc28c541f3c6c874e50a171a0be1e6b"
|
|
||||||
},
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"rule": {
|
|
||||||
"interval": [
|
|
||||||
{}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "54b1cdeb-b453-4568-8107-c17fcf2aa25a",
|
|
||||||
"name": "Schedule Trigger",
|
|
||||||
"type": "n8n-nodes-base.scheduleTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
240,
|
|
||||||
560
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "5f6dffef-61f7-459d-930c-ef701d08d49a",
|
|
||||||
"name": "Set",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
460,
|
|
||||||
460
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"rules": {
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"outputKey": "a"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "c07d3a12-1ee2-4131-bec2-ab366457d042",
|
|
||||||
"name": "Old version Switch Node",
|
|
||||||
"type": "n8n-nodes-base.switch",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
460,
|
|
||||||
680
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "182a833d-3b93-4e86-a0db-3ceb19d6562b",
|
|
||||||
"name": "Loop Over Items",
|
|
||||||
"type": "n8n-nodes-base.splitInBatches",
|
|
||||||
"typeVersion": 3,
|
|
||||||
"position": [
|
|
||||||
720,
|
|
||||||
560
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "b0d0aeb7-0c8f-4810-8b78-6c0db3c9a486",
|
|
||||||
"name": "Replace Me",
|
|
||||||
"type": "n8n-nodes-base.noOp",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
900,
|
|
||||||
560
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"Schedule Trigger": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Old version Switch Node",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Loop Over Items",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Loop Over Items": {
|
|
||||||
"main": [
|
|
||||||
null,
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Replace Me",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Replace Me": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Loop Over Items",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {}
|
|
||||||
}
|
|
||||||
|
|
@ -1,61 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Test workflow 1",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "a2f85497-260d-4489-a957-2b7d88e2f33d",
|
|
||||||
"name": "On clicking 'execute'",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [220, 260]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"jsCode": "// Loop over input items and add a new field\n// called 'myNewField' to the JSON of each one\nfor (const item of $input.all()) {\n item.json.myNewField = 1;\n}\n\nreturn $input.all();"
|
|
||||||
},
|
|
||||||
"id": "9493d278-1ede-47c9-bedf-92ac3a737c65",
|
|
||||||
"name": "Code",
|
|
||||||
"type": "n8n-nodes-base.code",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [400, 260]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {},
|
|
||||||
"connections": {
|
|
||||||
"On clicking 'execute'": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Code",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Code": {
|
|
||||||
"main": [[]]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {},
|
|
||||||
"hash": "a59c7b1c97b1741597afae0fcd43ebef",
|
|
||||||
"id": 3,
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "a5280676597d00ecd0ea712da7f9cf2ce90174a791a309112731f6e44d162f35"
|
|
||||||
},
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"name": "some-tag-1",
|
|
||||||
"createdAt": "2022-11-10T13:43:34.001Z",
|
|
||||||
"updatedAt": "2022-11-10T13:43:34.001Z",
|
|
||||||
"id": "6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "some-tag-2",
|
|
||||||
"createdAt": "2022-11-10T13:43:39.778Z",
|
|
||||||
"updatedAt": "2022-11-10T13:43:39.778Z",
|
|
||||||
"id": "7"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,58 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Test workflow 2",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "624e0991-5dac-468b-b872-a9d35cb2c7d1",
|
|
||||||
"name": "On clicking 'execute'",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [360, 260]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"jsCode": "// Loop over input items and add a new field\n// called 'myNewField' to the JSON of each one\nfor (const item of $input.all()) {\n item.json.myNewField = 1;\n}\n\nreturn $input.all();"
|
|
||||||
},
|
|
||||||
"id": "48823b3a-ec82-4a05-84b8-24ac2747e648",
|
|
||||||
"name": "Code",
|
|
||||||
"type": "n8n-nodes-base.code",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [580, 260]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {},
|
|
||||||
"connections": {
|
|
||||||
"On clicking 'execute'": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Code",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {},
|
|
||||||
"hash": "4d2e29ffcae2a12bdd28a7abe9681a6b",
|
|
||||||
"id": 4,
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "a5280676597d00ecd0ea712da7f9cf2ce90174a791a309112731f6e44d162f35"
|
|
||||||
},
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"name": "other-tag-1",
|
|
||||||
"createdAt": "2022-11-10T13:45:43.821Z",
|
|
||||||
"updatedAt": "2022-11-10T13:45:43.821Z",
|
|
||||||
"id": "8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "other-tag-2",
|
|
||||||
"createdAt": "2022-11-10T13:45:46.881Z",
|
|
||||||
"updatedAt": "2022-11-10T13:45:46.881Z",
|
|
||||||
"id": "9"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,123 +0,0 @@
|
||||||
{
|
|
||||||
"name": "My workflow",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"rule": {
|
|
||||||
"interval": [
|
|
||||||
{}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "0f7d87ee-19c6-4576-bdff-1f3c4739392c",
|
|
||||||
"name": "Schedule Trigger",
|
|
||||||
"type": "n8n-nodes-base.scheduleTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
720,
|
|
||||||
300
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "2b0f25a2-9483-4579-9f6d-91b7ac2fcb71",
|
|
||||||
"name": "other",
|
|
||||||
"value": "",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "2dfc690a-95cf-48c2-85a6-2b3bb8cd1d1d",
|
|
||||||
"name": "Set",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.3,
|
|
||||||
"position": [
|
|
||||||
920,
|
|
||||||
300
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "9bee04af-1bfc-4be2-a704-e975cb887ced",
|
|
||||||
"name": "Set1",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.3,
|
|
||||||
"position": [
|
|
||||||
1120,
|
|
||||||
300
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "2b0f25a2-9483-4579-9f6d-91b7ac2fcb71",
|
|
||||||
"name": "other",
|
|
||||||
"value": "",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {
|
|
||||||
"Schedule Trigger": [
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"input": [
|
|
||||||
{
|
|
||||||
"count": 0,
|
|
||||||
"with space": "!!",
|
|
||||||
"with.dot": "!!",
|
|
||||||
"with\"quotes": "!!"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"input": [
|
|
||||||
{
|
|
||||||
"count": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"connections": {
|
|
||||||
"Schedule Trigger": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Set": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {},
|
|
||||||
"versionId": "c26af749-dacb-45ef-8071-98aba8688075",
|
|
||||||
"id": "1",
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "fe45a93dd232270eb40d3ba1f7907ad3935bbd72ad5e4ee09ff61e96674f9aef"
|
|
||||||
},
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
{
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "6b85439d79c07750ea49eced4bc2a12b283cfcba0ab2917cd4f3fee36080e869"
|
|
||||||
},
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"jsCode": "// Loop over input items and add a new field\n// called 'myNewField' to the JSON of each one\nfor (const item of $input.all()) {\n item.json.myNewField = 1;\n error\n}\n\nreturn $input.all();"
|
|
||||||
},
|
|
||||||
"id": "d0ab7e12-0e1b-4c08-8081-83107794f37d",
|
|
||||||
"name": "Error",
|
|
||||||
"type": "n8n-nodes-base.code",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
680,
|
|
||||||
460
|
|
||||||
],
|
|
||||||
"disabled": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "f5026145-66c1-463c-8ac8-46a1309a6632",
|
|
||||||
"name": "On clicking 'execute'",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
460,
|
|
||||||
460
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"jsCode": "// Loop over input items and add a new field\n// called 'myNewField' to the JSON of each one\nfor (const item of $input.all()) {\n item.json.myNewField = 1;\n}\n\nreturn $input.all();"
|
|
||||||
},
|
|
||||||
"id": "9926f884-348a-4af0-872e-dd7c8b3da811",
|
|
||||||
"name": "Code",
|
|
||||||
"type": "n8n-nodes-base.code",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
900,
|
|
||||||
460
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"Error": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Code",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"On clicking 'execute'": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Error",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"name": "some-tag-1",
|
|
||||||
"createdAt": "2022-11-10T13:43:34.001Z",
|
|
||||||
"updatedAt": "2022-11-10T13:43:34.001Z",
|
|
||||||
"id": "6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "some-tag-2",
|
|
||||||
"createdAt": "2022-11-10T13:43:39.778Z",
|
|
||||||
"updatedAt": "2022-11-10T13:43:39.778Z",
|
|
||||||
"id": "7"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,291 +0,0 @@
|
||||||
{
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "8147b3a74cd161276e0f3bfc17369a724afab0d377593fada8be82d34c0c6a95"
|
|
||||||
},
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"jsCode": "return [\n {\n id: 6666\n },\n {\n id: 3333\n },\n {\n id: 9999\n },\n {\n id: 1111\n },\n {\n id: 4444\n },\n {\n id: 8888\n },\n]"
|
|
||||||
},
|
|
||||||
"id": "5f023c7c-67ca-47a0-8a90-8227fcf29b9c",
|
|
||||||
"name": "Code",
|
|
||||||
"type": "n8n-nodes-base.code",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
-520,
|
|
||||||
580
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"values": {
|
|
||||||
"string": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"value": "={{ $json.id }}"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "bd454282-9dd7-465f-9b9a-654a0c8532ec",
|
|
||||||
"name": "Set2",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
-40,
|
|
||||||
780
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "ef63cdc5-50bc-4525-9873-7e7f7589a60e",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
-740,
|
|
||||||
580
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"sortFieldsUi": {
|
|
||||||
"sortField": [
|
|
||||||
{
|
|
||||||
"fieldName": "id"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "555a150c-d735-4331-b628-c1f1cfed2da1",
|
|
||||||
"name": "Sort",
|
|
||||||
"type": "n8n-nodes-base.sort",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
-280,
|
|
||||||
580
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"values": {
|
|
||||||
"string": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"value": "={{ $json.id }}"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "02372cb6-aac8-45c3-8600-f699901289ac",
|
|
||||||
"name": "Set",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
-60,
|
|
||||||
580
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "00d73944-218c-4896-af68-3f2855a922d1",
|
|
||||||
"name": "Set1",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
-280,
|
|
||||||
780
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"conditions": {
|
|
||||||
"number": [
|
|
||||||
{
|
|
||||||
"value1": "={{ $json.id }}",
|
|
||||||
"operation": "smallerEqual",
|
|
||||||
"value2": 6666
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "211a7bef-32d1-4928-9cef-3a45f2e61379",
|
|
||||||
"name": "IF",
|
|
||||||
"type": "n8n-nodes-base.if",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
160,
|
|
||||||
580
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "dcbd4745-832f-43d8-8a3c-dd80e8ca2777",
|
|
||||||
"name": "Set3",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
140,
|
|
||||||
780
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"jsCode": "return [\n {\n id: 1000\n },\n {\n id: 300\n },\n {\n id: 2000\n },\n {\n id: 100\n },\n {\n id: 400\n },\n {\n id: 1300\n },\n]"
|
|
||||||
},
|
|
||||||
"id": "ec9c8f16-f3c8-4054-a6e9-4f1ebcdebb71",
|
|
||||||
"name": "Code1",
|
|
||||||
"type": "n8n-nodes-base.code",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
-520,
|
|
||||||
780
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "42e89478-a53a-4d10-b20c-1dc5d5f953d5",
|
|
||||||
"name": "Set4",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
460,
|
|
||||||
460
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "5085eb1c-0345-4b9d-856a-2955279f2c5d",
|
|
||||||
"name": "Set5",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
460,
|
|
||||||
660
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"Code": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Sort",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Set2": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set3",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Code",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Code1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Sort": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Set2",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Set": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "IF",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Set1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set2",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"IF": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set4",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Set5",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set5",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Code1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,153 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Filter test",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "f332a7d1-31b4-4e78-b31e-9e8db945bf3f",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
-60,
|
|
||||||
480
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"jsCode": "return [\n {\n \"label\": \"Apple\",\n tags: [],\n meta: {foo: 'bar'}\n },\n {\n \"label\": \"Banana\",\n tags: ['exotic'],\n meta: {}\n },\n {\n \"label\": \"Pear\",\n tags: ['other'],\n meta: {}\n },\n {\n \"label\": \"Orange\",\n meta: {}\n }\n]"
|
|
||||||
},
|
|
||||||
"id": "60697c7f-3948-4790-97ba-8aba03d02ac2",
|
|
||||||
"name": "Code",
|
|
||||||
"type": "n8n-nodes-base.code",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
160,
|
|
||||||
480
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"conditions": {
|
|
||||||
"options": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"leftValue": ""
|
|
||||||
},
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"leftValue": "={{ $json.tags }}",
|
|
||||||
"rightValue": "exotic",
|
|
||||||
"operator": {
|
|
||||||
"type": "array",
|
|
||||||
"operation": "contains",
|
|
||||||
"rightType": "any"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"leftValue": "={{ $json.meta }}",
|
|
||||||
"rightValue": "",
|
|
||||||
"operator": {
|
|
||||||
"type": "object",
|
|
||||||
"operation": "notEmpty",
|
|
||||||
"singleValue": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"leftValue": "={{ $json.label }}",
|
|
||||||
"rightValue": "Pea",
|
|
||||||
"operator": {
|
|
||||||
"type": "string",
|
|
||||||
"operation": "startsWith",
|
|
||||||
"rightType": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"combinator": "or"
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "7531191b-5ac3-45dc-8afb-27ae83d8f33a",
|
|
||||||
"name": "If",
|
|
||||||
"type": "n8n-nodes-base.if",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
380,
|
|
||||||
480
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "d8c614ea-0bbf-4b12-ad7d-c9ebe09ce583",
|
|
||||||
"name": "Then",
|
|
||||||
"type": "n8n-nodes-base.noOp",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
600,
|
|
||||||
400
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "69364770-60d2-4ef4-9f29-9570718a9a10",
|
|
||||||
"name": "Else",
|
|
||||||
"type": "n8n-nodes-base.noOp",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
600,
|
|
||||||
580
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {},
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Code",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Code": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "If",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"If": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Then",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Else",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {
|
|
||||||
"executionOrder": "v1"
|
|
||||||
},
|
|
||||||
"versionId": "a6249f48-d88f-4b80-9ed9-79555e522d48",
|
|
||||||
"id": "BWUTRs5RHxVgQ4uT",
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "78577815012af39cf16dad7a787b0898c42fb7514b8a7f99b2136862c2af502c"
|
|
||||||
},
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,78 +0,0 @@
|
||||||
{
|
|
||||||
"name": "My workflow 8",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"path": "d1cba915-ca18-4425-bcfb-133205fc815a",
|
|
||||||
"formTitle": "test",
|
|
||||||
"formFields": {
|
|
||||||
"values": [
|
|
||||||
{
|
|
||||||
"fieldLabel": "test"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "9e685367-fb94-4376-a9a4-7f311d9f7e2d",
|
|
||||||
"name": "n8n Form Trigger",
|
|
||||||
"type": "n8n-nodes-base.formTrigger",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
620,
|
|
||||||
580
|
|
||||||
],
|
|
||||||
"webhookId": "d1cba915-ca18-4425-bcfb-133205fc815a"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "0f4dfe66-51c0-4378-9eab-680f8140a572",
|
|
||||||
"name": "Switch",
|
|
||||||
"type": "n8n-nodes-base.switch",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
800,
|
|
||||||
580
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {
|
|
||||||
"n8n Form Trigger": [
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"name": "First item",
|
|
||||||
"code": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"name": "Second item",
|
|
||||||
"code": 2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"connections": {
|
|
||||||
"n8n Form Trigger": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Switch",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {
|
|
||||||
"executionOrder": "v1"
|
|
||||||
},
|
|
||||||
"versionId": "d6c14bc8-a69f-47bb-b5ba-fe6e9db0a3a4",
|
|
||||||
"id": "UQSimcMQJGbTeTLG",
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "a786b722078489c1fa382391a9f3476c2784761624deb2dfb4634827256d51a0"
|
|
||||||
},
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,223 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Multiple outputs",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "64b27674-3da6-46ce-9008-e173182efa48",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"position": [
|
|
||||||
16,
|
|
||||||
-32
|
|
||||||
],
|
|
||||||
"typeVersion": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"rules": {
|
|
||||||
"values": [
|
|
||||||
{
|
|
||||||
"conditions": {
|
|
||||||
"options": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"leftValue": "",
|
|
||||||
"typeValidation": "strict"
|
|
||||||
},
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"leftValue": "={{ $json.code }}",
|
|
||||||
"rightValue": 1,
|
|
||||||
"operator": {
|
|
||||||
"type": "number",
|
|
||||||
"operation": "equals"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"combinator": "and"
|
|
||||||
},
|
|
||||||
"renameOutput": true,
|
|
||||||
"outputKey": "Item1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"conditions": {
|
|
||||||
"options": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"leftValue": "",
|
|
||||||
"typeValidation": "strict"
|
|
||||||
},
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"id": "a659050f-0867-471d-8914-d499b6ad7b31",
|
|
||||||
"leftValue": "={{ $json.code }}",
|
|
||||||
"rightValue": 2,
|
|
||||||
"operator": {
|
|
||||||
"type": "number",
|
|
||||||
"operation": "equals"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"combinator": "and"
|
|
||||||
},
|
|
||||||
"renameOutput": true,
|
|
||||||
"outputKey": "Item2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"conditions": {
|
|
||||||
"options": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"leftValue": "",
|
|
||||||
"typeValidation": "strict"
|
|
||||||
},
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"id": "109fc001-53af-48f1-b79c-5e9afc8b94bd",
|
|
||||||
"leftValue": "={{ $json.code }}",
|
|
||||||
"rightValue": 3,
|
|
||||||
"operator": {
|
|
||||||
"type": "number",
|
|
||||||
"operation": "equals"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"combinator": "and"
|
|
||||||
},
|
|
||||||
"renameOutput": true,
|
|
||||||
"outputKey": "Item3"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.switch",
|
|
||||||
"position": [
|
|
||||||
192,
|
|
||||||
-32
|
|
||||||
],
|
|
||||||
"id": "3863cc7a-8f45-46fc-a60c-36aad5b12877",
|
|
||||||
"name": "Switch",
|
|
||||||
"typeVersion": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "f71bac89-8852-41b2-98dd-cb689f011dcb",
|
|
||||||
"name": "",
|
|
||||||
"value": "",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"position": [
|
|
||||||
480,
|
|
||||||
-192
|
|
||||||
],
|
|
||||||
"id": "85940094-4656-4cdf-a871-1b3b46421de3",
|
|
||||||
"name": "Only Item 1",
|
|
||||||
"typeVersion": 3.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"position": [
|
|
||||||
480,
|
|
||||||
-32
|
|
||||||
],
|
|
||||||
"id": "a7f4e2b5-8cc9-4881-aa06-38601988740e",
|
|
||||||
"name": "Only Item 2",
|
|
||||||
"typeVersion": 3.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"position": [
|
|
||||||
480,
|
|
||||||
128
|
|
||||||
],
|
|
||||||
"id": "7e44ad56-415a-4991-a70e-fea86c430031",
|
|
||||||
"name": "Only Item 3",
|
|
||||||
"typeVersion": 3.4
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {
|
|
||||||
"When clicking ‘Execute workflow’": [
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"name": "First item",
|
|
||||||
"onlyOnItem1": true,
|
|
||||||
"code": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"name": "Second item",
|
|
||||||
"onlyOnItem2": true,
|
|
||||||
"code": 2
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"name": "Third item",
|
|
||||||
"onlyOnItem3": true,
|
|
||||||
"code": 3
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Switch",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Switch": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Only Item 1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Only Item 2",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Only Item 3",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {
|
|
||||||
"executionOrder": "v1"
|
|
||||||
},
|
|
||||||
"versionId": "1e2a7b45-7730-42d6-989e-f3fa80de303e",
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "27cc9b56542ad45b38725555722c50a1c3fee1670bbb67980558314ee08517c4"
|
|
||||||
},
|
|
||||||
"id": "V2ld4YU11fsHgr1z",
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
{
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "3204fc455f5cbeb4e71fdbd3b1dfaf0b088088dea3e639de49e61462b80ffc1d"
|
|
||||||
},
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"application": {
|
|
||||||
"__rl": true,
|
|
||||||
"mode": "url",
|
|
||||||
"value": "",
|
|
||||||
"__regex": "https://airtable.com/([a-zA-Z0-9]{2,})"
|
|
||||||
},
|
|
||||||
"table": {
|
|
||||||
"__rl": true,
|
|
||||||
"mode": "url",
|
|
||||||
"value": "",
|
|
||||||
"__regex": "https://airtable.com/[a-zA-Z0-9]{2,}/([a-zA-Z0-9]{2,})"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "e0c0cf7e-aa98-4b72-9645-6e64e2902bd1",
|
|
||||||
"name": "Airtable",
|
|
||||||
"type": "n8n-nodes-base.airtable",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [380, 180]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {}
|
|
||||||
}
|
|
||||||
|
|
@ -1,162 +0,0 @@
|
||||||
{
|
|
||||||
"name": "My workflow 52",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"jsCode": "\nreturn [\n {\n \"field\": \"the same\"\n }\n];"
|
|
||||||
},
|
|
||||||
"id": "38c14c4a-7af1-4b04-be76-f8e474c95569",
|
|
||||||
"name": "Break pairedItem chain",
|
|
||||||
"type": "n8n-nodes-base.code",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
240,
|
|
||||||
1020
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "78c4964a-c4e8-47e5-81f3-89ba778feb8b",
|
|
||||||
"name": "Edit Fields",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
40,
|
|
||||||
1020
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "4f4c6527-d565-448a-96bd-8f5414caf8cc",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
-180,
|
|
||||||
1020
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"fields": {
|
|
||||||
"values": [
|
|
||||||
{
|
|
||||||
"stringValue": "={{ $('Edit Fields').item.json.name }}"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "44f4e5da-bfe9-4dc3-8d1f-f38e9f364754",
|
|
||||||
"name": "Error",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
460,
|
|
||||||
1020
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {
|
|
||||||
"Edit Fields": [
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "23423532",
|
|
||||||
"name": "Jay Gatsby",
|
|
||||||
"email": "gatsby@west-egg.com",
|
|
||||||
"notes": "Keeps asking about a green light??",
|
|
||||||
"country": "US",
|
|
||||||
"created": "1925-04-10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "23423533",
|
|
||||||
"name": "José Arcadio Buendía",
|
|
||||||
"email": "jab@macondo.co",
|
|
||||||
"notes": "Lots of people named after him. Very confusing",
|
|
||||||
"country": "CO",
|
|
||||||
"created": "1967-05-05"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "23423534",
|
|
||||||
"name": "Max Sendak",
|
|
||||||
"email": "info@in-and-out-of-weeks.org",
|
|
||||||
"notes": "Keeps rolling his terrible eyes",
|
|
||||||
"country": "US",
|
|
||||||
"created": "1963-04-09"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "23423535",
|
|
||||||
"name": "Zaphod Beeblebrox",
|
|
||||||
"email": "captain@heartofgold.com",
|
|
||||||
"notes": "Felt like I was talking to more than one person",
|
|
||||||
"country": null,
|
|
||||||
"created": "1979-10-12"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"id": "23423536",
|
|
||||||
"name": "Edmund Pevensie",
|
|
||||||
"email": "edmund@narnia.gov",
|
|
||||||
"notes": "Passionate sailor",
|
|
||||||
"country": "UK",
|
|
||||||
"created": "1950-10-16"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"connections": {
|
|
||||||
"Break pairedItem chain": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Error",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Edit Fields": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Break pairedItem chain",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {
|
|
||||||
"executionOrder": "v1"
|
|
||||||
},
|
|
||||||
"versionId": "ca53267f-4eb4-481d-9e09-ecb97f6b09e2",
|
|
||||||
"meta": {
|
|
||||||
"templateCredsSetupCompleted": true,
|
|
||||||
"instanceId": "27cc9b56542ad45b38725555722c50a1c3fee1670bbb67980558314ee08517c4"
|
|
||||||
},
|
|
||||||
"id": "6fr8GiRyMlZCiDQW",
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Node versions",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"id": "2acca986-10a6-451e-b20a-86e95b50e627",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [460, 460]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "1ea0a87c-3395-4bd9-84fb-cf8b0f769cc4",
|
|
||||||
"name": "Function",
|
|
||||||
"type": "n8n-nodes-base.function",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [960, 460]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "30bb9fab-bc89-4309-b42b-0fc586519c76",
|
|
||||||
"name": "Edit Fields (old)",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [800, 460]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "a266b96c-3539-4034-b24c-c86c6d0ca31e",
|
|
||||||
"name": "Edit Fields (no typeVersion)",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"position": [1120, 460]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "273f60c9-08e7-457e-b01d-31e16c565171",
|
|
||||||
"name": "Edit Fields (latest)",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [640, 460]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {},
|
|
||||||
"pinData": {}
|
|
||||||
}
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"rule": {
|
|
||||||
"interval": [{}]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.scheduleTrigger",
|
|
||||||
"typeVersion": 1.2,
|
|
||||||
"position": [0, 0],
|
|
||||||
"id": "dcc1c5e1-c6c1-45f8-80d5-65c88d66d56e",
|
|
||||||
"name": "A"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "3d8f0810-84f0-41ce-a81b-0e7f04fd88cb",
|
|
||||||
"name": "",
|
|
||||||
"value": "",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [220, 0],
|
|
||||||
"id": "097ffa30-d37b-4de6-bd5c-ccd945f31df1",
|
|
||||||
"name": "B"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [440, 0],
|
|
||||||
"id": "dc44e635-916f-4f76-a745-1add5762f730",
|
|
||||||
"name": "C"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"A": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "B",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"B": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "C",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {},
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "b0d9447cff9c96796e4ac4f00fcd899b03cfac3ab3d4f748ae686d34881eae0c"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,115 +0,0 @@
|
||||||
{
|
|
||||||
"meta": {
|
|
||||||
"templateCredsSetupCompleted": true,
|
|
||||||
"instanceId": "2be09fdcb9594c0827fd4cee80f7e590c93297d9217685f34c2250fe3144ef0c"
|
|
||||||
},
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "09e4325e-ede1-40cf-a1ba-58612bbc7f1b",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
820,
|
|
||||||
400
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"category": "randomData"
|
|
||||||
},
|
|
||||||
"id": "4920bf3a-9978-4196-9dcb-8c2892e5641b",
|
|
||||||
"name": "DebugHelper",
|
|
||||||
"type": "n8n-nodes-base.debugHelper",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1040,
|
|
||||||
400
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"conditions": {
|
|
||||||
"options": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"leftValue": "",
|
|
||||||
"typeValidation": "strict"
|
|
||||||
},
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"id": "7508343e-3e99-4d12-96e4-00a35a3d4306",
|
|
||||||
"leftValue": "={{ $json.email }}",
|
|
||||||
"rightValue": ".",
|
|
||||||
"operator": {
|
|
||||||
"type": "string",
|
|
||||||
"operation": "contains"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"combinator": "and"
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "4f6a6a4e-19b6-43f5-ba5c-e40b09d7f873",
|
|
||||||
"name": "Filter",
|
|
||||||
"type": "n8n-nodes-base.filter",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
1260,
|
|
||||||
400
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"chatId": "123123",
|
|
||||||
"text": "1123123",
|
|
||||||
"additionalFields": {}
|
|
||||||
},
|
|
||||||
"id": "1765f352-fc12-4fab-9c24-d666a150266f",
|
|
||||||
"name": "Telegram",
|
|
||||||
"type": "n8n-nodes-base.telegram",
|
|
||||||
"typeVersion": 1.1,
|
|
||||||
"position": [
|
|
||||||
1480,
|
|
||||||
400
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "DebugHelper",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"DebugHelper": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Filter",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Filter": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Telegram",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {}
|
|
||||||
}
|
|
||||||
|
|
@ -1,112 +0,0 @@
|
||||||
{
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "5bd32b91ed2a88e542012920460f736c3687a32fbb953718f6952d182231c0ff"
|
|
||||||
},
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "a482f1fd-4815-4da4-a733-7beafb43c500",
|
|
||||||
"name": "static",
|
|
||||||
"value": "={{ $('PinnedSet').first().json.firstName }}\n{{ $('PinnedSet').itemMatching(0).json.firstName }}\n{{ $('PinnedSet').itemMatching(1).json.firstName }}\n{{ $('PinnedSet').last().json.firstName }}\n{{ $('PinnedSet').all()[0].json.firstName }}\n{{ $('PinnedSet').all()[1].json.firstName }}\n\n{{ $input.first().json.firstName }}\n{{ $input.last().json.firstName }}\n\n{{ $items()[0].json.firstName }}",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "2c973f2a-7ca0-41bc-903c-7174bee251b0",
|
|
||||||
"name": "variable",
|
|
||||||
"value": "={{ $runIndex }},{{ $itemIndex }}\n{{ $node['PinnedSet'].json.firstName }}\n\n{{ $('PinnedSet').item.json.firstName }}\n\n{{ $input.item.json.firstName }}\n\n{{ $json.firstName }}\n{{ $data.firstName }}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "ac55ee16-4598-48bf-ace3-a48fed1d4ff3",
|
|
||||||
"name": "NotPinnedWithExpressions",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.3,
|
|
||||||
"position": [
|
|
||||||
1600,
|
|
||||||
640
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "3058c300-b377-41b7-9c90-a01372f9b581",
|
|
||||||
"name": "firstName",
|
|
||||||
"value": "Joe",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "bb871662-c23c-4234-ac0c-b78c279bbf34",
|
|
||||||
"name": "lastName",
|
|
||||||
"value": "Smith",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "300a3888-cc2f-4e61-8578-b0adbcf33450",
|
|
||||||
"name": "PinnedSet",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.3,
|
|
||||||
"position": [
|
|
||||||
1340,
|
|
||||||
640
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "426ff39a-3408-48b4-899f-60db732675f8",
|
|
||||||
"name": "Start",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"position": [
|
|
||||||
1100,
|
|
||||||
640
|
|
||||||
],
|
|
||||||
"typeVersion": 1
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"PinnedSet": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "NotPinnedWithExpressions",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Start": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "PinnedSet",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {
|
|
||||||
"PinnedSet": [
|
|
||||||
{
|
|
||||||
"firstName": "Joe",
|
|
||||||
"lastName": "Smith"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"firstName": "Joan",
|
|
||||||
"lastName": "Summers"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,92 +0,0 @@
|
||||||
{
|
|
||||||
"name": "My workflow 8",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"operation": "getAllPeople",
|
|
||||||
"limit": 10
|
|
||||||
},
|
|
||||||
"id": "39cd80ce-5a8f-4339-b3d5-c4af969dd330",
|
|
||||||
"name": "Customer Datastore (n8n training)",
|
|
||||||
"type": "n8n-nodes-base.n8nTrainingCustomerDatastore",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
940,
|
|
||||||
680
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"values": {
|
|
||||||
"number": [
|
|
||||||
{
|
|
||||||
"name": "objectValue.prop1",
|
|
||||||
"value": 123
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"string": [
|
|
||||||
{
|
|
||||||
"name": "objectValue.prop2",
|
|
||||||
"value": "someText"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {
|
|
||||||
"dotNotation": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "6e4490f6-ba95-4400-beec-2caefdd4895a",
|
|
||||||
"name": "Set",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1300,
|
|
||||||
680
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "58512a93-dabf-4584-817f-27c608c1bdd5",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
720,
|
|
||||||
680
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {},
|
|
||||||
"connections": {
|
|
||||||
"Customer Datastore (n8n training)": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Customer Datastore (n8n training)",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {},
|
|
||||||
"versionId": "4a4f292a-92be-427c-848a-9582527f5ed3",
|
|
||||||
"id": "8",
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "032eceae7493054b723340499be69ecbf4cbe28a7ec6df676b759000750b968d"
|
|
||||||
},
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,574 +0,0 @@
|
||||||
{
|
|
||||||
"name": "My workflow",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"operation": "getAllPeople",
|
|
||||||
"limit": 10
|
|
||||||
},
|
|
||||||
"id": "441afcbf-a678-4463-bc89-7e0b6693af5c",
|
|
||||||
"name": "Customer Datastore (n8n training)",
|
|
||||||
"type": "n8n-nodes-base.n8nTrainingCustomerDatastore",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
720,
|
|
||||||
440
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"values": {
|
|
||||||
"number": [
|
|
||||||
{
|
|
||||||
"name": "objectValue.prop1",
|
|
||||||
"value": 123
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"string": [
|
|
||||||
{
|
|
||||||
"name": "objectValue.prop2",
|
|
||||||
"value": "someText"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {
|
|
||||||
"dotNotation": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "44094a05-b3b7-49bf-bfbf-a711e6ba45d8",
|
|
||||||
"name": "Set",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1080,
|
|
||||||
440
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "3dc7cf26-ff25-4437-b9fd-0e8b127ebec9",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
500,
|
|
||||||
440
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {
|
|
||||||
"Set": [
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"key0": 0,
|
|
||||||
"key1": 1,
|
|
||||||
"key2": 2,
|
|
||||||
"key3": 3,
|
|
||||||
"key4": 4,
|
|
||||||
"key5": 5,
|
|
||||||
"key6": 6,
|
|
||||||
"key7": 7,
|
|
||||||
"key8": 8,
|
|
||||||
"key9": 9,
|
|
||||||
"key10": 10,
|
|
||||||
"key11": 11,
|
|
||||||
"key12": 12,
|
|
||||||
"key13": 13,
|
|
||||||
"key14": 14,
|
|
||||||
"key15": 15,
|
|
||||||
"key16": 16,
|
|
||||||
"key17": 17,
|
|
||||||
"key18": 18,
|
|
||||||
"key19": 19
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"connections": {
|
|
||||||
"Customer Datastore (n8n training)": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Customer Datastore (n8n training)",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {},
|
|
||||||
"versionId": "",
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "363581be2c2581d1b11e189456a090887e137f8393a4b5cb85641b1ee4fae479"
|
|
||||||
},
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,151 +0,0 @@
|
||||||
{
|
|
||||||
"name": "PinData Test",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "0a60e507-7f34-41c0-a0f9-697d852033b6",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
780,
|
|
||||||
320
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"path": "b0d79ddb-df2d-49b1-8555-9fa2b482608f",
|
|
||||||
"responseMode": "lastNode",
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "66425ce3-450d-4aa6-a53b-a701ab89c2de",
|
|
||||||
"name": "Webhook",
|
|
||||||
"type": "n8n-nodes-base.webhook",
|
|
||||||
"typeVersion": 1.1,
|
|
||||||
"position": [
|
|
||||||
780,
|
|
||||||
540
|
|
||||||
],
|
|
||||||
"webhookId": "b0d79ddb-df2d-49b1-8555-9fa2b482608f"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"fields": {
|
|
||||||
"values": [
|
|
||||||
{
|
|
||||||
"name": "nodeData",
|
|
||||||
"stringValue": "init"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"include": "none",
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "3211b3c5-49e9-4694-8f86-7a5783bc653a",
|
|
||||||
"name": "Init Data",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1000,
|
|
||||||
320
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"fields": {
|
|
||||||
"values": [
|
|
||||||
{
|
|
||||||
"name": "nodeData",
|
|
||||||
"stringValue": "pin"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "97b31120-4720-4632-9d35-356f345119f7",
|
|
||||||
"name": "Pin Data",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
1240,
|
|
||||||
320
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "1ee7be4f-7006-43bf-bb0c-29db3058a399",
|
|
||||||
"name": "End",
|
|
||||||
"type": "n8n-nodes-base.noOp",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1460,
|
|
||||||
320
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {
|
|
||||||
"Pin Data": [
|
|
||||||
{
|
|
||||||
"json": {
|
|
||||||
"nodeData": "pin-overwritten"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Init Data",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Webhook": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Init Data",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Init Data": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Pin Data",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Pin Data": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "End",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {
|
|
||||||
"executionOrder": "v1"
|
|
||||||
},
|
|
||||||
"versionId": "ded8577a-3ed2-4611-842c-a7922ec58b98",
|
|
||||||
"id": "weofVLZo0ssmPDrV",
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "021d3c82ba2d3bc090cbf4fc81c9312668bcc34297e022bb3438c5c88a43a5ff"
|
|
||||||
},
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
{
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "2d1cf27f75b18bb9e146336f791c37884f4fc7ddb97c2def27c0444d106778bf"
|
|
||||||
},
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "8108d313-8b03-4aa4-963d-cd1c0fe8f85c",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
420,
|
|
||||||
220
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"fields": {
|
|
||||||
"values": [
|
|
||||||
{
|
|
||||||
"name": "body",
|
|
||||||
"stringValue": "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <library> <book> <title>Introduction to XML</title> <author>John Doe</author> <publication_year>2020</publication_year> <isbn>1234567890</isbn> </book> <book> <title>Data Science Basics</title> <author>Jane Smith</author> <publication_year>2019</publication_year> <isbn>0987654321</isbn> </book> <book> <title>Programming in Python</title> <author>Bob Johnson</author> <publication_year>2021</publication_year> <isbn>5432109876</isbn> </book> </library>"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "45888152-7c5f-4d88-9039-660c594da084",
|
|
||||||
"name": "Edit Fields",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.2,
|
|
||||||
"position": [
|
|
||||||
640,
|
|
||||||
220
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {}
|
|
||||||
}
|
|
||||||
|
|
@ -1,76 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "6a8c3d85-26f8-4f28-ace9-55a196a23d37",
|
|
||||||
"name": "prevNode",
|
|
||||||
"value": "={{ $prevNode.name }}",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [200, -100],
|
|
||||||
"id": "351ce967-0399-4a78-848a-9cc69b831796",
|
|
||||||
"name": "Edit Fields"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"rule": {
|
|
||||||
"interval": [{}]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.scheduleTrigger",
|
|
||||||
"typeVersion": 1.2,
|
|
||||||
"position": [0, -100],
|
|
||||||
"id": "cf2f58a8-1fbb-4c70-b2b1-9e06bee7ec47",
|
|
||||||
"name": "Trigger A"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"rule": {
|
|
||||||
"interval": [{}]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "n8n-nodes-base.scheduleTrigger",
|
|
||||||
"typeVersion": 1.2,
|
|
||||||
"position": [0, 100],
|
|
||||||
"id": "4fade34e-2bfc-4a2e-a8ed-03ab2ed9c690",
|
|
||||||
"name": "Trigger B"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"Trigger A": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Trigger B": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Edit Fields",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {},
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "0dd4627b77a5a795ab9bf073e5812be94dd8d1a5f012248ef2a4acac09be12cb"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "bd816131-d8ad-4b4c-90d6-59fdab2e6307",
|
|
||||||
"name": "Set",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
720,
|
|
||||||
460
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"httpMethod": "POST",
|
|
||||||
"path": "23fc3930-b8f9-41d9-89db-b647291a2201",
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "82fe0f6c-854a-4eb9-b311-d7b43025c047",
|
|
||||||
"name": "Webhook",
|
|
||||||
"type": "n8n-nodes-base.webhook",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
460,
|
|
||||||
460
|
|
||||||
],
|
|
||||||
"webhookId": "23fc3930-b8f9-41d9-89db-b647291a2201"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"Webhook": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {
|
|
||||||
"Webhook": [
|
|
||||||
{
|
|
||||||
"headers": {
|
|
||||||
"host": "localhost:5678",
|
|
||||||
"content-length": "37",
|
|
||||||
"accept": "*/*",
|
|
||||||
"content-type": "application/json",
|
|
||||||
"accept-encoding": "gzip"
|
|
||||||
},
|
|
||||||
"params": {},
|
|
||||||
"query": {},
|
|
||||||
"body": {
|
|
||||||
"here": "be",
|
|
||||||
"dragons": true
|
|
||||||
},
|
|
||||||
"webhookUrl": "http://localhost:5678/webhook-test/23fc3930-b8f9-41d9-89db-b647291a2201",
|
|
||||||
"executionMode": "test"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,81 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Webhook wait set",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"path": "23fc3930-b8f9-41d9-89db-b647291a2201",
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "70d84fe7-e221-4978-a15e-3984f2df645f",
|
|
||||||
"name": "Webhook",
|
|
||||||
"type": "n8n-nodes-base.webhook",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
500,
|
|
||||||
580
|
|
||||||
],
|
|
||||||
"webhookId": "23fc3930-b8f9-41d9-89db-b647291a2201"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"amount": 2,
|
|
||||||
"unit": "seconds"
|
|
||||||
},
|
|
||||||
"id": "7f15f650-99bc-400b-8db8-67be53003fa3",
|
|
||||||
"name": "Wait",
|
|
||||||
"type": "n8n-nodes-base.wait",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
720,
|
|
||||||
580
|
|
||||||
],
|
|
||||||
"webhookId": "18a12605-1fbd-49da-854e-268ab6db1ea3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "5bdafae4-e297-463f-991f-b8ea14983026",
|
|
||||||
"name": "Set",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
940,
|
|
||||||
580
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pinData": {},
|
|
||||||
"connections": {
|
|
||||||
"Webhook": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Wait",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Wait": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"active": false,
|
|
||||||
"settings": {},
|
|
||||||
"versionId": "0c67e557-1faf-446e-881e-3245228c627e",
|
|
||||||
"id": "1038",
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "8a47b83b4479b11330fdf21ccc96d4a8117035a968612e452b4c87bfd09c16c7"
|
|
||||||
},
|
|
||||||
"tags": []
|
|
||||||
}
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"sessionId": "f9130bd7-c078-4862-a38a-369b27b0ff20-e96eb9f7-d581-4684-b6a9-fd3dfe9fe1fb-emTezIGat7bQsDdtIlbti",
|
|
||||||
"parameters": {
|
|
||||||
"jsCode": "// Loop over input items and add a new field called 'myNewField' to the JSON of each one\nfor (const item of $input.all()) {\n item.json.myNewField = 1;\n}\n\nreturn $input.all();"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
{
|
|
||||||
"sessionId": "1",
|
|
||||||
"messages": [
|
|
||||||
{
|
|
||||||
"role": "assistant",
|
|
||||||
"type": "message",
|
|
||||||
"text": "Hi there! Here is my top solution to fix the error in your **Code** node 👇"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "code-diff",
|
|
||||||
"description": "Fix the syntax error by changing '1asd' to a valid value. In this case, it seems like '1' was intended.",
|
|
||||||
"suggestionId": "1",
|
|
||||||
"codeDiff": "@@ -2,2 +2,2 @@\n item.json.myNewField = 1asd;\n+ item.json.myNewField = 1;\n",
|
|
||||||
"role": "assistant",
|
|
||||||
"quickReplies": [
|
|
||||||
{
|
|
||||||
"text": "Give me another solution",
|
|
||||||
"type": "new-suggestion"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
{
|
|
||||||
"sessionId": "f1d19ed5-0d55-4bad-b49a-f0c56bd6f76f-705b5dbf-12d4-4805-87a3-1e5b3c716d29-W1JgVNrpfitpSNF9rAjB4",
|
|
||||||
"messages": [
|
|
||||||
{
|
|
||||||
"role": "assistant",
|
|
||||||
"type": "message",
|
|
||||||
"text": "To use expressions in n8n, follow these steps:\n\n1. Hover over the parameter where you want to use an expression.\n2. Select **Expressions** in the **Fixed/Expression** toggle.\n3. Write your expression in the parameter, or select **Open expression editor** to open the expressions editor. You can browse the available data in the **Variable selector**. All expressions have the format `{{ your expression here }}`.\n\n### Example: Get data from webhook body\n\nIf your webhook data looks like this:\n\n```json\n[\n {\n \"headers\": {\n \"host\": \"n8n.instance.address\",\n ...\n },\n \"params\": {},\n \"query\": {},\n \"body\": {\n \"name\": \"Jim\",\n \"age\": 30,\n \"city\": \"New York\"\n }\n }\n]\n```\n\nYou can use the following expression to get the value of `city`:\n\n```js\n{{$json.body.city}}\n```\n\nThis expression accesses the incoming JSON-formatted data using n8n's custom `$json` variable and finds the value of `city` (in this example, \"New York\").",
|
|
||||||
"codeSnippet": "{{$json.body.city}}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"role": "assistant",
|
|
||||||
"type": "message",
|
|
||||||
"text": "Did this answer solve your question?",
|
|
||||||
"quickReplies": [
|
|
||||||
{
|
|
||||||
"text": "Yes, thanks",
|
|
||||||
"type": "all-good",
|
|
||||||
"isFeedback": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "No, I am still stuck",
|
|
||||||
"type": "still-stuck",
|
|
||||||
"isFeedback": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
{
|
|
||||||
"sessionId": "1",
|
|
||||||
"messages": [
|
|
||||||
{
|
|
||||||
"role": "assistant",
|
|
||||||
"type": "message",
|
|
||||||
"title": "Glad to Help",
|
|
||||||
"text": "I'm glad I could help. If you have any more questions or need further assistance with your n8n workflows, feel free to ask!"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"role": "assistant",
|
|
||||||
"type": "event",
|
|
||||||
"eventName": "end-session"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
{
|
|
||||||
"sessionId": "1",
|
|
||||||
"messages": [
|
|
||||||
{
|
|
||||||
"role": "assistant",
|
|
||||||
"type": "message",
|
|
||||||
"text": "It seems like my suggestion did not work. Do you want me to come up with a different suggestion? You can also provide more context via the chat.",
|
|
||||||
"quickReplies": [
|
|
||||||
{
|
|
||||||
"text": "Yes",
|
|
||||||
"type": "new-suggestion"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "No, I don't think you can help",
|
|
||||||
"type": "event:end-session"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
{
|
|
||||||
"sessionId": "1",
|
|
||||||
"messages": [
|
|
||||||
{
|
|
||||||
"role": "assistant",
|
|
||||||
"type": "message",
|
|
||||||
"text": "**Code** node ran successfully, did my solution help resolve your issue?",
|
|
||||||
"quickReplies": [
|
|
||||||
{
|
|
||||||
"text": "Yes, thanks",
|
|
||||||
"type": "all-good",
|
|
||||||
"isFeedback": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "No, I am still stuck",
|
|
||||||
"type": "still-stuck",
|
|
||||||
"isFeedback": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
{
|
|
||||||
"sessionId": "1",
|
|
||||||
"messages": [
|
|
||||||
{
|
|
||||||
"role": "assistant",
|
|
||||||
"type": "message",
|
|
||||||
"text": "Hey, this is an assistant message",
|
|
||||||
"quickReplies": [
|
|
||||||
{
|
|
||||||
"text": "Sure, let's do it",
|
|
||||||
"type": "yes"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Nah, doesn't sound good",
|
|
||||||
"type": "no"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
"sessionId": "1",
|
|
||||||
"messages": [
|
|
||||||
{
|
|
||||||
"role": "assistant",
|
|
||||||
"type": "message",
|
|
||||||
"text": "Hey, this is an assistant message"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "298d3dc9-5e99-4b3f-919e-05fdcdfbe2d0",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [360, 220]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "65c32346-e939-4ec7-88a9-1f9184e2258d",
|
|
||||||
"name": "HTTP Request",
|
|
||||||
"type": "n8n-nodes-base.httpRequest",
|
|
||||||
"typeVersion": 4.2,
|
|
||||||
"position": [580, 220]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "HTTP Request",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,88 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "ebfced75-2ce1-4c41-a971-6c3b83522c4d",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
360,
|
|
||||||
220
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"errorMessage": "This is an error message"
|
|
||||||
},
|
|
||||||
"id": "f2e60459-401a-49d5-acfc-7b2b31cfdcf7",
|
|
||||||
"name": "Stop and Error",
|
|
||||||
"type": "n8n-nodes-base.stopAndError",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1020,
|
|
||||||
220
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"jsCode": "// Loop over input items and add a new field called 'myNewField' to the JSON of each one\nfor (const item of $input.all()) {\n item.json.myNewField = 1aaa;\n}\n\nreturn $input.all();"
|
|
||||||
},
|
|
||||||
"id": "b54d4db9-b257-41a8-862f-26d293115bad",
|
|
||||||
"name": "Code",
|
|
||||||
"type": "n8n-nodes-base.code",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
840,
|
|
||||||
320
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"assignments": {
|
|
||||||
"assignments": [
|
|
||||||
{
|
|
||||||
"id": "053ada73-f7db-4e6a-8cc8-85756cc6ca4e",
|
|
||||||
"name": "age",
|
|
||||||
"value": "={{ 32sad }}",
|
|
||||||
"type": "number"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "5fd89612-a871-4679-b7b0-d659e09c6a0e",
|
|
||||||
"name": "Edit Fields",
|
|
||||||
"type": "n8n-nodes-base.set",
|
|
||||||
"typeVersion": 3.4,
|
|
||||||
"position": [
|
|
||||||
600,
|
|
||||||
100
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Stop and Error",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Code",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "Edit Fields",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pinData": {}
|
|
||||||
}
|
|
||||||
|
|
@ -1,156 +0,0 @@
|
||||||
{
|
|
||||||
"meta": {
|
|
||||||
"instanceId": "abc"
|
|
||||||
},
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "bcb6abdf-d34b-4ea7-a8ed-58155b708c43",
|
|
||||||
"name": "When clicking ‘Execute workflow’",
|
|
||||||
"type": "n8n-nodes-base.manualTrigger",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
20,
|
|
||||||
260
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"jsCode": "// Loop over input items and add a new field\n// called 'myNewField' to the JSON of each one\nfor (const item of $input.all()) {\nitem.json.message_count = Math.min(item.json.messages.length, 3);\n}\n\nreturn $input.all();"
|
|
||||||
},
|
|
||||||
"id": "59c3889c-3671-4f49-b258-6131df8587d8",
|
|
||||||
"name": "Set thread properties1",
|
|
||||||
"type": "n8n-nodes-base.code",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
500,
|
|
||||||
520
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"resource": "thread",
|
|
||||||
"operation": "get",
|
|
||||||
"threadId": "={{ $json.id }}",
|
|
||||||
"options": {}
|
|
||||||
},
|
|
||||||
"id": "e102b72e-1e47-4004-a6b9-38cef75f44a1",
|
|
||||||
"name": "Get thread details1",
|
|
||||||
"type": "n8n-nodes-base.gmail",
|
|
||||||
"typeVersion": 2,
|
|
||||||
"position": [
|
|
||||||
300,
|
|
||||||
520
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"mode": "expression",
|
|
||||||
"output": "={{ $('Set thread properties1').item.json.message_count }}"
|
|
||||||
},
|
|
||||||
"id": "f3e42f07-df82-42ba-8e99-97cda707a9d9",
|
|
||||||
"name": "Switch1",
|
|
||||||
"type": "n8n-nodes-base.switch",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
1220,
|
|
||||||
540
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {
|
|
||||||
"conditions": {
|
|
||||||
"boolean": [
|
|
||||||
{
|
|
||||||
"value1": true,
|
|
||||||
"value2": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "c7fe521e-8c02-44bf-8a14-482b39749508",
|
|
||||||
"name": "IF",
|
|
||||||
"type": "n8n-nodes-base.if",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
720,
|
|
||||||
520
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"parameters": {},
|
|
||||||
"id": "3b9f6a05-7f19-46c5-95d1-5dec732f00ae",
|
|
||||||
"name": "No Operation, do nothing",
|
|
||||||
"type": "n8n-nodes-base.noOp",
|
|
||||||
"typeVersion": 1,
|
|
||||||
"position": [
|
|
||||||
960,
|
|
||||||
400
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"connections": {
|
|
||||||
"When clicking ‘Execute workflow’": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Get thread details1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Set thread properties1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "IF",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Get thread details1": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Set thread properties1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"IF": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "No Operation, do nothing",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Switch1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"No Operation, do nothing": {
|
|
||||||
"main": [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"node": "Switch1",
|
|
||||||
"type": "main",
|
|
||||||
"index": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue