n8n-editor-ui
Version:
Workflow Editor UI for n8n
5,445 lines • 124 kB
JavaScript
import { o as __toESM, t as __commonJSMin } from "./chunk-6z4oVpB-.js";
import { C as computed, G as nextTick, It as ref } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
import { _t as useI18n } from "./_MapCache-ficiegRb.js";
import { c as require__arrayMap, r as require_get, s as require_toString, v as useRoute, y as useRouter } from "./truncate-B1HVeveJ.js";
import { $t as transformNodeType, Bt as getAiTemplatesCallout, Dr as useUsersStore, Ec as STORES, Ft as useEvaluationStore, Gr as isVueFlowConnection, Gt as isAINode, Ht as getPreBuiltAgentsCalloutWithDivider, Lt as finalizeItems, M as useNDVStore, N as useWorkflowsStore, Nt as useNodeTypesStore, O as useTelemetry, Qt as subcategorizeItems, Rt as flattenCreateElements, Ur as isValidNodeConnectionType, Vr as isValidCanvasConnectionMode, Wt as groupItemsInSections, Xn as useProjectsStore, Yt as searchNodes, Zt as sortNodeCreateElements, an as getTutorialTemplates, b as useExternalHooks, bs as updateCurrentUserSettings, c as useTemplatesStore, en as SampleTemplates, fn as require_upperFirst, fs as v4_default, gr as useCanvasStore, gs as useSettingsStore, in as getSampleWorkflowByTemplateId, j as usePostHog, mn as require__createCompounder, nn as getPrebuiltAgents, oa as useUIStore, on as isPrebuiltAgentTemplateId, qr as CanvasConnectionMode, qt as prepareCommunityNodeDetailsViewStack, rn as getRagStarterWorkflowJson, sn as isTutorialTemplateId, wi as getThemedValue } from "./builder.store-sBTWwxRU.js";
import { $ as AI_CATEGORY_MCP_NODES, Ai as require__arrayIncludes, At as TRIGGER_NODE_CREATOR_VIEW, Ct as OTHER_TRIGGER_NODES_SUBCATEGORY, En as MARKDOWN_NODE_TYPE, Et as REGULAR_NODE_CREATOR_VIEW, F as CUSTOM_API_CALL_KEY, Ft as AI_TRANSFORM_NODE_TYPE$1, Ht as COMPRESSION_NODE_TYPE, J as AI_CATEGORY_AGENTS, Jn as REMOVE_DUPLICATES_NODE_TYPE, K as NODE_MIN_INPUT_ITEMS_COUNT, Mt as AGGREGATE_NODE_TYPE, Nt as AI_CODE_NODE_TYPE, On as MERGE_NODE_TYPE, Ot as TEMPLATE_CATEGORY_AI, Q as AI_CATEGORY_LANGUAGE_MODELS, Qt as EDIT_IMAGE_NODE_TYPE, Ro as VIEWS, Sn as LIMIT_NODE_TYPE, St as NODE_CREATOR_OPEN_SOURCES, Ta as isCommunityPackageName, Tn as MANUAL_TRIGGER_NODE_TYPE, Ua as NodeConnectionTypes, Ut as CONVERT_TO_FILE_NODE_TYPE, Vt as CODE_NODE_TYPE, X as AI_CATEGORY_DOCUMENT_LOADERS, Xt as DATETIME_NODE_TYPE, Y as AI_CATEGORY_CHAINS, Ya as AI_TRANSFORM_NODE_TYPE, Yn as RSS_READ_NODE_TYPE, Yt as DATA_TABLE_NODE_TYPE, Z as AI_CATEGORY_EMBEDDING, Zi as getNodeInputs, Zn as SCHEDULE_TRIGGER_NODE_TYPE, _t as DEFAULT_SUBCATEGORY, ar as SPLIT_OUT_NODE_TYPE, at as AI_CATEGORY_TEXT_SPLITTERS, bo as require__SetCache, bt as HITL_SUBCATEGORY, cn as FILTER_NODE_TYPE, cr as SUMMARIZE_NODE_TYPE, ct as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, dt as AI_OTHERS_NODE_CREATOR_VIEW, en as EMAIL_IMAP_NODE_TYPE, eo as EVALUATION_TRIGGER_NODE_TYPE, er as SET_NODE_TYPE, et as AI_CATEGORY_MEMORY, ft as AI_SUBCATEGORY, gn as IF_NODE_TYPE, gt as CORE_NODES_CATEGORY, hr as WEBHOOK_NODE_TYPE, ir as SPLIT_IN_BATCHES_NODE_TYPE, it as AI_CATEGORY_ROOT_NODES, ki as require__arrayIncludesWith, kt as TRANSFORM_DATA_SUBCATEGORY, mn as HTTP_REQUEST_NODE_TYPE, mt as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, nt as AI_CATEGORY_OUTPUTPARSER, oi as require__baseFlatten, on as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, ot as AI_CATEGORY_TOOLS, pc as PRE_BUILT_AGENTS_EXPERIMENT, pn as HTML_NODE_TYPE, pt as AI_UNCATEGORIZED_CATEGORY, qt as CRYPTO_NODE_TYPE, rt as AI_CATEGORY_RETRIEVERS, sn as EXTRACT_FROM_FILE_NODE_TYPE, ss as PRE_BUILT_AGENTS_MODAL_KEY, st as AI_CATEGORY_VECTOR_STORES, tn as EMAIL_SEND_NODE_TYPE, un as FORM_TRIGGER_NODE_TYPE, ut as AI_NODE_CREATOR_VIEW, vt as FLOWS_CONTROL_SUBCATEGORY, xr as XML_NODE_TYPE, xt as HUMAN_IN_THE_LOOP_CATEGORY, yo as require__cacheHas, yt as HELPERS_SUBCATEGORY, zt as CHAT_TRIGGER_NODE_TYPE } from "./constants-BbpucWL4.js";
import { T as require__baseUnary, r as require__baseRest, u as require_isArrayLikeObject } from "./merge-k8vSyyXH.js";
import { k as defineStore, r as useRootStore } from "./_baseOrderBy-B_6CV8x6.js";
import { t as getNodeIconSource } from "./nodeIcon-DI2Acud1.js";
var require__baseDifference = /* @__PURE__ */ __commonJSMin(((exports, module) => {
var SetCache = require__SetCache(), arrayIncludes = require__arrayIncludes(), arrayIncludesWith = require__arrayIncludesWith(), arrayMap = require__arrayMap(), baseUnary = require__baseUnary(), cacheHas = require__cacheHas();
var LARGE_ARRAY_SIZE = 200;
function baseDifference$1(array, values, iteratee, comparator) {
var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
if (!length) return result;
if (iteratee) values = arrayMap(values, baseUnary(iteratee));
if (comparator) {
includes = arrayIncludesWith;
isCommon = false;
} else if (values.length >= LARGE_ARRAY_SIZE) {
includes = cacheHas;
isCommon = false;
values = new SetCache(values);
}
outer: while (++index < length) {
var value = array[index], computed$1 = iteratee == null ? value : iteratee(value);
value = comparator || value !== 0 ? value : 0;
if (isCommon && computed$1 === computed$1) {
var valuesIndex = valuesLength;
while (valuesIndex--) if (values[valuesIndex] === computed$1) continue outer;
result.push(value);
} else if (!includes(values, computed$1, comparator)) result.push(value);
}
return result;
}
module.exports = baseDifference$1;
}));
var require_difference = /* @__PURE__ */ __commonJSMin(((exports, module) => {
var baseDifference = require__baseDifference(), baseFlatten = require__baseFlatten(), baseRest = require__baseRest(), isArrayLikeObject = require_isArrayLikeObject();
module.exports = baseRest(function(array, values) {
return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
});
}));
var require_capitalize = /* @__PURE__ */ __commonJSMin(((exports, module) => {
var toString = require_toString(), upperFirst = require_upperFirst();
function capitalize$1(string) {
return upperFirst(toString(string).toLowerCase());
}
module.exports = capitalize$1;
}));
var require_camelCase = /* @__PURE__ */ __commonJSMin(((exports, module) => {
var capitalize = require_capitalize();
module.exports = require__createCompounder()(function(result, word, index) {
word = word.toLowerCase();
return result + (index ? capitalize(word) : word);
});
}));
function useCalloutHelpers() {
const route = useRoute();
const router = useRouter();
const telemetry = useTelemetry();
const postHog = usePostHog();
const i18n = useI18n();
const rootStore = useRootStore();
const workflowsStore = useWorkflowsStore();
const usersStore = useUsersStore();
const ndvStore = useNDVStore();
const nodeCreatorStore = useNodeCreatorStore();
const viewStacks = useViewStacks();
const nodeTypesStore = useNodeTypesStore();
const uiStore = useUIStore();
const projectsStore = useProjectsStore();
const isRagStarterCalloutVisible = computed(() => {
const template = getRagStarterWorkflowJson();
const routeTemplateId = route.query.templateId;
const workflowObject = workflowsStore.workflowObject;
const workflow = workflowsStore.getWorkflowById(workflowObject.id);
if ((routeTemplateId ?? workflow?.meta?.templateId) === template.meta.templateId) return false;
return true;
});
const getPreBuiltAgentNodeCreatorItems = () => {
return getPrebuiltAgents().map((template) => {
return {
key: template.template.meta.templateId,
type: "openTemplate",
properties: {
templateId: template.template.meta.templateId,
title: template.name,
description: template.description,
nodes: template.nodes.flatMap((node) => {
const nodeType = nodeTypesStore.getNodeType(node.name, node.version);
if (!nodeType) return [];
return nodeType;
})
}
};
});
};
const getTutorialTemplatesNodeCreatorItems = () => {
return getTutorialTemplates().map((template) => {
return {
key: template.template.meta.templateId,
type: "openTemplate",
properties: {
templateId: template.template.meta.templateId,
title: template.name,
description: template.description,
nodes: template.nodes.flatMap((node) => {
const nodeType = nodeTypesStore.getNodeType(node.name, node.version);
if (!nodeType) return [];
return nodeType;
})
}
};
});
};
const openPreBuiltAgentsModal = async (source) => {
telemetry.track("User opened pre-built Agents collection", {
source,
node_type: null,
section: null
});
await nodeTypesStore.loadNodeTypesIfNotLoaded();
uiStore.openModal(PRE_BUILT_AGENTS_MODAL_KEY);
};
const openPreBuiltAgentsCollection = async (options) => {
telemetry.track("User opened pre-built Agents collection", {
source: options.telemetry.source,
node_type: options.telemetry.nodeType ?? null,
section: options.telemetry.section ?? null
});
await nodeTypesStore.loadNodeTypesIfNotLoaded();
const items = getPreBuiltAgentNodeCreatorItems();
ndvStore.unsetActiveNodeName();
nodeCreatorStore.setNodeCreatorState({
source: NODE_CREATOR_OPEN_SOURCES.TEMPLATES_CALLOUT,
createNodeActive: true,
nodeCreatorView: void 0,
connectionType: void 0
});
await nextTick();
viewStacks.pushViewStack({
title: i18n.baseText("nodeCreator.preBuiltAgents.title"),
rootView: REGULAR_NODE_CREATOR_VIEW,
activeIndex: 0,
transitionDirection: "in",
hasSearch: false,
preventBack: false,
items,
baselineItems: items,
mode: "nodes",
hideActions: false
}, { resetStacks: options.resetStacks ?? false });
};
const openSampleWorkflowTemplate = (templateId, options) => {
if (templateId === SampleTemplates.RagStarterTemplate) telemetry.track("User clicked on RAG callout", { node_type: options.telemetry.nodeType ?? null });
else if (isPrebuiltAgentTemplateId(templateId)) telemetry.track("User inserted pre-built Agent", {
template: templateId,
source: options.telemetry.source,
node_type: options.telemetry.nodeType ?? null,
section: options.telemetry.section ?? null
});
else if (isTutorialTemplateId(templateId)) telemetry.track("User inserted tutorial template", {
template: templateId,
source: options.telemetry.source,
node_type: options.telemetry.nodeType ?? null,
section: options.telemetry.section ?? null
});
const template = getSampleWorkflowByTemplateId(templateId);
if (!template) return;
const { href } = router.resolve({
name: VIEWS.TEMPLATE_IMPORT,
params: { id: template.meta.templateId },
query: {
fromJson: "true",
parentFolderId: route.params.folderId,
projectId: projectsStore.currentProjectId
}
});
window.open(href, "_blank");
};
const isPreBuiltAgentsExperimentEnabled = computed(() => {
return postHog.isVariantEnabled(PRE_BUILT_AGENTS_EXPERIMENT.name, PRE_BUILT_AGENTS_EXPERIMENT.variant);
});
const isPreBuiltAgentsCalloutVisible = computed(() => {
return isPreBuiltAgentsExperimentEnabled.value;
});
const isCalloutDismissed = (callout) => {
return usersStore.isCalloutDismissed(callout);
};
const dismissCallout = async (callout) => {
usersStore.setCalloutDismissed(callout);
await updateCurrentUserSettings(rootStore.restApiContext, { dismissedCallouts: {
...usersStore.currentUser?.settings?.dismissedCallouts,
[callout]: true
} });
};
return {
openSampleWorkflowTemplate,
openPreBuiltAgentsModal,
openPreBuiltAgentsCollection,
getPreBuiltAgentNodeCreatorItems,
getTutorialTemplatesNodeCreatorItems,
isRagStarterCalloutVisible,
isPreBuiltAgentsCalloutVisible,
isCalloutDismissed,
dismissCallout
};
}
var import_camelCase = /* @__PURE__ */ __toESM(require_camelCase());
function getNodeView(node) {
return {
key: node.name,
type: "node",
properties: {
group: [],
name: node.name,
displayName: node.displayName,
title: node.displayName,
description: node.description,
icon: node.icon,
iconUrl: node.iconUrl
}
};
}
function getAiNodesBySubcategory(nodes, subcategory) {
return nodes.filter((node) => !node.hidden && node.codex?.subcategories?.["AI"]?.includes(subcategory)).map(getNodeView).sort((a, b) => a.properties.displayName.localeCompare(b.properties.displayName));
}
function getEvaluationNode(nodeTypesStore, isEvaluationVariantEnabled) {
const evaluationNodeStore = nodeTypesStore.getNodeType("n8n-nodes-base.evaluation");
if (!isEvaluationVariantEnabled || !evaluationNodeStore) return [];
const evaluationNode = getNodeView(evaluationNodeStore);
return [{
...evaluationNode,
properties: {
...evaluationNode.properties,
defaults: {
name: "Evaluation",
color: "#c3c9d5"
}
}
}];
}
function AIView(_nodes) {
const i18n = useI18n();
const nodeTypesStore = useNodeTypesStore();
const templatesStore = useTemplatesStore();
const evaluationStore = useEvaluationStore();
const calloutHelpers = useCalloutHelpers();
const isEvaluationEnabled = evaluationStore.isEvaluationEnabled;
const evaluationNode = getEvaluationNode(nodeTypesStore, isEvaluationEnabled);
const chainNodes = getAiNodesBySubcategory(nodeTypesStore.allLatestNodeTypes, AI_CATEGORY_CHAINS);
const agentNodes = getAiNodesBySubcategory(nodeTypesStore.allLatestNodeTypes, AI_CATEGORY_AGENTS);
const websiteCategoryURLParams = templatesStore.websiteTemplateRepositoryParameters;
websiteCategoryURLParams.append("utm_user_role", "AdvancedAI");
const aiTemplatesURL = templatesStore.constructTemplateRepositoryURL(websiteCategoryURLParams, TEMPLATE_CATEGORY_AI);
const askAiEnabled = useSettingsStore().isAskAiEnabled;
const aiTransformNode = nodeTypesStore.getNodeType(AI_TRANSFORM_NODE_TYPE$1);
const transformNode = askAiEnabled && aiTransformNode ? [getNodeView(aiTransformNode)] : [];
const callouts = !calloutHelpers.isPreBuiltAgentsCalloutVisible.value ? [getAiTemplatesCallout(aiTemplatesURL)] : [getPreBuiltAgentsCalloutWithDivider()];
return {
value: "AI",
title: i18n.baseText("nodeCreator.aiPanel.aiNodes"),
subtitle: i18n.baseText("nodeCreator.aiPanel.selectAiNode"),
items: [
...callouts,
...agentNodes,
...chainNodes,
...transformNode,
...evaluationNode,
{
key: AI_OTHERS_NODE_CREATOR_VIEW,
type: "view",
properties: {
title: i18n.baseText("nodeCreator.aiPanel.aiOtherNodes"),
icon: "robot",
description: i18n.baseText("nodeCreator.aiPanel.aiOtherNodesDescription")
}
}
]
};
}
function AINodesView(_nodes) {
const i18n = useI18n();
function getAISubcategoryProperties(nodeConnectionType) {
return {
connectionType: nodeConnectionType,
iconProps: { color: `var(--node-type-${nodeConnectionType}-color)` },
panelClass: `nodes-list-panel-${nodeConnectionType}`
};
}
function getSubcategoryInfo(subcategory) {
const localeKey = `nodeCreator.subcategoryInfos.${(0, import_camelCase.default)(subcategory)}`;
const info = i18n.baseText(localeKey);
if (info === localeKey) return void 0;
return info;
}
return {
value: AI_OTHERS_NODE_CREATOR_VIEW,
title: i18n.baseText("nodeCreator.aiPanel.aiOtherNodes"),
subtitle: i18n.baseText("nodeCreator.aiPanel.selectAiNode"),
items: [
{
key: AI_CATEGORY_DOCUMENT_LOADERS,
type: "subcategory",
properties: {
title: AI_CATEGORY_DOCUMENT_LOADERS,
info: getSubcategoryInfo(AI_CATEGORY_DOCUMENT_LOADERS),
icon: "file-input",
...getAISubcategoryProperties(NodeConnectionTypes.AiDocument)
}
},
{
key: AI_CATEGORY_LANGUAGE_MODELS,
type: "subcategory",
properties: {
title: AI_CATEGORY_LANGUAGE_MODELS,
info: getSubcategoryInfo(AI_CATEGORY_LANGUAGE_MODELS),
icon: "language",
...getAISubcategoryProperties(NodeConnectionTypes.AiLanguageModel)
}
},
{
key: AI_CATEGORY_MEMORY,
type: "subcategory",
properties: {
title: AI_CATEGORY_MEMORY,
info: getSubcategoryInfo(AI_CATEGORY_MEMORY),
icon: "brain",
...getAISubcategoryProperties(NodeConnectionTypes.AiMemory)
}
},
{
key: AI_CATEGORY_OUTPUTPARSER,
type: "subcategory",
properties: {
title: AI_CATEGORY_OUTPUTPARSER,
info: getSubcategoryInfo(AI_CATEGORY_OUTPUTPARSER),
icon: "list",
...getAISubcategoryProperties(NodeConnectionTypes.AiOutputParser)
}
},
{
key: AI_CATEGORY_RETRIEVERS,
type: "subcategory",
properties: {
title: AI_CATEGORY_RETRIEVERS,
info: getSubcategoryInfo(AI_CATEGORY_RETRIEVERS),
icon: "search",
...getAISubcategoryProperties(NodeConnectionTypes.AiRetriever)
}
},
{
key: AI_CATEGORY_TEXT_SPLITTERS,
type: "subcategory",
properties: {
title: AI_CATEGORY_TEXT_SPLITTERS,
info: getSubcategoryInfo(AI_CATEGORY_TEXT_SPLITTERS),
icon: "grip-lines-vertical",
...getAISubcategoryProperties(NodeConnectionTypes.AiTextSplitter)
}
},
{
type: "subcategory",
key: AI_CATEGORY_TOOLS,
category: CORE_NODES_CATEGORY,
properties: {
title: AI_CATEGORY_TOOLS,
info: getSubcategoryInfo(AI_CATEGORY_TOOLS),
icon: "tools",
...getAISubcategoryProperties(NodeConnectionTypes.AiTool),
sections: [{
key: "popular",
title: i18n.baseText("nodeCreator.sectionNames.popular"),
items: [AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, AI_CODE_TOOL_LANGCHAIN_NODE_TYPE]
}]
}
},
{
key: AI_CATEGORY_EMBEDDING,
type: "subcategory",
properties: {
title: AI_CATEGORY_EMBEDDING,
info: getSubcategoryInfo(AI_CATEGORY_EMBEDDING),
icon: "vector-square",
...getAISubcategoryProperties(NodeConnectionTypes.AiEmbedding)
}
},
{
key: AI_CATEGORY_VECTOR_STORES,
type: "subcategory",
properties: {
title: AI_CATEGORY_VECTOR_STORES,
info: getSubcategoryInfo(AI_CATEGORY_VECTOR_STORES),
icon: "waypoints",
...getAISubcategoryProperties(NodeConnectionTypes.AiVectorStore)
}
},
{
key: AI_UNCATEGORIZED_CATEGORY,
type: "subcategory",
properties: {
title: AI_UNCATEGORIZED_CATEGORY,
icon: "code"
}
}
]
};
}
function TriggerView() {
const i18n = useI18n();
const evaluationTriggerNode = useEvaluationStore().isEvaluationEnabled ? {
key: EVALUATION_TRIGGER_NODE_TYPE,
type: "node",
category: [CORE_NODES_CATEGORY],
properties: {
group: [],
name: EVALUATION_TRIGGER_NODE_TYPE,
displayName: "When running evaluation",
description: "Run a dataset through your workflow to test performance",
icon: "fa:check-double",
defaults: {
name: "Evaluation",
color: "#c3c9d5"
}
}
} : null;
return {
value: TRIGGER_NODE_CREATOR_VIEW,
title: i18n.baseText("nodeCreator.triggerHelperPanel.selectATrigger"),
subtitle: i18n.baseText("nodeCreator.triggerHelperPanel.selectATriggerDescription"),
items: [
{
key: MANUAL_TRIGGER_NODE_TYPE,
type: "node",
category: [CORE_NODES_CATEGORY],
properties: {
group: [],
name: MANUAL_TRIGGER_NODE_TYPE,
displayName: i18n.baseText("nodeCreator.triggerHelperPanel.manualTriggerDisplayName"),
description: i18n.baseText("nodeCreator.triggerHelperPanel.manualTriggerDescription"),
icon: "fa:mouse-pointer"
}
},
{
key: "*",
type: "subcategory",
properties: {
forceIncludeNodes: [WEBHOOK_NODE_TYPE, EMAIL_IMAP_NODE_TYPE],
title: "App Trigger Nodes",
icon: "satellite-dish"
}
},
{
key: SCHEDULE_TRIGGER_NODE_TYPE,
type: "node",
category: [CORE_NODES_CATEGORY],
properties: {
group: [],
name: SCHEDULE_TRIGGER_NODE_TYPE,
displayName: i18n.baseText("nodeCreator.triggerHelperPanel.scheduleTriggerDisplayName"),
description: i18n.baseText("nodeCreator.triggerHelperPanel.scheduleTriggerDescription"),
icon: "fa:clock"
}
},
{
key: WEBHOOK_NODE_TYPE,
type: "node",
category: [CORE_NODES_CATEGORY],
properties: {
group: [],
name: WEBHOOK_NODE_TYPE,
displayName: i18n.baseText("nodeCreator.triggerHelperPanel.webhookTriggerDisplayName"),
description: i18n.baseText("nodeCreator.triggerHelperPanel.webhookTriggerDescription"),
iconData: {
type: "icon",
icon: "webhook"
}
}
},
{
key: FORM_TRIGGER_NODE_TYPE,
type: "node",
category: [CORE_NODES_CATEGORY],
properties: {
group: [],
name: FORM_TRIGGER_NODE_TYPE,
displayName: i18n.baseText("nodeCreator.triggerHelperPanel.formTriggerDisplayName"),
description: i18n.baseText("nodeCreator.triggerHelperPanel.formTriggerDescription"),
iconData: {
type: "icon",
icon: "form"
}
}
},
{
key: EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE,
type: "node",
category: [CORE_NODES_CATEGORY],
properties: {
group: [],
name: EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE,
displayName: i18n.baseText("nodeCreator.triggerHelperPanel.workflowTriggerDisplayName"),
description: i18n.baseText("nodeCreator.triggerHelperPanel.workflowTriggerDescription"),
icon: "fa:sign-out-alt"
}
},
{
key: CHAT_TRIGGER_NODE_TYPE,
type: "node",
category: [CORE_NODES_CATEGORY],
properties: {
group: [],
name: CHAT_TRIGGER_NODE_TYPE,
displayName: i18n.baseText("nodeCreator.triggerHelperPanel.chatTriggerDisplayName"),
description: i18n.baseText("nodeCreator.triggerHelperPanel.chatTriggerDescription"),
icon: "fa:comments"
}
},
...evaluationTriggerNode ? [evaluationTriggerNode] : [],
{
type: "subcategory",
key: OTHER_TRIGGER_NODES_SUBCATEGORY,
category: CORE_NODES_CATEGORY,
properties: {
title: OTHER_TRIGGER_NODES_SUBCATEGORY,
icon: "folder-open"
}
}
]
};
}
function RegularView(nodes) {
const i18n = useI18n();
const popularItemsSubcategory = [
SET_NODE_TYPE,
CODE_NODE_TYPE,
DATA_TABLE_NODE_TYPE,
DATETIME_NODE_TYPE,
AI_TRANSFORM_NODE_TYPE$1
];
const getSendAndWaitNodes = (nodes$1) => {
return (nodes$1 ?? []).filter((node) => node.codex?.categories?.includes(HUMAN_IN_THE_LOOP_CATEGORY)).map((node) => node.name);
};
const view = {
value: REGULAR_NODE_CREATOR_VIEW,
title: i18n.baseText("nodeCreator.triggerHelperPanel.whatHappensNext"),
items: [
{
key: "*",
type: "subcategory",
properties: {
title: "App Regular Nodes",
icon: "globe",
forceIncludeNodes: [RSS_READ_NODE_TYPE, EMAIL_SEND_NODE_TYPE]
}
},
{
type: "subcategory",
key: TRANSFORM_DATA_SUBCATEGORY,
category: CORE_NODES_CATEGORY,
properties: {
title: TRANSFORM_DATA_SUBCATEGORY,
icon: "pen",
sections: [
{
key: "popular",
title: i18n.baseText("nodeCreator.sectionNames.popular"),
items: popularItemsSubcategory
},
{
key: "addOrRemove",
title: i18n.baseText("nodeCreator.sectionNames.transform.addOrRemove"),
items: [
FILTER_NODE_TYPE,
REMOVE_DUPLICATES_NODE_TYPE,
SPLIT_OUT_NODE_TYPE,
LIMIT_NODE_TYPE
]
},
{
key: "combine",
title: i18n.baseText("nodeCreator.sectionNames.transform.combine"),
items: [
SUMMARIZE_NODE_TYPE,
AGGREGATE_NODE_TYPE,
MERGE_NODE_TYPE
]
},
{
key: "convert",
title: i18n.baseText("nodeCreator.sectionNames.transform.convert"),
items: [
HTML_NODE_TYPE,
MARKDOWN_NODE_TYPE,
XML_NODE_TYPE,
CRYPTO_NODE_TYPE,
EXTRACT_FROM_FILE_NODE_TYPE,
CONVERT_TO_FILE_NODE_TYPE,
COMPRESSION_NODE_TYPE,
EDIT_IMAGE_NODE_TYPE
]
}
]
}
},
{
type: "subcategory",
key: FLOWS_CONTROL_SUBCATEGORY,
category: CORE_NODES_CATEGORY,
properties: {
title: FLOWS_CONTROL_SUBCATEGORY,
icon: "git-branch",
sections: [{
key: "popular",
title: i18n.baseText("nodeCreator.sectionNames.popular"),
items: [
FILTER_NODE_TYPE,
IF_NODE_TYPE,
SPLIT_IN_BATCHES_NODE_TYPE,
MERGE_NODE_TYPE
]
}]
}
},
{
type: "subcategory",
key: HELPERS_SUBCATEGORY,
category: CORE_NODES_CATEGORY,
properties: {
title: HELPERS_SUBCATEGORY,
icon: "toolbox",
sections: [{
key: "popular",
title: i18n.baseText("nodeCreator.sectionNames.popular"),
items: [
HTTP_REQUEST_NODE_TYPE,
WEBHOOK_NODE_TYPE,
CODE_NODE_TYPE,
DATA_TABLE_NODE_TYPE
]
}]
}
},
{
type: "subcategory",
key: HITL_SUBCATEGORY,
category: HUMAN_IN_THE_LOOP_CATEGORY,
properties: {
title: HITL_SUBCATEGORY,
icon: "user-check",
sections: [{
key: "sendAndWait",
title: i18n.baseText("nodeCreator.sectionNames.sendAndWait"),
items: getSendAndWaitNodes(nodes)
}]
}
}
]
};
if ((nodes ?? []).some((node) => node.codex?.categories?.includes("AI"))) view.items.unshift({
key: "AI",
type: "view",
properties: {
title: i18n.baseText("nodeCreator.aiPanel.langchainAiNodes"),
icon: "robot",
description: i18n.baseText("nodeCreator.aiPanel.nodesForAi"),
borderless: true
}
});
view.items.push({
key: TRIGGER_NODE_CREATOR_VIEW,
type: "view",
properties: {
title: i18n.baseText("nodeCreator.triggerHelperPanel.addAnotherTrigger"),
icon: "bolt-filled",
description: i18n.baseText("nodeCreator.triggerHelperPanel.addAnotherTriggerDescription")
}
});
return view;
}
const WATCHED_KEYS = [
"ArrowUp",
"ArrowDown",
"ArrowLeft",
"ArrowRight",
"Enter",
"Escape",
"Tab"
];
const useKeyboardNavigation = defineStore("nodeCreatorKeyboardNavigation", () => {
const selectableItems = ref([]);
const activeItemId = ref(null);
const keysHooks = ref({});
function shouldAllowNativeInputBehavior(target, key) {
if (!(target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement)) return false;
const hasContent = target.value.length > 0;
if (key === "ArrowLeft" && hasContent) return true;
if (key === "ArrowRight" && hasContent) return !((target.selectionStart || 0) >= target.value.length);
return false;
}
function getItemType(element) {
return element?.getAttribute("data-keyboard-nav-type");
}
function getElementId(element) {
return element?.getAttribute("data-keyboard-nav-id") || void 0;
}
async function refreshSelectableItems() {
return await new Promise((resolve) => {
cleanupSelectableItems();
setTimeout(() => {
selectableItems.value = Array.from(document.querySelectorAll("[data-keyboard-nav-type]")).map((el) => new WeakRef(el));
resolve();
}, 0);
});
}
function executeKeyHooks(keyboardKey, activeItem) {
Object.values(keysHooks.value).filter((hook) => hook.keyboardKeys.includes(keyboardKey)).forEach((hook) => {
if (!activeItemId.value) return;
if ((hook.condition === void 0 || hook.condition(getItemType(activeItem) || "", activeItemId.value)) && activeItemId.value) hook.handler(activeItemId.value, keyboardKey);
});
}
async function onKeyDown(e) {
if (e.target instanceof Element && e.target.classList.contains("ignore-key-press-node-creator")) return;
const pressedKey = e.key;
if (!WATCHED_KEYS.includes(pressedKey)) return;
if (shouldAllowNativeInputBehavior(e.target, pressedKey)) return;
e.preventDefault();
e.stopPropagation();
await refreshSelectableItems();
const activeItemIndex = selectableItems.value.findIndex((item) => getElementId(item?.deref()) === activeItemId.value);
const activeItem = selectableItems.value[activeItemIndex]?.deref();
const isArrowDown = pressedKey === "ArrowDown";
const isArrowUp = pressedKey === "ArrowUp";
if (!activeItem) return;
if (isArrowDown) {
const nextItemIndex = activeItemIndex < selectableItems.value.length - 1 ? activeItemIndex + 1 : 0;
setActiveItem(selectableItems.value[nextItemIndex]?.deref());
}
if (isArrowUp) {
const previousIndex = activeItemIndex > 0 ? activeItemIndex - 1 : selectableItems.value.length - 1;
setActiveItem(selectableItems.value[previousIndex]?.deref());
}
executeKeyHooks(pressedKey, activeItem);
}
function setActiveItemId(id) {
activeItemId.value = id;
}
function setActiveItem(item) {
const itemId = getElementId(item);
if (!itemId) return;
setActiveItemId(itemId);
if (item?.scrollIntoView) item?.scrollIntoView({ block: "center" });
}
async function setActiveItemIndex(index) {
await refreshSelectableItems();
setActiveItem(selectableItems.value[index]?.deref());
}
function attachKeydownEvent() {
document.addEventListener("keydown", onKeyDown, { capture: true });
}
function detachKeydownEvent() {
cleanupSelectableItems();
document.removeEventListener("keydown", onKeyDown, { capture: true });
}
function registerKeyHook(name, hook) {
hook.keyboardKeys.forEach((keyboardKey) => {
if (WATCHED_KEYS.includes(keyboardKey)) keysHooks.value = {
...keysHooks.value,
[name]: hook
};
else throw new Error(`Key ${keyboardKey} is not supported`);
});
}
function cleanupSelectableItems() {
selectableItems.value = [];
}
function getActiveItemIndex() {
return selectableItems.value.findIndex((item) => getElementId(item?.deref()) === activeItemId.value);
}
return {
activeItemId,
attachKeydownEvent,
refreshSelectableItems,
detachKeydownEvent,
registerKeyHook,
getActiveItemIndex,
setActiveItemId,
setActiveItemIndex
};
});
var __virtual_node_popularity_data_default = [
{
"id": "n8n-nodes-base.httpRequest",
"popularity": .984
},
{
"id": "n8n-nodes-base.code",
"popularity": 1
},
{
"id": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"popularity": .943
},
{
"id": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"popularity": .949
},
{
"id": "n8n-nodes-base.scheduleTrigger",
"popularity": .91
},
{
"id": "n8n-nodes-base.webhook",
"popularity": .941
},
{
"id": "n8n-nodes-base.set",
"popularity": .978
},
{
"id": "n8n-nodes-base.if",
"popularity": .95
},
{
"id": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"popularity": .915
},
{
"id": "@n8n/n8n-nodes-langchain.openAi",
"popularity": .904
},
{
"id": "n8n-nodes-base.gmail",
"popularity": .905
},
{
"id": "n8n-nodes-base.noOp",
"popularity": .907
},
{
"id": "n8n-nodes-base.formTrigger",
"popularity": .871
},
{
"id": "n8n-nodes-base.merge",
"popularity": .896
},
{
"id": "n8n-nodes-base.telegramTrigger",
"popularity": .876
},
{
"id": "n8n-nodes-base.splitInBatches",
"popularity": .883
},
{
"id": "n8n-nodes-base.switch",
"popularity": .876
},
{
"id": "n8n-nodes-base.telegram",
"popularity": .906
},
{
"id": "@n8n/n8n-nodes-langchain.chainLlm",
"popularity": .857
},
{
"id": "n8n-nodes-base.wait",
"popularity": .863
},
{
"id": "@n8n/n8n-nodes-langchain.googleGemini",
"popularity": .855
},
{
"id": "n8n-nodes-base.splitOut",
"popularity": .86
},
{
"id": "n8n-nodes-base.googleDrive",
"popularity": .874
},
{
"id": "n8n-nodes-base.respondToWebhook",
"popularity": .85
},
{
"id": "n8n-nodes-base.filter",
"popularity": .845
},
{
"id": "n8n-nodes-base.extractFromFile",
"popularity": .838
},
{
"id": "n8n-nodes-base.googleSheetsTool",
"popularity": .858
},
{
"id": "@n8n/n8n-nodes-langchain.outputParserStructured",
"popularity": .84
},
{
"id": "n8n-nodes-base.httpRequestTool",
"popularity": .824
},
{
"id": "n8n-nodes-base.aggregate",
"popularity": .833
},
{
"id": "n8n-nodes-base.convertToFile",
"popularity": .812
},
{
"id": "n8n-nodes-base.gmailTrigger",
"popularity": .798
},
{
"id": "@n8n/n8n-nodes-langchain.toolWorkflow",
"popularity": .811
},
{
"id": "n8n-nodes-base.googleCalendarTool",
"popularity": .835
},
{
"id": "n8n-nodes-base.whatsApp",
"popularity": .808
},
{
"id": "n8n-nodes-base.executeWorkflowTrigger",
"popularity": .804
},
{
"id": "n8n-nodes-base.gmailTool",
"popularity": .808
},
{
"id": "n8n-nodes-base.emailSend",
"popularity": .784
},
{
"id": "n8n-nodes-base.readWriteFile",
"popularity": .806
},
{
"id": "n8n-nodes-base.whatsAppTrigger",
"popularity": .793
},
{
"id": "@n8n/n8n-nodes-langchain.lmChatDeepSeek",
"popularity": .799
},
{
"id": "n8n-nodes-base.dataTable",
"popularity": .853
},
{
"id": "@n8n/n8n-nodes-langchain.lmChatOllama",
"popularity": .803
},
{
"id": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"popularity": .777
},
{
"id": "n8n-nodes-base.googleSheetsTrigger",
"popularity": .786
},
{
"id": "n8n-nodes-base.executeWorkflow",
"popularity": .811
},
{
"id": "@n8n/n8n-nodes-langchain.mcpClientTool",
"popularity": .789
},
{
"id": "@n8n/n8n-nodes-langchain.informationExtractor",
"popularity": .759
},
{
"id": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
"popularity": .771
},
{
"id": "@n8n/n8n-nodes-langchain.toolCode",
"popularity": .758
},
{
"id": "@n8n/n8n-nodes-langchain.agentTool",
"popularity": .767
},
{
"id": "n8n-nodes-base.executeCommand",
"popularity": .782
},
{
"id": "n8n-nodes-base.limit",
"popularity": .774
},
{
"id": "n8n-nodes-base.slack",
"popularity": .778
},
{
"id": "n8n-nodes-base.html",
"popularity": .766
},
{
"id": "n8n-nodes-base.postgres",
"popularity": .82
},
{
"id": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"popularity": .78
},
{
"id": "@n8n/n8n-nodes-langchain.chat",
"popularity": .758
},
{
"id": "n8n-nodes-base.googleDriveTrigger",
"popularity": .76
},
{
"id": "@n8n/n8n-nodes-langchain.mcpTrigger",
"popularity": .746
},
{
"id": "n8n-nodes-base.googleDocs",
"popularity": .771
},
{
"id": "n8n-nodes-base.supabase",
"popularity": .81
},
{
"id": "n8n-nodes-base.rssFeedRead",
"popularity": .759
},
{
"id": "n8n-nodes-base.googleCalendar",
"popularity": .759
},
{
"id": "n8n-nodes-base.airtable",
"popularity": .8
},
{
"id": "@n8n/n8n-nodes-langchain.lmChatGroq",
"popularity": .76
},
{
"id": "@n8n/n8n-nodes-langchain.textClassifier",
"popularity": .724
},
{
"id": "n8n-nodes-base.emailReadImap",
"popularity": .718
},
{
"id": "@n8n/n8n-nodes-langchain.toolCalculator",
"popularity": .722
},
{
"id": "n8n-nodes-base.microsoftExcel",
"popularity": .738
},
{
"id": "n8n-nodes-base.form",
"popularity": .75
},
{
"id": "n8n-nodes-base.discord",
"popularity": .749
},
{
"id": "n8n-nodes-base.aiTransform",
"popularity": .707
},
{
"id": "n8n-nodes-base.microsoftOutlook",
"popularity": .747
},
{
"id": "@n8n/n8n-nodes-langchain.agent",
"popularity": .986
},
{
"id": "@n8n/n8n-nodes-langchain.chatTrigger",
"popularity": .955
},
{
"id": "@n8n/n8n-nodes-langchain.toolSerpApi",
"popularity": .726
},
{
"id": "@n8n/n8n-nodes-langchain.toolThink",
"popularity": .724
},
{
"id": "n8n-nodes-base.notion",
"popularity": .771
},
{
"id": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
"popularity": .705
},
{
"id": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"popularity": .745
},
{
"id": "@n8n/n8n-nodes-langchain.vectorStoreInMemory",
"popularity": .727
},
{
"id": "n8n-nodes-base.dateTime",
"popularity": .724
},
{
"id": "n8n-nodes-base.youTube",
"popularity": .707
},
{
"id": "@n8n/n8n-nodes-langchain.memoryMongoDbChat",
"popularity": .686
},
{
"id": "n8n-nodes-base.markdown",
"popularity": .694
},
{
"id": "n8n-nodes-base.googleDriveTool",
"popularity": .708
},
{
"id": "n8n-nodes-base.stopAndError",
"popularity": .693
},
{
"id": "n8n-nodes-base.errorTrigger",
"popularity": .683
},
{
"id": "@n8n/n8n-nodes-langchain.memoryRedisChat",
"popularity": .697
},
{
"id": "n8n-nodes-base.executionData",
"popularity": .675
},
{
"id": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
"popularity": .69
},
{
"id": "n8n-nodes-base.telegramTool",
"popularity": .691
},
{
"id": "n8n-nodes-base.googleDocsTool",
"popularity": .701
},
{
"id": "@n8n/n8n-nodes-langchain.toolWikipedia",
"popularity": .682
},
{
"id": "n8n-nodes-base.facebookGraphApi",
"popularity": .697
},
{
"id": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
"popularity": .693
},
{
"id": "@n8n/n8n-nodes-langchain.anthropic",
"popularity": .684
},
{
"id": "@n8n/n8n-nodes-langchain.embeddingsGoogleGemini",
"popularity": .715
},
{
"id": "@n8n/n8n-nodes-langchain.modelSelector",
"popularity": .659
},
{
"id": "n8n-nodes-base.microsoftOutlookTrigger",
"popularity": .674
},
{
"id": "n8n-nodes-base.mySql",
"popularity": .735
},
{
"id": "@n8n/n8n-nodes-langchain.chainRetrievalQa",
"popularity": .655
},
{
"id": "n8n-nodes-base.dataTableTool",
"popularity": .7
},
{
"id": "@n8n/n8n-nodes-langchain.lmChatXAiGrok",
"popularity": .673
},
{
"id": "n8n-nodes-base.whatsAppTool",
"popularity": .662
},
{
"id": "@n8n/n8n-nodes-langchain.memoryManager",
"popularity": .675
},
{
"id": "n8n-nodes-base.perplexity",
"popularity": .668
},
{
"id": "n8n-nodes-base.supabaseTool",
"popularity": .695
},
{
"id": "n8n-nodes-base.removeDuplicates",
"popularity": .682
},
{
"id": "n8n-nodes-base.rssFeedReadTrigger",
"popularity": .672
},
{
"id": "n8n-nodes-base.slackTrigger",
"popularity": .685
},
{
"id": "n8n-nodes-base.redis",
"popularity": .73
},
{
"id": "@apify/n8n-nodes-apify.apify",
"popularity": .697
},
{
"id": "n8n-nodes-base.microsoftTeams",
"popularity": .675
},
{
"id": "n8n-nodes-base.facebookTrigger",
"popularity": .654
},
{
"id": "@n8n/n8n-nodes-langchain.lmChatGoogleVertex",
"popularity": .653
},
{
"id": "n8n-nodes-base.sort",
"popularity": .658
},
{
"id": "@n8n/n8n-nodes-langchain.vectorStorePGVector",
"popularity": .678
},
{
"id": "n8n-nodes-base.n8n",
"popularity": .664
},
{
"id": "n8n-nodes-base.dateTimeTool",
"popularity": .653
},
{
"id": "n8n-nodes-base.localFileTrigger",
"popularity": .65
},
{
"id": "n8n-nodes-base.evaluationTrigger",
"popularity": .638
},
{
"id": "n8n-nodes-base.editImage",
"popularity": .662
},
{
"id": "n8n-nodes-base.linkedIn",
"popularity": .662
},
{
"id": "n8n-nodes-base.twilio",
"popularity": .665
},
{
"id": "n8n-nodes-base.ssh",
"popularity": .66
},
{
"id": "@n8n/n8n-nodes-langchain.sentimentAnalysis",
"popularity": .638
},
{
"id": "@n8n/n8n-nodes-langchain.chainSummarization",
"popularity": .639
},
{
"id": "n8n-nodes-base.airtableTool",
"popularity": .671
},
{
"id": "n8n-nodes-whatsable.whatsAble",
"popularity": .631
},
{
"id": "n8n-nodes-base.perplexityTool",
"popularity": .654
},
{
"id": "n8n-nodes-base.openWeatherMapTool",
"popularity": .641
},
{
"id": "n8n-nodes-base.openWeatherMap",
"popularity": .647
},
{
"id": "n8n-nodes-base.xml",
"popularity": .65
},
{
"id": "@n8n/n8n-nodes-langchain.embeddingsOllama",
"popularity": .662
},
{
"id": "n8n-nodes-base.postgresTool",
"popularity": .668
},
{
"id": "@n8n/n8n-nodes-langchain.vectorStoreQdrant",
"popularity": .677
},
{
"id": "n8n-nodes-base.compareDatasets",
"popularity": .631
},
{
"id": "n8n-nodes-base.airtableTrigger",
"popularity": .629
},
{
"id": "n8n-nodes-base.twitter",
"popularity": .64
},
{
"id": "n8n-nodes-base.microsoftOneDrive",
"popularity": .685
},
{
"id": "n8n-nodes-base.crypto",
"popularity": .63
},
{
"id": "n8n-nodes-base.microsoftOutlookTool",
"popularity": .646
},
{
"id": "n8n-nodes-base.wordpress",
"popularity": .645
},
{
"id": "n8n-nodes-base.evaluation",
"popularity": .636
},
{
"id": "n8n-nodes-base.microsoftExcelTool",
"popularity": .626
},
{
"id": "n8n-nodes-base.notionTool",
"popularity": .655
},
{
"id": "n8n-nodes-base.summarize",
"popularity": .721
},
{
"id": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
"popularity": .753
},
{
"id": "@n8n/n8n-nodes-langchain.lmOpenHuggingFaceInference",
"popularity": .622
},
{
"id": "n8n-nodes-base.github",
"popularity": .635
},
{
"id": "n8n-nodes-base.ftp",
"popularity": .626
},
{
"id": "n8n-nodes-base.microsoftSql",
"popularity": .653
},
{
"id": "n8n-nodes-base.microsoftSharePoint",
"popularity": .657
},
{
"id": "n8n-nodes-base.debugHelper",
"popularity": .602
},
{
"id": "n8n-nodes-base.n8nTrainingCustomerMessenger",
"popularity": .564
},
{
"id": "@n8n/n8n-nodes-langchain.lmChatAwsBedrock",
"popularity": .621
},
{
"id": "@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter",
"popularity": .598
},
{
"id": "n8n-nodes-base.hubspot",
"popularity": .662
},
{
"id": "@n8n/n8n-nodes-langchain.retrieverVectorStore",
"popularity": .601
},
{
"id": "n8n-nodes-base.googleChat",
"popularity": .615
},
{
"id": "n8n-nodes-base.googleSlides",
"popularity": .594
},
{
"id": "n8n-nodes-cronlytic.cronlyticTrigger",
"popularity": .584
},
{
"id": "n8n-nodes-base.hackerNews",
"popularity": .585
},
{
"id": "n8n-nodes-base.notionTrigger",
"popularity": .609
},
{
"id": "n8n-nodes-base.googleCalendarTrigger",
"popularity": .6
},
{
"id": "n8n-nodes-base.mongoDb",
"popularity": .651
},
{
"id": "n8n-nodes-base.line",
"popularity": .581
},
{
"id": "n8n-nodes-base.rssFeedReadTool",
"popularity": .595
},
{
"id": "n8n-nodes-base.clickUp",
"popularity": .647
},
{
"id": "n8n-nodes-base.awsS3",
"popularity": .6
},
{
"id": "n8n-nodes-base.nasa",
"popularity": .559
},
{
"id": "@n8n/n8n-nodes-langchain.memoryXata",
"popularity": .548
},
{
"id": "n8n-nodes-base.n8nTrigger",
"popularity": .558
},
{
"id": "n8n-nodes-base.s3",
"popularity": .605
},
{
"id": "@searchapi/n8n-nodes-searchapi.searchApi",
"popularity": .543
},
{
"id": "@blotato/n8n-nodes-blotato.blotato",
"popularity": .625
},
{
"id": "n8n-nodes-base.githubTrigger",
"popularity": .566
},
{
"id": "@n8n/n8n-nodes-langchain.textSplitterTokenSplitter",
"popularity": .558
},
{
"id": "n8n-nodes-base.filemaker",
"popularity": .553
},
{
"id": "n8n-nodes-base.shopify",
"popularity": .601
},
{
"id": "n8n-nodes-serpapi.serpApi",
"popularity": .589
},
{
"id": "@n8n/n8n-nodes-langchain.code",
"popularity": .556
},
{
"id": "n8n-nodes-base.postgresTrigger",
"popularity": .562
},
{
"id": "n8n-nodes-base.executeCommandTool",
"popularity": .565
},
{
"id": "@n8n/n8n-nodes-langchain.embeddingsHuggingFaceInference",
"popularity": .567
},
{
"id": "n8n-nodes-base.trello",
"popularity": .606
},
{
"id": "n8n-nodes-pdfco.PDFco Api",
"popularity": .578
},
{
"id": "n8n-nodes-base.nocoDb",
"popularity": .631
},
{
"id": "n8n-nodes-base.salesforce",
"popularity": .617
},
{
"id": "n8n-nodes-base.calTrigger",
"popularity": .56
},
{
"id": "n8n-nodes-base.homeAssistant",
"popularity": .582
},
{
"id": "n8n-nodes-base.jiraTool",
"popularity": .575
},
{
"id": "n8n-nodes-base.emailReadImapTool",
"popularity": .539
},
{
"id": "n8n-nodes-base.quickChart",
"popularity": .553
},
{
"id": "n8n-nodes-base.discordTool",
"popularity": .574
},
{
"id": "@n8n/n8n-nodes-langchain.lmChatCohere",
"popularity": .553
},
{
"id": "n8n-nodes-base.githubTool",
"popularity": .564
},
{
"id": "@brave/n8n-nodes-brave-search.braveSearch",
"popularity": .538
},
{
"id": "n8n-nodes-base.odoo",
"popularity": .606
},
{
"id": "@n8n/n8n-nodes-langchain.vectorStoreMongoDBAtlas",
"popularity": .552
},
{
"id": "n8n-nodes-aiscraper.aiScraper",
"popularity": .537
},
{
"id": "n8n-nodes-base.actionNetwork",
"popularity": .527
},
{
"id": "@mendable/n8n-nodes-firecrawl.firecrawl",
"popularity": .645
},
{
"id": "@n8n/n8n-nodes-langchain.embeddingsCohere",
"popularity": .548
},
{
"id": "n8n-nodes-base.highLevel",
"popularity": .589
},
{
"id": "@n8n/n8n-nodes-langchain.retrieverContextualCompression",
"popularity": .531
},
{
"id": "n8n-nodes-base.sseTrigger",
"popularity": .521
},
{
"id": "n8n-nodes-base.postBin",
"popularity": .564
},
{
"id": "n8n-nodes-base.googleBigQuery",
"popularity": .578
},
{
"id": "n8n-nodes-base.jiraTrigger",
"popularity": .542
},
{
"id": "n8n-nodes-base.googleTranslate",
"popularity": .525
},
{
"id": "n8n-nodes-base.facebookGraphApiTool",
"popularity": .529
},
{
"id": "n8n-nodes-base.baserow",
"popularity": .612
},
{
"id": "n8n-nodes-base.googleContacts",
"popularity": .547
},
{
"id": "n8n-nodes-base.shopifyTrigger",
"popularity": .558
},
{
"id": "n8n-nodes-base.googleContactsTool",
"popularity": .554
},
{
"id": "n8n-nodes-base.hubspotTrigger",
"popularity": .556
},
{
"id": "n8n-nodes-base.formIoTrigger",
"popularity": .489
},
{
"id": "@n8n/n8n-nodes-langchain.documentGithubLoader",
"popularity": .51
},
{
"id": "n8n-nodes-base.googleTasks",
"popularity": .554
},
{
"id": "n8n-nodes-base.microsoftTeamsTool",
"popularity": .526
},
{
"id": "n8n-nodes-base.jira",
"popularity": .649
},
{
"id": "n8n-nodes-base.compression",
"popularity": .597
},
{
"id": "n8n-nodes-base.mySqlTool",
"popularity": .623
},
{
"id": "n8n-nodes-base.renameKeys",
"popularity": .589
},
{
"id": "@n8n/n8n-nodes-langchain.rerankerCohere",
"popularity": .594
},
{
"id": "n8n-nodes-base.youTubeTool",
"popularity": .584
},
{
"id": "@tavily/n8n-nodes-tavily.tavily",
"popularity": .595
},
{
"id": "n8n-nodes-base.reddit",
"popularity": .608
},
{
"id": "n8n-nodes-base.twilioTrigger",
"popularity": .583
},
{
"id": "n8n-nodes-base.slackTool",
"popularity": .59
},
{
"id": "n8n-nodes-base.mistralAi",
"popularity": .584
},
{
"id": "n8n-nodes-base.dropbox",
"popularity": .611
},
{
"id": "n8n-nodes-base.microsoftTeamsTrigger",
"popularity": .589
},
{
"id": "@aotoki/n8n-nodes-line-messaging.lineMessaging",
"popularity": .585
},
{
"id": "n8n-nodes-base.philipsHueTool",
"popularity": .509
},
{
"id": "@n8n/n8n-nodes-langchain.embeddingsAzureOpenAi",
"popularity": .521
},
{
"id": "n8n-nodes-powerbi.powerBi",
"popularity": .531
},
{
"id": "n8n-nodes-base.zendesk",
"popularity": .543
},
{
"id": "n8n-nodes-base.twilioTool",
"popularity": .507
},
{
"id": "n8n-nodes-base.zoom",
"popularity": .5
},
{
"id": "n8n-nodes-base.trelloTrigger",
"popularity": .482
},
{
"id": "n8n-nodes-base.salesforceTrigger",
"popularity": .498
},
{
"id": "n8n-nodes-base.googleBusinessProfile",
"popularity": .503
},
{
"id": "n8n-nodes-base.rabbitmq",
"popularity": .497
},
{
"id": "n8n-nodes-base.redditTool",
"popularity": .483
},
{
"id": "@n8n/n8n-nodes-langchain.vectorStoreZep",
"popularity": .472
},
{
"id": "n8n-nodes-base.snowflake",
"popularity": .513
},
{
"id": "n8n-nodes-base.redisTrigger",
"popularity": .47
},
{
"id": "n8n-nodes-base.formstackTrigger",
"popularity": .464
},
{
"id": "n8n-nodes-scrapegraphai.scrapegraphAi",
"popularity": .465
},
{
"id": "n8n-nodes-base.totp",
"popularity": .461
},
{
"id": "n8n-nodes-base.azureStorage",
"popularity": .496
},
{
"id": "n8n-nodes-browserflow.browserflow",
"popularity": .481
},
{
"id": "n8n-nodes-base.googleSlidesTool",
"popularity": .461
},
{
"id": "n8n-nodes-base.quickbooks",
"popularity": .52
},
{
"id": "n8n-nodes-base.wooCommerceTrigger",
"popularity": .498
},
{
"id": "n8n-nodes-base.awsLambda",
"popularity": .472
},
{
"id": "n8n-nodes-base.rabbitmqTrigger",
"popularity": .486
},
{
"id": "n8n-nodes-base.coinGecko",
"popularity": .476
},
{
"id": "n8n-nodes-base.microsoftToDo",
"popularity": .48
},
{
"id": "n8n-nodes-base.pushover",
"popularity": .456
},
{
"id": "n8n-nodes-base.jinaAiTool",
"popularity": .43
},
{
"id": "n8n-nodes-base.actionNetworkTool",
"popularity": .434
},
{
"id": "n8n-nodes-base.trelloTool",
"popularity": .486
},
{
"id": "n8n-nodes-base.airtopTool",
"popularity": .507
},
{
"id": "n8n-nodes-base.awsSes",
"popularity": .44
},
{
"id": "n8n-nodes-base.bitbucketTrigger",
"popularity": .448
},
{
"id": "n8n-nodes-aimlapi.aimlApi",
"popularity": .443
},
{
"id": "n8n-nodes-base.zendeskTrigger",
"popularity": .439
},
{
"id": "n8n-nodes-base.mondayComTool",
"popularity": .446
},
{
"id": "n8n-nodes-base.googleCloudNaturalLanguageTool",
"popularity": .401
},
{
"id": "n8n-nodes-base.dhlTool",
"popularity": .377
},
{
"id": "n8n-nodes-base.eventbriteTrigger",
"popularity": .407
},
{
"id": "n8n-nodes-base.rocketchat",
"popularity": .421
},
{
"id": "n8n-nodes-base.awsTextractTool",
"popularity": .387
},
{
"id": "n8n-nodes-base.awsTranscribeTool",
"popularity": .39
},
{
"id": "n8n-nodes-base.payPal",
"popularity": .399
},
{
"id": "n8n-nodes-base.s3Tool",
"popularity": .398
},
{
"id": "n8n-nodes-base.stripeTool",
"popularity": .406
},
{
"id": "n8n-nodes-base.pipedriveTool",
"popularity": .435
},
{
"id": "n8n-nodes-base.box",
"popularity": .458
},
{
"id": "n8n-nodes-base.mailjet",
"popularity": .403
},
{
"id": "@2chat/n8n-nodes-twochat.twoChat",
"popularity": .399
},
{
"id": "n8n-nodes-base.microsoftGraphSecurityTool",
"popularity": .389
},
{
"id": "n8n-nodes-base.strava",
"popularity": .436
},
{
"id": "n8n-nodes-base.graphqlTool",
"popularity": .401
},
{
"id": "n8n-nodes-base.vonage",
"popularity": .412
},
{
"id": "n8n-nodes-base.matrix",
"popularity": .444
},
{
"id": "n8n-nodes-base.filemakerTool",
"popularity": .387
},
{
"id": "n8n-nodes-base.amqpTrigger",
"popularity": .367
},
{
"id": "n8n-nodes-base.grist",
"popularity": .43
},
{
"id": "n8n-nodes-base.philipsHue",
"popularity": .405
},
{
"id": "n8n-nodes-base.stravaTrigger",
"popularity": .412
},
{
"id": "n8n-nodes-base.emailSendTool",
"popularity": .597
},
{
"id": "n8n-nodes-base.jenkins",
"popularity": .409
},
{
"id": "n8n-nodes-base.linearTrigger",
"popularity": .392
},
{
"id": "n8n-nodes-base.seaTable",
"popularity": .458
},
{
"id": "n8n-nodes-base.linkedInTool",
"popularity": .595
},
{
"id": "n8n-nodes-base.graphql",
"popularity": .533
},
{
"id": "n8n-nodes-base.wooCommerce",
"popularity": .576
},
{
"id": "n8n-nodes-base.googleAds",
"popularity": .53
},
{
"id": "n8n-nodes-base.microsoftSqlTool",
"popularity": .549
},
{
"id": "n8n-nodes-base.googleTasksTool",
"popularity": .559
},
{
"id": "n8n-nodes-base.wordpressTool",
"popularity": .516
},
{
"id": "n8n-nodes-base.nextCloud",
"popularity": .572
},
{
"id": "n8n-nodes-base.mongoDbTool",
"popularity": .553
},
{
"id": "@n8n/n8n-nodes-langchain.vectorStoreMilvus",
"popularity": .532
},
{
"id": "n8n-nodes-base.mondayCom",
"popularity": .605
},
{
"id": "@n8n/n8n-nodes-langchain.retrieverWorkflow",
"popularity": .503
},
{
"id": "n8n-nodes-base.googleCloudStorage",
"popularity": .548
},
{
"id": "n8n-nodes-base.googleAnalytics",
"popularity": .513
},
{
"id": "n8n-nodes-base.microsoftOneDriveTool",
"popularity": .53
},
{
"id": "n8n-nodes-base.hackerNewsTool",
"popularity": .506
},
{
"id": "n8n-nodes-pdf4me.PDF4me",
"popularity": .521
},
{
"id": "n8n-nodes-base.sendInBlue",
"popularity": .551
},
{
"id": "@n8n/n8n-nodes-langchain.retrieverMultiQuery",
"popularity": .5
},
{
"id": "n8n-nodes-base.quickbooksTool",
"popularity": .497
},
{
"id": "n8n-nodes-base.googleChatTool",
"popularity": .492
},
{
"id": "n8n-nodes-base.asana",
"popularity": .572
},
{
"id": "n8n-nodes-pdfvector.pdfVector",
"popularity": .492
},
{
"id": "n8n-nodes-base.spotify",
"popularity": .551
},
{
"id": "n8n-nodes-base.twitterTool",
"popularity": .501
},
{
"id": "n8n-nodes-base.shopifyTool",
"popularity": .534
},
{
"id": "n8n-nodes-upload-post.uploadPost",
"popularity": .53
},
{
"id": "n8n-nodes-base.zohoCrm",
"popularity": .563
},
{
"id": "n8n-nodes-base.pipedrive",
"popularity": .605
},
{
"id": "@n8n/n8n-nodes-langchain.lmChatVercelAiGateway",
"popularity": .501
},
{
"id": "n8n-nodes-base.deepL",
"popularity": .486
},
{
"id": "@n8n/n8n-nodes-langchain.toolSearXng",
"popularity": .508
},
{
"id": "n8n-nodes-base.mqttTrigger",
"popularity": .507
},
{
"id": "n8n-nodes-base.jwt",
"popularity": .512
},
{
"id": "n8n-nodes-base.dhl",
"popularity": .486
},
{
"id": "n8n-nodes-base.redisTool",
"popularity": .51
},
{
"id": "n8n-nodes-base.airtop",
"popularity": .578
},
{
"id": "n8n-nodes-base.googleFirebaseCloudFirestore",
"popularity": .563
},
{
"id": "n8n-nodes-base.microsoftSharePointTool",
"popularity": .508
},
{
"id": "n8n-nodes-base.clickUpTrigger",
"popularity": .532
},
{
"id": "n8n-nodes-base.stripe",
"popularity": .524
},
{
"id": "n8n-nodes-base.homeAssistantTool",
"popularity": .525
},
{
"id": "n8n-nodes-base.mailgun",
"popularity": .488
},
{
"id": "n8n-nodes-base.jotFormTrigger",
"popularity": .515
},
{
"id": "n8n-nodes-cloudinary.cloudinary",
"popularity": .514
},
{
"id": "n8n-nodes-base.jinaAi",
"popularity": .501
},
{
"id": "n8n-nodes-base.gitlabTrigger",
"popularity": .485
},
{
"id": "n8n-nodes-base.sendGrid",
"popularity": .504
},
{
"id": "n8n-nodes-base.spotifyTool",
"popularity": .518
},
{
"id": "n8n-nodes-base.stripeTrigger",
"popularity": .509
},
{
"id": "n8n-nodes-base.togglTrigger",
"popularity": .478
},
{
"id": "n8n-nodes-base.gitlab",
"popularity": .515
},
{
"id": "@cloudconvert/n8n-nodes-cloudconvert.cloudConvert",
"popularity": .5
},
{
"id": "n8n-nodes-htmlcsstoimage.htmlCssToImage",
"popularity": .49
},
{
"id": "n8n-nodes-base.mqtt",
"popularity": .498
},
{
"id": "n8n-nodes-base.hubspotTool",
"popularity": .507
},
{
"id": "n8n-nodes-base.todoist",
"popularity": .533
},
{
"id": "n8n-nodes-base.googleTranslateTool",
"popularity": .482
},
{
"id": "n8n-nodes-base.activeCampaign",
"popularity": .524
},
{
"id": "@n8n/n8n-nodes-langchain.embeddingsMistralCloud",
"popularity": .508
},
{
"id": "@nskha/n8n-nodes-scrappey.scrappey",
"popularity": .463
},
{
"id": "n8n-nodes-base.cryptoTool",
"popularity": .447
},
{
"id": "n8n-nodes-base.git",
"popularity": .512
},
{
"id": "n8n-nodes-base.mattermost",
"popularity": .495
},
{
"id": "n8n-nodes-instantly.instantly",
"popularity": .509
},
{
"id": "n8n-nodes-base.elasticsearch",
"popularity": .467
},
{
"id": "n8n-nodes-base.phantombuster",
"popularity": .486
},
{
"id": "n8n-nodes-base.odooTool",
"popularity": .493
},
{
"id": "n8n-nodes-base.calendlyTrigger",
"popularity": .595
},
{
"id": "n8n-nodes-base.wooCommerceTool",
"popularity": .487
},
{
"id": "n8n-nodes-base.figmaTrigger",
"popularity": .451
},
{
"id": "n8n-nodes-base.todoistTool",
"popularity": .502
},
{
"id": "n8n-nodes-base.webflow",
"popularity": .481
},
{
"id": "n8n-nodes-scrape-creators.scrapeCreators",
"popularity": .485
},
{
"id": "n8n-nodes-base.googleAdsTool",
"popularity": .437
},
{
"id": "n8n-nodes-base.baserowTool",
"popularity": .472
},
{
"id": "@n8n/n8n-nodes-langchain.embeddingsGoogleVertex",
"popularity": .524
},
{
"id": "n8n-nodes-base.mistralAiTool",
"popularity": .45
},
{
"id": "n8n-nodes-base.kafka",
"popularity": .459
},
{
"id": "n8n-nodes-base.microsoftEntra",
"popularity": .478
},
{
"id": "n8n-nodes-base.deepLTool",
"popularity": .425
},
{
"id": "n8n-nodes-autocalls.autocalls",
"popularity": .44
},
{
"id": "n8n-nodes-base.salesforceTool",
"popularity": .48
},
{
"id": "@n8n/n8n-nodes-langchain.vectorStoreWeaviate",
"popularity": .469
},
{
"id": "n8n-nodes-base.kafkaTrigger",
"popularity": .453
},
{
"id": "n8n-nodes-base.coinGeckoTool",
"popularity": .458
},
{
"id": "n8n-nodes-base.nocoDbTool",
"popularity": .485
},
{
"id": "n8n-nodes-base.awsS3Tool",
"popularity": .436
},
{
"id": "@apify/n8n-nodes-apify.apifyTrigger",
"popularity": .442
},
{
"id": "n8n-nodes-base.apiTemplateIo",
"popularity": .444
},
{
"id": "n8n-nodes-base.adalo",
"popularity": .421
},
{
"id": "n8n-nodes-base.mailcheck",
"popularity": .428
},
{
"id": "n8n-nodes-base.grafana",
"popularity": .449
},
{
"id": "n8n-nodes-base.quickChartTool",
"popularity": .448
},
{
"id": "n8n-nodes-base.gitlabTool",
"popularity": .462
},
{
"id": "n8n-nodes-base.urlScanIo",
"popularity": .441
},
{
"id": "n8n-nodes-base.nextCloudTool",
"popularity": .45
},
{
"id": "n8n-nodes-base.metabase",
"popularity": .454
},
{
"id": "n8n-nodes-base.dropboxTool",
"popularity": .453
},
{
"id": "n8n-nodes-documentero.documentero",
"popularity": .448
},
{
"id": "n8n-nodes-base.hunter",
"popularity": .451
},
{
"id": "n8n-nodes-base.asanaTrigger",
"popularity": .474
},
{
"id": "n8n-nodes-base.elasticsearchTool",
"popularity": .447
},
{
"id": "n8n-nodes-base.awsTextract",
"popularity": .447
},
{
"id": "n8n-nodes-base.mailchimp",
"popularity": .489
},
{
"id": "@n8n/n8n-nodes-langchain.lmCohere",
"popularity": .433
},
{
"id": "n8n-nodes-base.webflowTool",
"popularity": .424
},
{
"id": "n8n-nodes-base.googleBigQueryTool",
"popularity": .45
},
{
"id": "n8n-nodes-postiz.postiz",
"popularity": .482
},
{
"id": "n8n-nodes-base.linear",
"popularity": .472
},
{
"id": "n8n-nodes-base.pipedriveTrigger",
"popularity": .446
},
{
"id": "n8n-nodes-pdforge.pdforge",
"popularity": .426
},
{
"id": "n8n-nodes-base.zohoCrmTool",
"popularity": .47
},
{
"id": "n8n-nodes-base.awsTranscribe",
"popularity": .424
},
{
"id": "n8n-nodes-base.googleBusinessProfileTrigger",
"popularity": .466
},
{
"id": "n8n-nodes-base.googleFirebaseCloudFirestoreTool",
"popularity": .447
},
{
"id": "n8n-nodes-base.googleFirebaseRealtimeDatabase",
"popularity": .428
},
{
"id": "n8n-nodes-base.serviceNow",
"popularity": .469
},
{
"id": "n8n-nodes-base.ldap",
"popularity": .464
},
{
"id": "n8n-nodes-base.gSuiteAdmin",
"popularity": .468
},
{
"id": "n8n-nodes-base.xero",
"popularity": .474
},
{
"id": "n8n-nodes-base.lineTool",
"popularity": .419
},
{
"id": "n8n-nodes-base.bubble",
"popularity": .491
},
{
"id": "n8n-nodes-base.asanaTool",
"popularity": .454
},
{
"id": "n8n-nodes-base.zoomTool",
"popularity": .416
},
{
"id": "n8n-nodes-base.oneSimpleApiTool",
"popularity": .4
},
{
"id": "@brightdata/n8n-nodes-brightdata.brightData",
"popularity": .456
},
{
"id": "n8n-nodes-base.googleCloudStorageTool",
"popularity": .407
},
{
"id": "n8n-nodes-base.webflowTrigger",
"popularity": .433
},
{
"id": "n8n-nodes-base.acuitySchedulingTrigger",
"popularity": .415
},
{
"id": "n8n-nodes-base.cloudflareTool",
"popularity": .403
},
{
"id": "n8n-nodes-base.microsoftToDoTool",
"popularity": .431
},
{
"id": "n8n-nodes-base.agileCrm",
"popularity": .401
},
{
"id": "n8n-nodes-base.awsDynamoDb",
"popularity": .455
},
{
"id": "n8n-nodes-base.googleBusinessProfileTool",
"popularity": .406
},
{
"id": "n8n-nodes-base.cloudflare",
"popularity": .386
},
{
"id": "n8n-nodes-base.marketstack",
"popularity": .332
},
{
"id": "n8n-nodes-base.affinity",
"popularity": .406
},
{
"id": "n8n-nodes-base.gotify",
"popularity": .432
},
{
"id": "n8n-nodes-base.gitTool",
"popularity": .414
},
{
"id": "n8n-nodes-base.grafanaTool",
"popularity": .408
},
{
"id": "n8n-nodes-base.erpNext",
"popularity": .455
},
{
"id": "n8n-nodes-base.awsSnsTrigger",
"popularity": .37
},
{
"id": "n8n-nodes-chat-data.chatData",
"popularity": .388
},
{
"id": "n8n-nodes-base.medium",
"popularity": .399
},
{
"id": "n8n-nodes-base.sms77",
"popularity": .375
},
{
"id": "n8n-nodes-base.activeCampaignTrigger",
"popularity": .393
},
{
"id": "n8n-nodes-base.pushbullet",
"popularity": .347
},
{
"id": "n8n-nodes-base.wise",
"popularity": .358
},
{
"id": "n8n-nodes-base.messageBird",
"popularity": .439
},
{
"id": "n8n-nodes-base.splunk",
"popularity": .364
},
{
"id": "n8n-nodes-base.urlScanIoTool",
"popularity": .3
},
{
"id": "n8n-nodes-base.highLevelTool",
"popularity": .477
},
{
"id": "n8n-nodes-base.bitwardenTool",
"popularity": .379
},
{
"id": "n8n-nodes-base.convertKitTool",
"popularity": .361
},
{
"id": "n8n-nodes-base.lemlist",
"popularity": .426
},
{
"id": "n8n-nodes-base.messageBirdTool",
"popularity": .368
},
{
"id": "n8n-nodes-base.microsoftDynamicsCrm",
"popularity": .404
},
{
"id": "n8n-nodes-base.getResponseTool",
"popularity": .357
},
{
"id": "n8n-nodes-base.gSuiteAdminTool",
"popularity": .382
},
{
"id": "n8n-nodes-base.compressionTool",
"popularity": .37
},
{
"id": "n8n-nodes-base.googleCloudNaturalLanguage",
"popularity": .374
},
{
"id": "n8n-nodes-base.bitwarden",
"popularity": .388
},
{
"id": "n8n-nodes-base.affinityTool",
"popularity": .371
},
{
"id": "n8n-nodes-base.invoiceNinja",
"popularity": .413
},
{
"id": "n8n-nodes-base.mailerLite",
"popularity": .406
},
{
"id": "n8n-nodes-base.activeCampaignTool",
"popularity": .367
},
{
"id": "n8n-nodes-superchat.superchat",
"popularity": .435
},
{
"id": "@gotohuman/n8n-nodes-gotohuman.gotoHuman",
"popularity": .38
},
{
"id": "n8n-nodes-base.nasaTool",
"popularity": .374
},
{
"id": "n8n-nodes-base.stravaTool",
"popularity": .382
},
{
"id": "n8n-nodes-scrapeless.scrapeless",
"popularity": .362
},
{
"id": "n8n-nodes-mallabe-images.mallabeImages",
"popularity": .36
},
{
"id": "n8n-nodes-base.mailchimpTool",
"popularity": .354
},
{
"id": "n8n-nodes-base.awsSqs",
"popularity": .371
},
{
"id": "n8n-nodes-base.snowflakeTool",
"popularity": .392
},
{
"id": "n8n-nodes-base.freshserviceTool",
"popularity": .371
},
{
"id": "n8n-nodes-base.zammad",
"popularity": .426
},
{
"id": "n8n-nodes-base.bubbleTool",
"popularity": .377
},
{
"id": "n8n-nodes-base.microsoftDynamicsCrmTool",
"popularity": .351
},
{
"id": "n8n-nodes-base.freshservice",
"popularity": .415
},
{
"id": "n8n-nodes-base.strapi",
"popularity": .403
},
{
"id": "n8n-nodes-base.microsoftGraphSecurity",
"popularity": .367
},
{
"id": "n8n-nodes-base.autopilotTool",
"popularity": .366
},
{
"id": "n8n-nodes-fillout.filloutTrigger",
"popularity": .382
},
{
"id": "n8n-nodes-base.metabaseTool",
"popularity": .371
},
{
"id": "n8n-nodes-supadata.supadata",
"popularity": .395
},
{
"id": "n8n-nodes-base.humanticAiTool",
"popularity": .351
},
{
"id": "@n8n/n8n-nodes-langchain.toolWolframAlpha",
"popularity": .362
},
{
"id": "n8n-nodes-base.mautic",
"popularity": .443
},
{
"id": "n8n-nodes-base.microsoftEntraTool",
"popularity": .377
},
{
"id": "n8n-nodes-base.getResponse",
"popularity": .357
},
{
"id": "n8n-nodes-base.bitly",
"popularity": .36
},
{
"id": "n8n-nodes-base.serviceNowTool",
"popularity": .371
},
{
"id": "@langfuse/n8n-nodes-langfuse.langfuse",
"popularity": .412
},
{
"id": "n8n-nodes-ticktick.tickTick",
"popularity": .399
},
{
"id": "n8n-nodes-base.awsLambdaTool",
"popularity": .364
},
{
"id": "n8n-nodes-base.clockify",
"popularity": .408
},
{
"id": "n8n-nodes-craftmypdf.craftMyPdf",
"popularity": .359
},
{
"id": "n8n-nodes-base.flow",
"popularity": .348
},
{
"id": "n8n-nodes-base.clockifyTool",
"popularity": .346
},
{
"id": "n8n-nodes-base.linearTool",
"popularity": .395
},
{
"id": "n8n-nodes-base.customerIoTool",
"popularity": .349
},
{
"id": "n8n-nodes-base.zendeskTool",
"popularity": .395
},
{
"id": "n8n-nodes-base.phantombusterTool",
"popularity": .349
},
{
"id": "n8n-nodes-scraping-dog.scrapingDog",
"popularity": .354
},
{
"id": "n8n-nodes-base.invoiceNinjaTool",
"popularity": .338
},
{
"id": "n8n-nodes-base.bambooHr",
"popularity": .373
},
{
"id": "n8n-nodes-base.agileCrmTool",
"popularity": .343
},
{
"id": "n8n-nodes-heyreach.heyReach",
"popularity": .42
},
{
"id": "n8n-nodes-base.mqttTool",
"popularity": .366
},
{
"id": "n8n-nodes-base.mindee",
"popularity": .361
},
{
"id": "n8n-nodes-base.amqp",
"popularity": .345
},
{
"id": "n8n-nodes-base.coda",
"popularity": .432
},
{
"id": "n8n-nodes-base.clearbit",
"popularity": .332
},
{
"id": "n8n-nodes-base.sendInBlueTool",
"popularity": .362
},
{
"id": "n8n-nodes-base.freshdeskTool",
"popularity": .334
},
{
"id": "n8n-nodes-base.pushoverTool",
"popularity": .354
},
{
"id": "n8n-nodes-base.magento2",
"popularity": .395
},
{
"id": "n8n-nodes-base.payPalTrigger",
"popularity": .383
},
{
"id": "n8n-nodes-base.bannerbear",
"popularity": .389
},
{
"id": "n8n-nodes-base.googleBooksTool",
"popularity": .336
},
{
"id": "n8n-nodes-base.affinityTrigger",
"popularity": .324
},
{
"id": "n8n-nodes-inoreader.inoreader",
"popularity": .375
},
{
"id": "n8n-nodes-base.jwtTool",
"popularity": .328
},
{
"id": "n8n-nodes-base.intercom",
"popularity": .37
},
{
"id": "n8n-nodes-base.jenkinsTool",
"popularity": .342
},
{
"id": "n8n-nodes-base.ghost",
"popularity": .367
},
{
"id": "n8n-nodes-anchorbrowser.anchorBrowser",
"popularity": .511
},
{
"id": "n8n-nodes-base.gumroadTrigger",
"popularity": .383
},
{
"id": "n8n-nodes-base.ciscoWebex",
"popularity": .404
},
{
"id": "n8n-nodes-base.gong",
"popularity": .375
},
{
"id": "n8n-nodes-base.erpNextTool",
"popularity": .366
},
{
"id": "n8n-nodes-outscraper.outscraper",
"popularity": .368
},
{
"id": "n8n-nodes-1shot.oneShot",
"popularity": .316
},
{
"id": "n8n-nodes-base.venafiTlsProtectDatacenterTool",
"popularity": .345
},
{
"id": "n8n-nodes-base.marketstackTool",
"popularity": .327
},
{
"id": "n8n-nodes-softr.softr",
"popularity": .442
},
{
"id": "n8n-nodes-base.azureCosmosDb",
"popularity": .376
},
{
"id": "n8n-nodes-base.upleadTool",
"popularity": .315
},
{
"id": "n8n-nodes-base.uptimeRobot",
"popularity": .302
},
{
"id": "n8n-nodes-base.mediumTool",
"popularity": .325
},
{
"id": "n8n-nodes-base.sentryIo",
"popularity": .4
},
{
"id": "n8n-nodes-base.uproc",
"popularity": .313
},
{
"id": "n8n-nodes-base.convertKit",
"popularity": .355
},
{
"id": "@scrapeops/n8n-nodes-scrapeops.ScrapeOps",
"popularity": .312
},
{
"id": "n8n-nodes-base.xeroTool",
"popularity": .328
},
{
"id": "n8n-nodes-base.autopilot",
"popularity": .312
},
{
"id": "n8n-nodes-base.googlePerspectiveTool",
"popularity": .281
},
{
"id": "n8n-nodes-base.netlify",
"popularity": .308
},
{
"id": "n8n-nodes-base.contentfulTool",
"popularity": .33
},
{
"id": "n8n-nodes-base.boxTrigger",
"popularity": .335
},
{
"id": "n8n-nodes-yepcode.yepCode",
"popularity": .31
},
{
"id": "n8n-nodes-base.adaloTool",
"popularity": .309
},
{
"id": "n8n-nodes-base.sendInBlueTrigger",
"popularity": .353
},
{
"id": "n8n-nodes-base.haloPSA",
"popularity": .368
},
{
"id": "n8n-nodes-base.matrixTool",
"popularity": .291
},
{
"id": "n8n-nodes-base.ldapTool",
"popularity": .321
},
{
"id": "n8n-nodes-base.googleBooks",
"popularity": .277
},
{
"id": "n8n-nodes-base.dropcontact",
"popularity": .322
},
{
"id": "n8n-nodes-base.npm",
"popularity": .312
},
{
"id": "n8n-nodes-base.openThesaurus",
"popularity": .265
},
{
"id": "n8n-nodes-base.mattermostTool",
"popularity": .342
},
{
"id": "n8n-nodes-base.npmTool",
"popularity": .292
},
{
"id": "n8n-nodes-base.timescaleDb",
"popularity": .331
},
{
"id": "n8n-nodes-base.wufooTrigger",
"popularity": .272
},
{
"id": "n8n-nodes-base.awsCertificateManager",
"popularity": .254
},
{
"id": "n8n-nodes-base.harvest",
"popularity": .355
},
{
"id": "n8n-nodes-base.travisCiTool",
"popularity": .328
},
{
"id": "n8n-nodes-base.mailgunTool",
"popularity": .277
},
{
"id": "n8n-nodes-base.magento2Tool",
"popularity": .341
},
{
"id": "n8n-nodes-visualping.visualpingTrigger",
"popularity": .256
},
{
"id": "n8n-nodes-base.peekalink",
"popularity": .251
},
{
"id": "n8n-nodes-base.uptimeRobotTool",
"popularity": .259
},
{
"id": "n8n-nodes-base.ouraTool",
"popularity": .277
},
{
"id": "n8n-nodes-base.crateDb",
"popularity": .249
},
{
"id": "n8n-nodes-base.getResponseTrigger",
"popularity": .202
},
{
"id": "n8n-nodes-base.pushcut",
"popularity": .315
},
{
"id": "n8n-nodes-base.discourse",
"popularity": .302
},
{
"id": "n8n-nodes-base.strapiTool",
"popularity": .281
},
{
"id": "n8n-nodes-base.rundeck",
"popularity": .259
},
{
"id": "n8n-nodes-base.awsSesTool",
"popularity": .263
},
{
"id": "@telnyx/n8n-nodes-telnyx-ai.telnyxAi",
"popularity": .275
},
{
"id": "n8n-nodes-base.discourseTool",
"popularity": .272
},
{
"id": "n8n-nodes-base.freshworksCrmTool",
"popularity": .265
},
{
"id": "n8n-nodes-base.invoiceNinjaTrigger",
"popularity": .261
},
{
"id": "n8n-nodes-base.mandrill",
"popularity": .272
},
{
"id": "n8n-nodes-base.cortex",
"popularity": .246
},
{
"id": "n8n-nodes-base.lemlistTool",
"popularity": .277
},
{
"id": "n8n-nodes-base.circleCi",
"popularity": .251
},
{
"id": "n8n-nodes-base.helpScoutTrigger",
"popularity": .27
},
{
"id": "@alipeople/n8n-nodes-sendon.sendon",
"popularity": .249
},
{
"id": "@decodo/n8n-nodes-decodo.decodo",
"popularity": .339
},
{
"id": "n8n-nodes-base.plivo",
"popularity": .261
},
{
"id": "n8n-nodes-base.crateDbTool",
"popularity": .254
},
{
"id": "n8n-nodes-base.theHiveProject",
"popularity": .316
},
{
"id": "n8n-nodes-base.cockpitTool",
"popularity": .251
},
{
"id": "n8n-nodes-screenshotbase.screenshotBase",
"popularity": .374
},
{
"id": "n8n-nodes-base.autopilotTrigger",
"popularity": .22
},
{
"id": "n8n-nodes-base.signl4",
"popularity": .202
},
{
"id": "n8n-nodes-base.elasticSecurityTool",
"popularity": .246
},
{
"id": "n8n-nodes-base.theHiveTool",
"popularity": .237
},
{
"id": "n8n-nodes-base.wiseTrigger",
"popularity": .282
},
{
"id": "n8n-nodes-base.securityScorecardTool",
"popularity": .275
},
{
"id": "n8n-nodes-base.storyblok",
"popularity": .24
},
{
"id": "n8n-nodes-base.paddleTool",
"popularity": .234
},
{
"id": "@cloudsway-ai/n8n-nodes-cloudsway.smartSearch",
"popularity": .344
},
{
"id": "n8n-nodes-base.ghostTool",
"popularity": .339
},
{
"id": "n8n-nodes-base.timescaleDbTool",
"popularity": .345
},
{
"id": "n8n-nodes-base.hunterTool",
"popularity": .325
},
{
"id": "n8n-nodes-base.codaTool",
"popularity": .33
},
{
"id": "n8n-nodes-base.oneSimpleApi",
"popularity": .304
},
{
"id": "n8n-nodes-base.lemlistTrigger",
"popularity": .373
},
{
"id": "n8n-nodes-base.sendGridTool",
"popularity": .319
},
{
"id": "n8n-nodes-base.BrandfetchTool",
"popularity": .296
},
{
"id": "n8n-nodes-base.splunkTool",
"popularity": .316
},
{
"id": "n8n-nodes-base.pagerDuty",
"popularity": .379
},
{
"id": "n8n-nodes-base.rabbitmqTool",
"popularity": .316
},
{
"id": "n8n-nodes-base.mailchimpTrigger",
"popularity": .32
},
{
"id": "n8n-nodes-base.ciscoWebexTrigger",
"popularity": .352
},
{
"id": "n8n-nodes-base.msg91",
"popularity": .3
},
{
"id": "n8n-nodes-base.ciscoWebexTool",
"popularity": .317
},
{
"id": "n8n-nodes-base.seaTableTool",
"popularity": .331
},
{
"id": "n8n-nodes-templated.templated",
"popularity": .336
},
{
"id": "n8n-nodes-fullenrich.fullEnrich",
"popularity": .316
},
{
"id": "n8n-nodes-fluentc.fluentCTranslate",
"popularity": .298
},
{
"id": "n8n-nodes-mailtrap.mailtrap",
"popularity": .327
},
{
"id": "n8n-nodes-base.awsIam",
"popularity": .312
},
{
"id": "n8n-nodes-base.gongTool",
"popularity": .267
},
{
"id": "n8n-nodes-kipps.kippsAiChatbot",
"popularity": .3
},
{
"id": "n8n-nodes-base.awsComprehend",
"popularity": .284
},
{
"id": "n8n-nodes-parseur.parseur",
"popularity": .282
},
{
"id": "n8n-nodes-vikunja.vikunja",
"popularity": .383
},
{
"id": "@globalping/n8n-nodes-globalping.globalping",
"popularity": .291
},
{
"id": "@zohomail/n8n-nodes-zohocalendar.zohoCalendar",
"popularity": .308
},
{
"id": "n8n-nodes-base.Brandfetch",
"popularity": .291
},
{
"id": "n8n-nodes-base.intercomTool",
"popularity": .286
},
{
"id": "n8n-nodes-base.customerIo",
"popularity": .33
},
{
"id": "n8n-nodes-base.postHog",
"popularity": .321
},
{
"id": "n8n-nodes-base.kafkaTool",
"popularity": .293
},
{
"id": "n8n-nodes-chat-data.chatDataTrigger",
"popularity": .256
},
{
"id": "n8n-nodes-base.helpScout",
"popularity": .333
},
{
"id": "n8n-nodes-base.surveyMonkeyTrigger",
"popularity": .293
},
{
"id": "n8n-nodes-base.loneScaleTool",
"popularity": .259
},
{
"id": "n8n-nodes-base.raindrop",
"popularity": .364
},
{
"id": "n8n-nodes-docuwriter-ai.docuWriter",
"popularity": .263
},
{
"id": "n8n-nodes-base.contentful",
"popularity": .304
},
{
"id": "n8n-nodes-base.mailerLiteTrigger",
"popularity": .295
},
{
"id": "n8n-nodes-base.clockifyTrigger",
"popularity": .291
},
{
"id": "n8n-nodes-shortio.Shortio",
"popularity": .295
},
{
"id": "n8n-nodes-skyvern.skyvern",
"popularity": .323
},
{
"id": "n8n-nodes-awork.awork",
"popularity": .313
},
{
"id": "n8n-nodes-base.postHogTool",
"popularity": .273
},
{
"id": "n8n-nodes-base.flowTrigger",
"popularity": .256
},
{
"id": "n8n-nodes-base.awsRekognition",
"popularity": .272
},
{
"id": "n8n-nodes-base.totpTool",
"popularity": .267
},
{
"id": "n8n-nodes-base.bitlyTool",
"popularity": .263
},
{
"id": "n8n-nodes-base.gotifyTool",
"popularity": .263
},
{
"id": "n8n-nodes-base.zulip",
"popularity": .338
},
{
"id": "n8n-nodes-base.postmarkTrigger",
"popularity": .277
},
{
"id": "n8n-nodes-base.bambooHrTool",
"popularity": .293
},
{
"id": "n8n-nodes-base.humanticAi",
"popularity": .254
},
{
"id": "n8n-nodes-base.iterableTool",
"popularity": .263
},
{
"id": "n8n-nodes-base.freshworksCrm",
"popularity": .351
},
{
"id": "n8n-nodes-base.yourls",
"popularity": .306
},
{
"id": "n8n-nodes-base.yourlsTool",
"popularity": .227
},
{
"id": "n8n-nodes-base.oura",
"popularity": .296
},
{
"id": "n8n-nodes-pushinator.pushinator",
"popularity": .328
},
{
"id": "n8n-nodes-base.iterable",
"popularity": .281
},
{
"id": "n8n-nodes-base.chargebeeTool",
"popularity": .281
},
{
"id": "n8n-nodes-base.awsCognito",
"popularity": .296
},
{
"id": "n8n-nodes-base.crowdDevTool",
"popularity": .249
},
{
"id": "n8n-nodes-base.mailcheckTool",
"popularity": .254
},
{
"id": "n8n-nodes-base.gristTool",
"popularity": .277
},
{
"id": "n8n-nodes-mallabe-barcodes.mallabeBarcodes",
"popularity": .277
},
{
"id": "n8n-nodes-straico-official.straicoOfficial",
"popularity": .348
},
{
"id": "n8n-nodes-base.mailerLiteTool",
"popularity": .275
},
{
"id": "n8n-nodes-base.mauticTrigger",
"popularity": .303
},
{
"id": "n8n-nodes-base.harvestTool",
"popularity": .259
},
{
"id": "n8n-nodes-extruct.extruct",
"popularity": .207
},
{
"id": "n8n-nodes-base.awsSns",
"popularity": .329
},
{
"id": "n8n-nodes-base.okta",
"popularity": .354
},
{
"id": "n8n-nodes-base.rocketchatTool",
"popularity": .325
},
{
"id": "n8n-nodes-base.dropcontactTool",
"popularity": .251
},
{
"id": "n8n-nodes-base.oktaTool",
"popularity": .251
},
{
"id": "n8n-nodes-base.segment",
"popularity": .259
},
{
"id": "n8n-nodes-base.koBoToolbox",
"popularity": .286
},
{
"id": "n8n-nodes-seo-content-machine.seoContentMachine",
"popularity": .273
},
{
"id": "n8n-nodes-base.awsSnsTool",
"popularity": .246
},
{
"id": "n8n-nodes-base.taiga",
"popularity": .313
},
{
"id": "n8n-nodes-zohoteaminbox.zohoTeamInbox",
"popularity": .24
},
{
"id": "n8n-nodes-base.securityScorecard",
"popularity": .231
},
{
"id": "n8n-nodes-base.spontit",
"popularity": .256
},
{
"id": "n8n-nodes-base.quickbase",
"popularity": .292
},
{
"id": "n8n-nodes-base.lingvaNex",
"popularity": .207
},
{
"id": "n8n-nodes-base.questDbTool",
"popularity": .254
},
{
"id": "@apaleo/n8n-nodes-apaleo-official.apaleo",
"popularity": .352
},
{
"id": "n8n-nodes-base.syncroMspTool",
"popularity": .243
},
{
"id": "@handelsregister/n8n-nodes-handelsregister-ai.handelsregisterAi",
"popularity": .24
},
{
"id": "n8n-nodes-base.zulipTool",
"popularity": .231
},
{
"id": "n8n-nodes-base.mispTool",
"popularity": .216
},
{
"id": "n8n-nodes-base.monicaCrm",
"popularity": .259
},
{
"id": "n8n-nodes-base.postBinTool",
"popularity": .227
},
{
"id": "n8n-nodes-base.monicaCrmTool",
"popularity": .282
},
{
"id": "n8n-nodes-base.openThesaurusTool",
"popularity": .234
},
{
"id": "n8n-nodes-base.netlifyTrigger",
"popularity": .231
},
{
"id": "n8n-nodes-base.questDb",
"popularity": .22
},
{
"id": "n8n-nodes-base.taigaTool",
"popularity": .22
},
{
"id": "@nuelink/n8n-nodes-nuelink.nuelink",
"popularity": .202
},
{
"id": "n8n-nodes-swiftgum-trigger.swiftgumTrigger",
"popularity": .172
},
{
"id": "n8n-nodes-base.signl4Tool",
"popularity": .164
},
{
"id": "n8n-nodes-base.salesmate",
"popularity": .179
},
{
"id": "n8n-nodes-base.koBoToolboxTrigger",
"popularity": .243
},
{
"id": "n8n-nodes-base.unleashedSoftware",
"popularity": .227
},
{
"id": "n8n-nodes-base.stackby",
"popularity": .273
},
{
"id": "n8n-nodes-base.egoiTool",
"popularity": .172
},
{
"id": "n8n-nodes-base.elasticSecurity",
"popularity": .279
},
{
"id": "n8n-nodes-base.wekan",
"popularity": .207
},
{
"id": "@bedrijfsdatanl/n8n-nodes-bedrijfsdata.bedrijfsdata",
"popularity": .256
},
{
"id": "n8n-nodes-klicktipp.klicktipp",
"popularity": .22
},
{
"id": "n8n-nodes-base.theHiveProjectTool",
"popularity": .191
},
{
"id": "@ekyte/n8n-nodes-ekyte.eKyteAction",
"popularity": .287
},
{
"id": "n8n-nodes-base.kitemakerTool",
"popularity": .145
},
{
"id": "n8n-nodes-base.paddle",
"popularity": .191
},
{
"id": "n8n-nodes-base.raindropTool",
"popularity": .227
},
{
"id": "n8n-nodes-base.keapTrigger",
"popularity": .216
},
{
"id": "n8n-nodes-base.rundeckTool",
"popularity": .211
},
{
"id": "n8n-nodes-base.theHive",
"popularity": .207
},
{
"id": "n8n-nodes-base.customerIoTrigger",
"popularity": .179
},
{
"id": "n8n-nodes-base.convertKitTrigger",
"popularity": .207
},
{
"id": "@netgsm/n8n-nodes-netgsm.netgsm",
"popularity": .207
},
{
"id": "n8n-nodes-base.pushbulletTool",
"popularity": .185
},
{
"id": "@copicake/n8n-nodes-copicake.copicake",
"popularity": .197
},
{
"id": "n8n-nodes-base.syncroMsp",
"popularity": .265
},
{
"id": "n8n-nodes-vikunja.vikunjaTrigger",
"popularity": .279
},
{
"id": "@vlm-run/n8n-nodes-vlmrun.vlmRun",
"popularity": .224
},
{
"id": "n8n-nodes-base.netlifyTool",
"popularity": .179
},
{
"id": "@orisma/n8n-nodes-taximail.taximail",
"popularity": .185
},
{
"id": "n8n-nodes-logsnag.LogSnag",
"popularity": .22
},
{
"id": "n8n-nodes-base.storyblokTool",
"popularity": .211
},
{
"id": "n8n-nodes-base.pushcutTool",
"popularity": .191
},
{
"id": "n8n-nodes-base.mailjetTrigger",
"popularity": .216
},
{
"id": "n8n-nodes-businessmap.businessmap",
"popularity": .216
},
{
"id": "n8n-nodes-base.disqus",
"popularity": .12
},
{
"id": "n8n-nodes-base.cockpit",
"popularity": .197
},
{
"id": "n8n-nodes-joggai.joggAiNode",
"popularity": .211
},
{
"id": "@paloaltonetworks/n8n-nodes-prisma-airs.prismaAirs",
"popularity": .267
},
{
"id": "n8n-nodes-base.twist",
"popularity": .179
},
{
"id": "n8n-nodes-base.taigaTrigger",
"popularity": .202
},
{
"id": "n8n-nodes-streak-crm.streak",
"popularity": .202
},
{
"id": "n8n-nodes-base.goToWebinar",
"popularity": .134
},
{
"id": "n8n-nodes-krispcall.krispcall",
"popularity": .12
},
{
"id": "n8n-nodes-base.koBoToolboxTool",
"popularity": .155
},
{
"id": "n8n-nodes-base.mandrillTool",
"popularity": .172
},
{
"id": "n8n-nodes-base.wekanTool",
"popularity": .134
},
{
"id": "n8n-nodes-dalil-ai.dalilAi",
"popularity": .052
},
{
"id": "n8n-nodes-taddy.taddyApi",
"popularity": .12
},
{
"id": "n8n-nodes-base.driftTool",
"popularity": .267
},
{
"id": "n8n-nodes-triggercmd.triggercmd",
"popularity": .329
},
{
"id": "n8n-nodes-digital-ocean.digitalOcean",
"popularity": .31
},
{
"id": "n8n-nodes-base.segmentTool",
"popularity": .249
},
{
"id": "n8n-nodes-exa-official.exa",
"popularity": .367
},
{
"id": "n8n-nodes-base.sms77Tool",
"popularity": .256
},
{
"id": "n8n-nodes-base.copper",
"popularity": .284
},
{
"id": "n8n-nodes-base.uplead",
"popularity": .243
},
{
"id": "n8n-nodes-base.helpScoutTool",
"popularity": .249
},
{
"id": "n8n-nodes-base.amqpTool",
"popularity": .24
},
{
"id": "n8n-nodes-base.beeminderTool",
"popularity": .224
},
{
"id": "n8n-nodes-twittershots.twitterShots",
"popularity": .22
},
{
"id": "n8n-nodes-base.mailjetTool",
"popularity": .234
},
{
"id": "n8n-nodes-base.sentryIoTool",
"popularity": .251
},
{
"id": "n8n-nodes-parallel.parallel",
"popularity": .279
},
{
"id": "n8n-nodes-base.workableTrigger",
"popularity": .256
},
{
"id": "n8n-nodes-base.goToWebinarTool",
"popularity": .211
},
{
"id": "n8n-nodes-base.circleCiTool",
"popularity": .224
},
{
"id": "n8n-nodes-velatir.velatir",
"popularity": .231
},
{
"id": "n8n-nodes-base.haloPSATool",
"popularity": .261
},
{
"id": "n8n-nodes-base.mauticTool",
"popularity": .261
},
{
"id": "n8n-nodes-base.sendyTool",
"popularity": .185
},
{
"id": "n8n-nodes-base.keap",
"popularity": .303
},
{
"id": "n8n-nodes-base.venafiTlsProtectCloudTool",
"popularity": .227
},
{
"id": "n8n-nodes-base.seaTableTrigger",
"popularity": .246
},
{
"id": "n8n-nodes-base.sendy",
"popularity": .207
},
{
"id": "n8n-nodes-base.chargebee",
"popularity": .22
},
{
"id": "n8n-nodes-base.demioTool",
"popularity": .234
},
{
"id": "n8n-nodes-base.clearbitTool",
"popularity": .24
},
{
"id": "n8n-nodes-base.theHiveProjectTrigger",
"popularity": .164
},
{
"id": "n8n-nodes-base.copperTool",
"popularity": .216
},
{
"id": "n8n-nodes-base.chargebeeTrigger",
"popularity": .231
},
{
"id": "n8n-nodes-base.misp",
"popularity": .254
},
{
"id": "n8n-nodes-base.drift",
"popularity": .211
},
{
"id": "n8n-nodes-authentica.authentica",
"popularity": .164
},
{
"id": "n8n-nodes-base.quickbaseTool",
"popularity": .211
},
{
"id": "n8n-nodes-base.awsElb",
"popularity": .249
},
{
"id": "n8n-nodes-base.demio",
"popularity": .261
},
{
"id": "n8n-nodes-beyondpresence.beyondPresence",
"popularity": .231
},
{
"id": "n8n-nodes-base.egoi",
"popularity": .246
},
{
"id": "n8n-nodes-base.tapfiliateTool",
"popularity": .216
},
{
"id": "n8n-nodes-base.plivoTool",
"popularity": .207
},
{
"id": "@enginemailer/n8n-nodes-enginemailer.enginemailer",
"popularity": .227
},
{
"id": "n8n-nodes-base.unleashedSoftwareTool",
"popularity": .191
},
{
"id": "n8n-nodes-parseur.parseurTrigger",
"popularity": .216
},
{
"id": "n8n-nodes-autobound.autobound",
"popularity": .185
},
{
"id": "n8n-nodes-base.stackbyTool",
"popularity": .172
},
{
"id": "n8n-nodes-deeptagger.deepTagger",
"popularity": .202
},
{
"id": "n8n-nodes-base.emelia",
"popularity": .227
},
{
"id": "n8n-nodes-base.emeliaTool",
"popularity": .172
},
{
"id": "n8n-nodes-blue.blue",
"popularity": .251
},
{
"id": "n8n-nodes-base.pagerDutyTool",
"popularity": .211
},
{
"id": "n8n-nodes-klicktipp.klicktippTrigger",
"popularity": .082
},
{
"id": "n8n-nodes-straker-verify.strakerVerify",
"popularity": .12
},
{
"id": "n8n-nodes-dart.dart",
"popularity": .249
},
{
"id": "n8n-nodes-gainium.Gainium",
"popularity": .279
},
{
"id": "n8n-nodes-base.vonageTool",
"popularity": .224
},
{
"id": "n8n-nodes-base.pushcutTrigger",
"popularity": .179
},
{
"id": "n8n-nodes-base.tapfiliate",
"popularity": .12
},
{
"id": "n8n-nodes-simplified.simplified",
"popularity": .155
},
{
"id": "n8n-nodes-base.venafiTlsProtectDatacenter",
"popularity": .145
},
{
"id": "n8n-nodes-base.twistTool",
"popularity": .12
},
{
"id": "n8n-nodes-apex.apex",
"popularity": .179
},
{
"id": "n8n-nodes-raia.raia",
"popularity": .145
},
{
"id": "n8n-nodes-outgrow.outgrowTrigger",
"popularity": .12
},
{
"id": "n8n-nodes-matrix42.matrix42",
"popularity": .082
},
{
"id": "n8n-nodes-understandtechchat.understandTechChat",
"popularity": .164
},
{
"id": "n8n-nodes-webmetic.webmetic",
"popularity": .082
},
{
"id": "n8n-nodes-base.travisCi",
"popularity": .082
},
{
"id": "n8n-nodes-base.beeminder",
"popularity": .155
},
{
"id": "n8n-nodes-base.theHiveTrigger",
"popularity": .145
},
{
"id": "n8n-nodes-base.salesmateTool",
"popularity": .179
},
{
"id": "n8n-nodes-base.uprocTool",
"popularity": .145
},
{
"id": "n8n-nodes-base.msg91Tool",
"popularity": .164
},
{
"id": "n8n-nodes-base.crowdDev",
"popularity": .164
},
{
"id": "n8n-nodes-base.onfleet",
"popularity": .164
},
{
"id": "@n8n/n8n-nodes-langchain.lmChatLemonade",
"popularity": .477
},
{
"id": "n8n-nodes-base.oracleDatabaseTool",
"popularity": .437
},
{
"id": "n8n-nodes-pdf4me.pdf4me",
"popularity": .155
},
{
"id": "n8n-nodes-base.vero",
"popularity": .164
},
{
"id": "n8n-nodes-base.onfleetTrigger",
"popularity": .134
},
{
"id": "n8n-nodes-base.keapTool",
"popularity": .134
},
{
"id": "n8n-nodes-signifycrm.signifyCrm",
"popularity": .052
},
{
"id": "n8n-nodes-base.profitWellTool",
"popularity": .103
},
{
"id": "n8n-nodes-zigpoll.zigpollTrigger",
"popularity": .103
},
{
"id": "n8n-nodes-base.dsSearchTool",
"popularity": .103
},
{
"id": "@geocapture/n8n-nodes-geocapture.geocapture",
"popularity": .185
},
{
"id": "n8n-nodes-base.copperTrigger",
"popularity": .145
},
{
"id": "@n8n/n8n-nodes-langchain.lmGooglePalm",
"popularity": 0
},
{
"id": "n8n-nodes-base.emeliaTrigger",
"popularity": .134
},
{
"id": "n8n-nodes-base.profitWell",
"popularity": .12
},
{
"id": "n8n-nodes-base.crewAiTool",
"popularity": 0
},
{
"id": "@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro",
"popularity": .231
},
{
"id": "n8n-nodes-base.twakeTool",
"popularity": .12
},
{
"id": "n8n-nodes-base.moceanTool",
"popularity": .134
},
{
"id": "n8n-nodes-referral-factory.referralFactory",
"popularity": .103
},
{
"id": "n8n-nodes-winston-ai.winstonAi",
"popularity": .134
},
{
"id": "n8n-nodes-jigsawstack.jigsawStack",
"popularity": .145
},
{
"id": "n8n-nodes-hookdeck.hookdeck",
"popularity": .052
},
{
"id": "n8n-nodes-base.linkedinNodeTool",
"popularity": .155
},
{
"id": "n8n-nodes-base.venafiTlsProtectCloudTrigger",
"popularity": .052
},
{
"id": "n8n-nodes-base.spontitTool",
"popularity": .052
},
{
"id": "n8n-nodes-base.jimengAiTool",
"popularity": 0
},
{
"id": "@orq-ai/n8n-nodes-orq.orqDeployment",
"popularity": .082
},
{
"id": "n8n-nodes-base.lingvaNexTool",
"popularity": .12
},
{
"id": "n8n-nodes-ikas.ikas",
"popularity": .12
},
{
"id": "n8n-nodes-reachkit.reachkit",
"popularity": .052
},
{
"id": "n8n-nodes-base.fortinetTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.kitemaker",
"popularity": .103
},
{
"id": "@n8n/n8n-nodes-langchain.openAiAssistant",
"popularity": 0
},
{
"id": "n8n-nodes-base.cron",
"popularity": 0
},
{
"id": "n8n-nodes-omnara.omnara",
"popularity": 0
},
{
"id": "n8n-nodes-base.arubaCentralv4Tool",
"popularity": 0
},
{
"id": "@droidrun/n8n-nodes-droidrun.droidrun",
"popularity": .082
},
{
"id": "n8n-nodes-base.writeBinaryFile",
"popularity": 0
},
{
"id": "n8n-nodes-base.aimsArticlesTool",
"popularity": 0
},
{
"id": "n8n-nodes-payfunnels.payfunnels",
"popularity": 0
},
{
"id": "n8n-nodes-base.spreadsheetFile",
"popularity": 0
},
{
"id": "n8n-nodes-base.wakebAipTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.workflowTrigger",
"popularity": 0
},
{
"id": "n8n-nodes-base.youTubeSearchTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.splunkFdjTool",
"popularity": 0
},
{
"id": "@n8n/n8n-nodes-langchain.toolHttpRequest",
"popularity": 0
},
{
"id": "n8n-nodes-base.loneScaleTrigger",
"popularity": 0
},
{
"id": "@thelifeofrishi/n8n-nodes-orshot.orshot",
"popularity": .256
},
{
"id": "@steuerboard/n8n-nodes-steuerboard.steuerboard",
"popularity": 0
},
{
"id": "n8n-nodes-base.function",
"popularity": 0
},
{
"id": "n8n-nodes-base.setTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.readPDF",
"popularity": 0
},
{
"id": "@n8n/n8n-nodes-langchain.vectorStoreSupabaseLoad",
"popularity": 0
},
{
"id": "n8n-nodes-base.olhoVivoTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.htmlExtract",
"popularity": 0
},
{
"id": "n8n-nodes-base.orbit",
"popularity": 0
},
{
"id": "n8n-nodes-base.tfusionGenerateTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.stickyNote",
"popularity": 0
},
{
"id": "@n8n/n8n-nodes-langchain.memoryChatRetriever",
"popularity": 0
},
{
"id": "n8n-nodes-base.comfyUITool",
"popularity": 0
},
{
"id": "n8n-nodes-targetare.targetareRo",
"popularity": 0
},
{
"id": "@n8n/n8n-nodes-langchain.lmOpenAi",
"popularity": 0
},
{
"id": "@n8n/n8n-nodes-langchain.lmChatGooglePalm",
"popularity": 0
},
{
"id": "n8n-nodes-base.libreNmsTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.wakebDvsTool",
"popularity": 0
},
{
"id": "@datafix/n8n-nodes-anthias.anthias",
"popularity": 0
},
{
"id": "n8n-nodes-base.odooCustomToolTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.customSshTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.e2eTest",
"popularity": 0
},
{
"id": "n8n-nodes-base.squareTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.mcpClientTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.influxDbTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.smsItTool",
"popularity": 0
},
{
"id": "@n8n/n8n-nodes-langchain.documentBinaryInputLoader",
"popularity": 0
},
{
"id": "n8n-nodes-base.crowdDevTrigger",
"popularity": 0
},
{
"id": "n8n-nodes-crossmint.crossmintWallets",
"popularity": .237
},
{
"id": "n8n-nodes-simla.simlaTrigger",
"popularity": .052
},
{
"id": "n8n-nodes-binalyze-air.air",
"popularity": .103
},
{
"id": "n8n-nodes-base.onfleetTool",
"popularity": .082
},
{
"id": "n8n-nodes-featherless.featherless",
"popularity": .191
},
{
"id": "n8n-nodes-base.loneScale",
"popularity": .082
},
{
"id": "n8n-nodes-base.veroTool",
"popularity": .145
},
{
"id": "@n8n/n8n-nodes-langchain.vectorStorePineconeLoad",
"popularity": 0
},
{
"id": "n8n-nodes-octagon.octagonAgents",
"popularity": .082
},
{
"id": "n8n-nodes-base.venafiTlsProtectCloud",
"popularity": .052
},
{
"id": "n8n-nodes-octavehq.octave",
"popularity": .155
},
{
"id": "n8n-nodes-base.cywareConnectorTool",
"popularity": 0
},
{
"id": "@n8n/n8n-nodes-langchain.vectorStorePineconeInsert",
"popularity": 0
},
{
"id": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"popularity": .758
},
{
"id": "@n8n/n8n-nodes-langchain.ollama",
"popularity": .727
},
{
"id": "@n8n/n8n-nodes-langchain.lmOllama",
"popularity": .674
},
{
"id": "@n8n/n8n-nodes-langchain.outputParserItemList",
"popularity": .705
},
{
"id": "@n8n/n8n-nodes-langchain.toolVectorStore",
"popularity": .658
},
{
"id": "@n8n/n8n-nodes-langchain.lmChatMistralCloud",
"popularity": .655
},
{
"id": "@elevenlabs/n8n-nodes-elevenlabs.elevenLabs",
"popularity": .639
},
{
"id": "@n8n/n8n-nodes-langchain.memoryMotorhead",
"popularity": .596
},
{
"id": "@pdfgeneratorapi/n8n-nodes-pdf-generator-api.pdfGeneratorApi",
"popularity": .524
},
{
"id": "n8n-nodes-base.oracleDatabase",
"popularity": .531
},
{
"id": "@n8n/n8n-nodes-langchain.vectorStoreRedis",
"popularity": .492
},
{
"id": "n8n-nodes-scrapingbee.ScrapingBee",
"popularity": .444
},
{
"id": "n8n-nodes-base.clickUpTool",
"popularity": .521
},
{
"id": "n8n-nodes-base.googleAnalyticsTool",
"popularity": .452
},
{
"id": "n8n-nodes-tallyforms.tallyTrigger",
"popularity": .445
},
{
"id": "n8n-nodes-base.googleFirebaseRealtimeDatabaseTool",
"popularity": .409
},
{
"id": "n8n-nodes-browseract.browserAct",
"popularity": .411
},
{
"id": "@n8n/n8n-nodes-langchain.embeddingsLemonade",
"popularity": .36
},
{
"id": "n8n-nodes-emailvalidation.emailValidation",
"popularity": .349
},
{
"id": "@razorpay/n8n-nodes-razorpay.razorpay",
"popularity": .374
},
{
"id": "n8n-nodes-verifiemail.verifiEmail",
"popularity": .303
},
{
"id": "n8n-nodes-base.googlePerspective",
"popularity": .243
},
{
"id": "@exploriumai/n8n-nodes-explorium-ai.exploriumApiNode",
"popularity": .306
},
{
"id": "n8n-nodes-human-in-the-loop.hitlNode",
"popularity": .24
},
{
"id": "n8n-nodes-infranodus.infranodus",
"popularity": .254
},
{
"id": "n8n-nodes-blank.githubIssues",
"popularity": .227
},
{
"id": "@xano/n8n-nodes-xano.xano",
"popularity": .287
},
{
"id": "@rogerrogerio/n8n-nodes-rogerroger.rogerRoger",
"popularity": 0
},
{
"id": "@lnkbio/n8n-nodes-lnkbio.lnkBio",
"popularity": .155
},
{
"id": "@nvoip/n8n-nodes-nvoip.nvoip",
"popularity": .145
},
{
"id": "n8n-nodes-nele-ai.neleAi",
"popularity": .265
},
{
"id": "n8n-nodes-base.mocean",
"popularity": .082
},
{
"id": "@socradar/n8n-nodes-socradar.socradar",
"popularity": .052
},
{
"id": "@n8n/n8n-nodes-langchain.documentJsonInputLoader",
"popularity": 0
},
{
"id": "n8n-nodes-base.upGuardTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.manualTrigger",
"popularity": .994
},
{
"id": "n8n-nodes-htmlcsstopdf.htmlcsstopdf",
"popularity": .55
},
{
"id": "n8n-nodes-base.microsoftOneDriveTrigger",
"popularity": .558
},
{
"id": "n8n-nodes-google-search-console.googleSearchConsole",
"popularity": .453
},
{
"id": "n8n-nodes-base.freshdesk",
"popularity": .467
},
{
"id": "n8n-nodes-pdfmonkey.pdfMonkey",
"popularity": .417
},
{
"id": "n8n-nodes-olostep.olostepScrape",
"popularity": .394
},
{
"id": "@promptlayer/n8n-nodes-promptlayer-runagent.promptLayerRunAgent",
"popularity": .366
},
{
"id": "n8n-nodes-llmlayer.llmLayer",
"popularity": .345
},
{
"id": "n8n-nodes-sourcegeek.sourcegeek",
"popularity": .326
},
{
"id": "@respond-io/n8n-nodes-respond-io.respondio",
"popularity": .422
},
{
"id": "@servicem8/n8n-nodes-servicem8.serviceM8",
"popularity": .433
},
{
"id": "@easysoftware/n8n-nodes-easy-redmine.easyRedmine",
"popularity": .317
},
{
"id": "n8n-nodes-base.peekalinkTool",
"popularity": .261
},
{
"id": "n8n-nodes-csvbox.csvboxTrigger",
"popularity": .24
},
{
"id": "@reportei/n8n-nodes-reportei.reportei",
"popularity": .249
},
{
"id": "n8n-nodes-dumplingai.dumplingAi",
"popularity": .224
},
{
"id": "@deutschlandgpt/n8n-nodes-deutschlandgpt.deutschlandgpt",
"popularity": .211
},
{
"id": "@decisionrules/n8n-nodes-decisionrules.decisionRules",
"popularity": .202
},
{
"id": "@infobip/n8n-nodes-infobip-api.infobipApi",
"popularity": .207
},
{
"id": "n8n-nodes-meetgeek.meetGeek",
"popularity": .224
},
{
"id": "n8n-nodes-memara.memara",
"popularity": .172
},
{
"id": "@ledgers/n8n-nodes-ledgers-cloud.ledgers",
"popularity": .052
},
{
"id": "n8n-nodes-base.twake",
"popularity": .082
},
{
"id": "n8n-nodes-base.onlyofficeTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.waitTool",
"popularity": .052
},
{
"id": "n8n-nodes-telli.telli",
"popularity": .082
},
{
"id": "n8n-nodes-base.playwrightPageTool",
"popularity": 0
},
{
"id": "n8n-nodes-sinergiacrm.sinergiaCrm",
"popularity": .082
},
{
"id": "n8n-nodes-phacet-official.phacet",
"popularity": 0
},
{
"id": "n8n-nodes-base.arubaCentralNextGenTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.functionItem",
"popularity": 0
},
{
"id": "@n8n/n8n-nodes-langchain.vectorStoreZepInsert",
"popularity": 0
},
{
"id": "n8n-nodes-base.interval",
"popularity": 0
},
{
"id": "n8n-nodes-hubbi.hubbi",
"popularity": 0
},
{
"id": "n8n-nodes-base.arubaCentralTool",
"popularity": 0
},
{
"id": "@n8n/n8n-nodes-langchain.vectorStoreInMemoryLoad",
"popularity": 0
},
{
"id": "n8n-nodes-base.coachLmsTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.hapTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.aimsTokenGenTool",
"popularity": 0
},
{
"id": "n8n-nodes-base.zohoCalendarTool",
"popularity": 0
},
{
"id": "@n8n/n8n-nodes-langchain.memoryZep",
"popularity": 0
}
];
var import_difference = /* @__PURE__ */ __toESM(require_difference());
var nodePopularityMap = Object.values(__virtual_node_popularity_data_default).reduce((acc, node) => {
return {
...acc,
[node.id]: node.popularity * 100
};
}, {});
const useViewStacks = defineStore("nodeCreatorViewStacks", () => {
const nodeCreatorStore = useNodeCreatorStore();
const { getActiveItemIndex } = useKeyboardNavigation();
const i18n = useI18n();
const settingsStore = useSettingsStore();
const viewStacks = ref([]);
const activeStackItems = computed(() => {
const stack = getLastActiveStack();
if (!stack?.baselineItems) return stack.items ? finalizeItems(stack.items) : [];
if (stack.search && searchBaseItems.value) {
let searchBase = searchBaseItems.value;
const canvasHasAINodes = useCanvasStore().aiNodes.length > 0;
if (searchBaseItems.value.length === 0) searchBase = flattenCreateElements(stack.baselineItems ?? []);
if (!(isAiRootView(stack) || canvasHasAINodes) || ["plus_endpoint", "node_connection_drop"].includes(nodeCreatorStore.openSource) && !isAiSubcategoryView(stack)) searchBase = filterOutAiNodes(searchBase);
const searchResults = finalizeItems(searchNodes(stack.search || "", searchBase, { popularity: nodePopularityMap }));
const groupedNodes = groupIfAiNodes(searchResults, stack.title, false) ?? searchResults;
stack.activeIndex = groupedNodes.some((node) => node.type === "section") ? 1 : 0;
return groupedNodes;
}
return finalizeItems(groupIfAiNodes(stack.baselineItems, stack.title, true));
});
const activeViewStack = computed(() => {
const stack = getLastActiveStack();
if (!stack) return {};
const flatBaselineItems = flattenCreateElements(stack.baselineItems ?? []);
return {
...stack,
items: activeStackItems.value,
hasSearch: flatBaselineItems.length > 8 || stack?.hasSearch
};
});
const activeViewStackMode = computed(() => activeViewStack.value.mode ?? "Trigger");
const searchBaseItems = computed(() => {
const stack = getLastActiveStack();
if (!stack?.searchItems) return [];
return stack.searchItems.map((item) => transformNodeType(item, stack.subcategory));
});
function isAiSubcategoryView(stack) {
return stack.rootView === AI_OTHERS_NODE_CREATOR_VIEW;
}
function getLastActiveStack() {
return viewStacks.value[viewStacks.value.length - 1];
}
function getAllNodeCreateElements() {
return nodeCreatorStore.mergedNodes.map((item) => transformNodeType(item));
}
const globalSearchItemsDiff = computed(() => {
const stack = getLastActiveStack();
if (!stack?.search || isAiSubcategoryView(stack)) return [];
const allNodes = getAllNodeCreateElements();
const filteredNodes = isAiRootView(stack) ? allNodes : filterOutAiNodes(allNodes);
let globalSearchResult = finalizeItems(searchNodes(stack.search || "", filteredNodes, { popularity: nodePopularityMap }));
if (isAiRootView(stack)) globalSearchResult = groupIfAiNodes(globalSearchResult, stack.title, false);
return globalSearchResult.filter((item) => {
return !activeStackItems.value.find((activeItem) => {
if (activeItem.type === "section") return activeItem.children.some((sectionItem) => sectionItem.key === item.key);
return activeItem.key === item.key;
});
}).filter((item) => {
if (item.type === "section") return item.children.some((child) => activeStackItems.value.some((filteredItem) => filteredItem.key === child.key));
return true;
});
});
const itemsBySubcategory = computed(() => subcategorizeItems(nodeCreatorStore.mergedNodes));
function isAiRootView(stack) {
return stack.rootView === "AI";
}
function filterAiRootNodes(items) {
return items.filter((node) => {
if (node.type !== "node") return false;
const subcategories = node.properties.codex?.subcategories?.["AI"] ?? [];
return subcategories.includes("Root Nodes") && !subcategories?.includes("Tools");
});
}
function groupIfAiNodes(items, stackCategory, sortAlphabetically) {
const aiNodes = items.filter((node) => isAINode(node));
const canvasHasAINodes = useCanvasStore().aiNodes.length > 0;
const isVectorStoresCategory = stackCategory === AI_CATEGORY_VECTOR_STORES;
if (aiNodes.length > 0 && (canvasHasAINodes || isAiRootView(getLastActiveStack()) || isVectorStoresCategory)) {
const sectionsMap = /* @__PURE__ */ new Map();
const aiRootNodes = filterAiRootNodes(aiNodes);
const aiSubNodes = (0, import_difference.default)(aiNodes, aiRootNodes);
aiSubNodes.forEach((node) => {
const subcategories = node.properties.codex?.subcategories ?? {};
const section = subcategories["AI"]?.[0];
if (section) {
const subSection = section === "Vector Stores" && stackCategory === "Tools" ? void 0 : subcategories[section]?.[0];
const sectionKey = subSection ?? section;
const currentItems = sectionsMap.get(sectionKey)?.items ?? [];
const isSubnodesSection = !(subcategories["AI"].includes("Root Nodes") || subcategories["AI"].includes("Model Context Protocol"));
let title = section;
if (isSubnodesSection) title = `${section} (${i18n.baseText("nodeCreator.subnodes")})`;
if (subSection) title = subSection;
sectionsMap.set(sectionKey, {
key: sectionKey,
title,
items: [...currentItems, node.key]
});
}
});
const nonAiNodes = (0, import_difference.default)(items, aiNodes);
const sections = Array.from(sectionsMap.values());
return [
...nonAiNodes,
...aiRootNodes,
...groupItemsInSections(aiSubNodes, sections, sortAlphabetically)
];
}
return items;
}
function filterOutAiNodes(items) {
return items.filter((item) => {
if (item.type === "node") {
if (!(item.properties.codex?.categories?.includes("AI") === true)) return true;
return item.properties.codex?.subcategories?.["AI"]?.includes(AI_CATEGORY_ROOT_NODES);
}
return true;
});
}
async function gotoCompatibleConnectionView(connectionType, isOutput, filter) {
let nodesByConnectionType;
let relatedAIView;
if (isOutput === true) {
nodesByConnectionType = useNodeTypesStore().visibleNodeTypesByInputConnectionTypeNames;
relatedAIView = { properties: {
title: i18n.baseText("nodeCreator.aiPanel.aiNodes"),
icon: "robot"
} };
} else {
nodesByConnectionType = useNodeTypesStore().visibleNodeTypesByOutputConnectionTypeNames;
relatedAIView = AINodesView([]).items.find((item) => item.properties.connectionType === connectionType);
}
let extendedInfo = {};
if (!filter?.nodes?.length && relatedAIView?.properties.info) extendedInfo = { info: relatedAIView?.properties.info };
await nextTick();
const iconName = getThemedValue(relatedAIView?.properties.icon, useUIStore().appliedTheme);
pushViewStack({
title: relatedAIView?.properties.title,
...extendedInfo,
rootView: AI_OTHERS_NODE_CREATOR_VIEW,
mode: "nodes",
items: nodeCreatorStore.allNodeCreatorNodes,
nodeIcon: iconName ? {
type: "icon",
name: iconName,
color: relatedAIView?.properties.iconProps?.color
} : void 0,
panelClass: relatedAIView?.properties.panelClass,
baseFilter: (i) => {
if (i.key === "@n8n/n8n-nodes-langchain.code") return false;
const displayNode = nodesByConnectionType[connectionType].includes(i.key);
if (displayNode && filter?.nodes?.length) return filter.nodes.includes(i.key);
if (displayNode && filter?.excludedNodes?.length) return !filter.excludedNodes.includes(i.key);
return displayNode;
},
itemsMapper(item) {
return {
...item,
subcategory: connectionType
};
},
actionsFilter: (items) => {
if (items.some((item) => item.outputConnectionType)) return items.filter((item) => item.outputConnectionType === connectionType);
return items;
},
hideActions: true,
preventBack: true
}, { resetStacks: true });
}
function setStackBaselineItems() {
const stack = getLastActiveStack();
if (!stack || !activeViewStack.value.uuid) return;
let stackItems = stack?.items ?? [];
if (!stack?.items) {
const subcategory = stack?.subcategory ?? "*";
let itemsInSubcategory = itemsBySubcategory.value[subcategory];
if (!settingsStore.isAskAiEnabled) itemsInSubcategory = itemsInSubcategory.filter((item) => item.key !== AI_TRANSFORM_NODE_TYPE);
const sections = stack.sections;
if (sections) stackItems = groupItemsInSections(itemsInSubcategory, sections);
else stackItems = itemsInSubcategory;
}
if ((stack.forceIncludeNodes ?? []).length > 0) {
const matchedNodes = nodeCreatorStore.mergedNodes.filter((item) => stack.forceIncludeNodes?.includes(item.name)).map((item) => transformNodeType(item, stack.subcategory));
stackItems.push(...matchedNodes);
}
if (stack.baseFilter) stackItems = stackItems.filter(stack.baseFilter);
if (stack.itemsMapper) stackItems = stackItems.map(stack.itemsMapper);
if (!stack.items) stackItems = sortNodeCreateElements(stackItems);
updateCurrentViewStack({ baselineItems: stackItems });
}
function pushViewStack(stack, options = {}) {
if (options.resetStacks) resetViewStacks();
if (activeViewStack.value.uuid) updateCurrentViewStack({ activeIndex: getActiveItemIndex() });
const newStackUuid = v4_default();
viewStacks.value.push({
...stack,
uuid: newStackUuid,
transitionDirection: options.transitionDirection ?? "in",
activeIndex: 0
});
setStackBaselineItems();
}
function popViewStack() {
if (activeViewStack.value.uuid) {
viewStacks.value.pop();
updateCurrentViewStack({ transitionDirection: "out" });
}
}
function updateCurrentViewStack(stack) {
const currentStack = getLastActiveStack();
const matchedIndex = viewStacks.value.findIndex((s) => s.uuid === currentStack.uuid);
if (!currentStack) return;
Object.keys(stack).forEach((key) => {
const typedKey = key;
viewStacks.value[matchedIndex] = {
...viewStacks.value[matchedIndex],
[key]: stack[typedKey]
};
});
}
function resetViewStacks() {
viewStacks.value = [];
}
return {
viewStacks,
activeViewStack,
activeViewStackMode,
globalSearchItemsDiff,
isAiSubcategoryView,
gotoCompatibleConnectionView,
resetViewStacks,
updateCurrentViewStack,
pushViewStack,
popViewStack,
getAllNodeCreateElements
};
});
function mapLegacyConnectionsToCanvasConnections(legacyConnections, nodes) {
const mappedConnections = [];
Object.keys(legacyConnections).forEach((fromNodeName) => {
const fromId = nodes.find((node) => node.name === fromNodeName)?.id ?? "";
Object.keys(legacyConnections[fromNodeName]).forEach((fromConnectionType) => {
legacyConnections[fromNodeName][fromConnectionType]?.forEach((toPorts, fromIndex) => {
toPorts?.forEach((toPort) => {
const toNodeName = toPort.node;
const toId = nodes.find((node) => node.name === toNodeName)?.id ?? "";
const toConnectionType = toPort.type;
const toIndex = toPort.index;
const sourceHandle = createCanvasConnectionHandleString({
mode: CanvasConnectionMode.Output,
type: fromConnectionType,
index: fromIndex
});
const targetHandle = createCanvasConnectionHandleString({
mode: CanvasConnectionMode.Input,
type: toConnectionType,
index: toIndex
});
const connectionId = createCanvasConnectionId({
source: fromId,
sourceHandle,
target: toId,
targetHandle
});
if (fromId && toId) mappedConnections.push({
id: connectionId,
source: fromId,
target: toId,
sourceHandle,
targetHandle,
data: {
source: {
node: fromNodeName,
index: fromIndex,
type: fromConnectionType
},
target: {
node: toNodeName,
index: toIndex,
type: toConnectionType
}
}
});
});
});
});
});
return mappedConnections;
}
function mapLegacyConnectionToCanvasConnection(sourceNode, targetNode, legacyConnection) {
return {
source: sourceNode.id,
sourceHandle: createCanvasConnectionHandleString({
mode: CanvasConnectionMode.Output,
type: legacyConnection[0].type,
index: legacyConnection[0].index
}),
target: targetNode.id,
targetHandle: createCanvasConnectionHandleString({
mode: CanvasConnectionMode.Input,
type: legacyConnection[1].type,
index: legacyConnection[1].index
})
};
}
function parseCanvasConnectionHandleString(handle) {
const [mode, type, index] = (handle ?? "").split("/");
const resolvedMode = isValidCanvasConnectionMode(mode) ? mode : CanvasConnectionMode.Output;
const resolvedType = isValidNodeConnectionType(type) ? type : NodeConnectionTypes.Main;
let resolvedIndex = parseInt(index, 10);
if (isNaN(resolvedIndex)) resolvedIndex = 0;
return {
mode: resolvedMode,
type: resolvedType,
index: resolvedIndex
};
}
function createCanvasConnectionHandleString({ mode, type = NodeConnectionTypes.Main, index = 0 }) {
return `${mode}/${type}/${index}`;
}
function createCanvasConnectionId(connection) {
return `[${connection.source}/${connection.sourceHandle}][${connection.target}/${connection.targetHandle}]`;
}
function mapCanvasConnectionToLegacyConnection(sourceNode, targetNode, connection) {
const sourceNodeName = sourceNode?.name ?? "";
const { type: sourceType, index: sourceIndex } = parseCanvasConnectionHandleString(connection.sourceHandle);
const targetNodeName = targetNode?.name ?? "";
const { type: targetType, index: targetIndex } = parseCanvasConnectionHandleString(connection.targetHandle);
return [{
node: sourceNodeName,
type: sourceType,
index: sourceIndex
}, {
node: targetNodeName,
type: targetType,
index: targetIndex
}];
}
function mapLegacyEndpointsToCanvasConnectionPort(endpoints, endpointNames = []) {
if (typeof endpoints === "string") {
console.warn("Node endpoints have not been evaluated", endpoints);
return [];
}
return endpoints.map((endpoint, endpointIndex) => {
const typeValue = typeof endpoint === "string" ? endpoint : endpoint.type;
const type = isValidNodeConnectionType(typeValue) ? typeValue : NodeConnectionTypes.Main;
const label = typeof endpoint === "string" ? endpointNames[endpointIndex] : endpoint.displayName;
const index = endpoints.slice(0, endpointIndex + 1).filter((e) => (typeof e === "string" ? e : e.type) === type).length - 1;
const required = typeof endpoint === "string" ? false : endpoint.required;
const maxConnections = typeof endpoint === "string" ? void 0 : endpoint.maxConnections;
return {
type,
index,
label,
...maxConnections ? { maxConnections } : {},
...required ? { required } : {}
};
});
}
function checkOverlap(node1, node2) {
return !(node1.x + node1.width <= node2.x || node2.x + node2.width <= node1.x || node1.y + node1.height <= node2.y || node2.y + node2.height <= node1.y);
}
function insertSpacersBetweenEndpoints(endpoints, requiredEndpointsCount = 0) {
const endpointsWithSpacers = [...endpoints];
const optionalNonMainInputsCount = endpointsWithSpacers.length - requiredEndpointsCount;
const spacerCount = 4 - requiredEndpointsCount - optionalNonMainInputsCount;
if (endpointsWithSpacers.length < 4) for (let i = 0; i < spacerCount; i++) endpointsWithSpacers.splice(requiredEndpointsCount + i, 0, null);
return endpointsWithSpacers;
}
function shouldIgnoreCanvasShortcut(el) {
return ["INPUT", "TEXTAREA"].includes(el.tagName) || el.closest("[contenteditable]") !== null || el.closest(".ignore-key-press-canvas") !== null;
}
var import_get = /* @__PURE__ */ __toESM(require_get());
const useNodeCreatorStore = defineStore(STORES.NODE_CREATOR, () => {
const workflowsStore = useWorkflowsStore();
const ndvStore = useNDVStore();
const uiStore = useUIStore();
const nodeTypesStore = useNodeTypesStore();
const telemetry = useTelemetry();
const externalHooks = useExternalHooks();
const selectedView = ref(TRIGGER_NODE_CREATOR_VIEW);
const mergedNodes = ref([]);
const actions = ref({});
const showScrim = ref(false);
const openSource = ref("");
const isCreateNodeActive = ref(false);
const nodePanelSessionId = ref("");
const allNodeCreatorNodes = computed(() => Object.values(mergedNodes.value).map((i) => transformNodeType(i)));
const workflowObject = computed(() => workflowsStore.workflowObject);
function setMergeNodes(nodes) {
mergedNodes.value = nodes;
}
function removeNodeFromMergedNodes(nodeName) {
mergedNodes.value = mergedNodes.value.filter((n) => n.name !== nodeName);
}
function setActions(nodes) {
actions.value = nodes;
}
function setShowScrim(isVisible) {
showScrim.value = isVisible;
}
function setSelectedView(view) {
selectedView.value = view;
}
function setOpenSource(view) {
openSource.value = view;
}
function openSelectiveNodeCreator({ connectionType, node, creatorView, connectionIndex = 0 }) {
const nodeName = node ?? ndvStore.activeNodeName;
const nodeData = nodeName ? workflowsStore.getNodeByName(nodeName) : null;
ndvStore.unsetActiveNodeName();
setTimeout(() => {
if (creatorView) setNodeCreatorState({
createNodeActive: true,
nodeCreatorView: creatorView,
connectionType
});
else if (connectionType && nodeData) openNodeCreatorForConnectingNode({
connection: {
source: nodeData.id,
sourceHandle: createCanvasConnectionHandleString({
mode: "inputs",
type: connectionType,
index: connectionIndex
})
},
eventSource: NODE_CREATOR_OPEN_SOURCES.NOTICE_ERROR_MESSAGE
});
});
}
function setNodeCreatorState({ source, createNodeActive, nodeCreatorView, connectionType }) {
if (!nodeCreatorView) nodeCreatorView = workflowsStore.workflowTriggerNodes.length > 0 ? REGULAR_NODE_CREATOR_VIEW : TRIGGER_NODE_CREATOR_VIEW;
setSelectedView(nodeCreatorView);
isCreateNodeActive.value = createNodeActive;
if (createNodeActive && source) setOpenSource(source);
externalHooks.run("nodeView.createNodeActiveChanged", {
source,
mode: getMode(nodeCreatorView),
connectionType,
createNodeActive
});
if (createNodeActive) onCreatorOpened({
source,
mode: getMode(nodeCreatorView),
connectionType,
workflow_id: workflowsStore.workflowId
});
}
function openNodeCreatorForConnectingNode({ connection, eventSource, nodeCreatorView }) {
const sourceNode = workflowsStore.getNodeById(connection.source);
if (!sourceNode) return;
const { type, mode } = parseCanvasConnectionHandleString(connection.sourceHandle);
uiStore.lastSelectedNode = sourceNode.name;
if (isVueFlowConnection(connection)) uiStore.lastInteractedWithNodeConnection = connection;
uiStore.lastInteractedWithNodeHandle = connection.sourceHandle ?? null;
uiStore.lastInteractedWithNodeId = sourceNode.id;
const isOutput = mode === CanvasConnectionMode.Output;
const isScopedConnection = type !== NodeConnectionTypes.Main;
setNodeCreatorState({
source: eventSource,
createNodeActive: true,
nodeCreatorView: isScopedConnection ? AI_UNCATEGORIZED_CATEGORY : nodeCreatorView,
connectionType: type
});
if (isScopedConnection) useViewStacks().gotoCompatibleConnectionView(type, isOutput, getNodeCreatorFilter(sourceNode.name, type)).catch(() => {});
}
async function openNodeCreatorWithNode(nodeName) {
const nodeData = nodeName ? workflowsStore.getNodeByName(nodeName) : null;
if (!nodeData) return;
ndvStore.unsetActiveNodeName();
const nodeType = nodeTypesStore.getNodeType(nodeData?.type) ?? nodeTypesStore.communityNodeType(nodeData?.type)?.nodeDescription;
if (!nodeType) return;
setNodeCreatorState({ createNodeActive: true });
await nextTick();
const nodeActions = actions.value[nodeType.name];
const viewStack = prepareCommunityNodeDetailsViewStack({
key: nodeType.name,
properties: nodeType,
type: "node",
subcategory: "*"
}, getNodeIconSource(nodeType.name), "Regular", nodeActions ?? []);
useViewStacks().pushViewStack(viewStack, { resetStacks: true });
}
function openNodeCreatorForTriggerNodes(source) {
ndvStore.unsetActiveNodeName();
setSelectedView(TRIGGER_NODE_CREATOR_VIEW);
setShowScrim(true);
setNodeCreatorState({
source,
createNodeActive: true,
nodeCreatorView: TRIGGER_NODE_CREATOR_VIEW
});
}
function openNodeCreatorForRegularNodes(source) {
ndvStore.unsetActiveNodeName();
setSelectedView(REGULAR_NODE_CREATOR_VIEW);
setShowScrim(true);
setNodeCreatorState({
source,
createNodeActive: true,
nodeCreatorView: REGULAR_NODE_CREATOR_VIEW
});
}
function openNodeCreatorForActions(node, eventSource) {
const actionNode = allNodeCreatorNodes.value.find((i) => i.key === node);
if (!actionNode) return;
const transformedActions = actions.value[actionNode.key]?.map((a) => transformNodeType(a, actionNode.properties.displayName, "action"));
ndvStore.unsetActiveNodeName();
setSelectedView(REGULAR_NODE_CREATOR_VIEW);
setNodeCreatorState({
source: eventSource,
createNodeActive: true,
nodeCreatorView: REGULAR_NODE_CREATOR_VIEW
});
setTimeout(() => {
useViewStacks().pushViewStack({
subcategory: "*",
title: actionNode.properties.displayName,
nodeIcon: {
type: "icon",
name: "check-check"
},
rootView: "Regular",
mode: "actions",
items: transformedActions
}, { resetStacks: true });
});
}
function getNodeCreatorFilter(nodeName, outputType) {
let filter;
const workflowNode = workflowObject.value.getNode(nodeName);
if (!workflowNode) return { nodes: [] };
const nodeType = nodeTypesStore.getNodeType(workflowNode?.type, workflowNode.typeVersion) ?? nodeTypesStore.communityNodeType(workflowNode?.type)?.nodeDescription;
if (nodeType) {
const filterFound = getNodeInputs(workflowObject.value, workflowNode, nodeType).filter((input) => {
if (typeof input === "string" || input.type !== outputType || !input.filter) return false;
return true;
});
if (filterFound.length) filter = filterFound[0].filter;
}
return filter;
}
function resetNodesPanelSession() {
nodePanelSessionId.value = `nodes_panel_session_${(/* @__PURE__ */ new Date()).valueOf()}`;
}
function trackNodeCreatorEvent(event, properties = {}) {
telemetry.track(event, {
...properties,
nodes_panel_session_id: nodePanelSessionId.value
});
}
function onCreatorOpened({ source, mode, connectionType, workflow_id }) {
resetNodesPanelSession();
trackNodeCreatorEvent("User opened nodes panel", {
source,
mode,
connectionType,
workflow_id
});
}
function onNodeFilterChanged({ newValue, filteredNodes, filterMode, subcategory, title }) {
if (!newValue.length) return;
const { results_count, trigger_count, regular_count, community_count } = filteredNodes.reduce((accu, node) => {
if (!("properties" in node)) return accu;
if ("actionKey" in node.properties && node.properties.actionKey === "__CUSTOM_API_CALL__") return accu;
const isTrigger = node.key.includes("Trigger");
const nodeName = (0, import_get.default)(node, "properties.name", null);
const isCommunityNode = nodeName && isCommunityPackageName(nodeName);
return {
results_count: accu.results_count + 1,
trigger_count: accu.trigger_count + (isTrigger ? 1 : 0),
regular_count: accu.regular_count + (isTrigger ? 0 : 1),
community_count: accu.community_count + (isCommunityNode ? 1 : 0)
};
}, {
results_count: 0,
trigger_count: 0,
regular_count: 0,
community_count: 0
});
trackNodeCreatorEvent("User entered nodes panel search term", {
search_string: newValue,
filter_mode: getMode(filterMode),
category_name: subcategory,
results_count,
trigger_count,
regular_count,
community_count,
title
});
}
function onCategoryExpanded(properties) {
trackNodeCreatorEvent("User viewed node category", {
...properties,
is_subcategory: false
});
}
function onViewActions(properties) {
trackNodeCreatorEvent("User viewed node actions", properties);
}
function onActionsCustomAPIClicked(properties) {
trackNodeCreatorEvent("User clicked custom API from node actions", properties);
}
function onSubcategorySelected(properties) {
trackNodeCreatorEvent("User viewed node category", {
category_name: properties.subcategory,
is_subcategory: true
});
}
function onNodeAddedToCanvas(properties) {
trackNodeCreatorEvent("User added node to workflow canvas", properties);
}
function getMode(mode) {
if (mode === "AI" || mode === "AI Other") return "ai";
if (mode === "Trigger") return "trigger";
return "regular";
}
return {
isCreateNodeActive,
openSource,
selectedView,
showScrim,
mergedNodes,
actions,
allNodeCreatorNodes,
setShowScrim,
setSelectedView,
setOpenSource,
setActions,
setMergeNodes,
removeNodeFromMergedNodes,
setNodeCreatorState,
openSelectiveNodeCreator,
openNodeCreatorForConnectingNode,
openNodeCreatorForTriggerNodes,
openNodeCreatorForRegularNodes,
openNodeCreatorForActions,
onCreatorOpened,
onNodeFilterChanged,
onCategoryExpanded,
onActionsCustomAPIClicked,
onViewActions,
onSubcategorySelected,
onNodeAddedToCanvas,
openNodeCreatorWithNode
};
});
export { useCalloutHelpers as _, mapCanvasConnectionToLegacyConnection as a, mapLegacyEndpointsToCanvasConnectionPort as c, useViewStacks as d, useKeyboardNavigation as f, TriggerView as g, RegularView as h, insertSpacersBetweenEndpoints as i, parseCanvasConnectionHandleString as l, AIView as m, checkOverlap as n, mapLegacyConnectionToCanvasConnection as o, AINodesView as p, createCanvasConnectionHandleString as r, mapLegacyConnectionsToCanvasConnections as s, useNodeCreatorStore as t, shouldIgnoreCanvasShortcut as u, require_camelCase as v, require_capitalize as y };