MCPcopy
hub / github.com/Zie619/n8n-workflows / analyze_nodes

Method analyze_nodes

workflow_db.py:223–405  ·  view source on GitHub ↗

Analyze nodes to determine trigger type and integrations.

(self, nodes: List[Dict])

Source from the content-addressed store, hash-verified

221 return workflow
222
223 def analyze_nodes(self, nodes: List[Dict]) -> Tuple[str, set]:
224 """Analyze nodes to determine trigger type and integrations."""
225 trigger_type = "Manual"
226 integrations = set()
227
228 # Enhanced service mapping for better recognition
229 service_mappings = {
230 # Messaging & Communication
231 "telegram": "Telegram",
232 "telegramTrigger": "Telegram",
233 "discord": "Discord",
234 "slack": "Slack",
235 "whatsapp": "WhatsApp",
236 "mattermost": "Mattermost",
237 "teams": "Microsoft Teams",
238 "rocketchat": "Rocket.Chat",
239 # Email
240 "gmail": "Gmail",
241 "mailjet": "Mailjet",
242 "emailreadimap": "Email (IMAP)",
243 "emailsendsmt": "Email (SMTP)",
244 "outlook": "Outlook",
245 # Cloud Storage
246 "googledrive": "Google Drive",
247 "googledocs": "Google Docs",
248 "googlesheets": "Google Sheets",
249 "dropbox": "Dropbox",
250 "onedrive": "OneDrive",
251 "box": "Box",
252 # Databases
253 "postgres": "PostgreSQL",
254 "mysql": "MySQL",
255 "mongodb": "MongoDB",
256 "redis": "Redis",
257 "airtable": "Airtable",
258 "notion": "Notion",
259 # Project Management
260 "jira": "Jira",
261 "github": "GitHub",
262 "gitlab": "GitLab",
263 "trello": "Trello",
264 "asana": "Asana",
265 "mondaycom": "Monday.com",
266 # AI/ML Services
267 "openai": "OpenAI",
268 "anthropic": "Anthropic",
269 "huggingface": "Hugging Face",
270 # Social Media
271 "linkedin": "LinkedIn",
272 "twitter": "Twitter/X",
273 "facebook": "Facebook",
274 "instagram": "Instagram",
275 # E-commerce
276 "shopify": "Shopify",
277 "stripe": "Stripe",
278 "paypal": "PayPal",
279 # Analytics
280 "googleanalytics": "Google Analytics",

Callers 1

analyze_workflow_fileMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected