From 1877baf9f9e9225f93e82ca222aaff2e26fddd76 Mon Sep 17 00:00:00 2001 From: Cody Arnold Date: Wed, 6 May 2026 21:20:12 -0400 Subject: [PATCH 1/2] docs(workflow-patterns): add n8n error monitoring pattern doc Migrated 2026-05-06 from the legacy ~/.claude/docs/ shelf with prepended provenance header. Cross-references the existing voice-agent-elevenlabs-patterns.md and n8n project's AGENTS.md governance rules. Lives in workflow-patterns/ (alongside other prescriptive how-to docs) rather than technical-research/ (which holds system-schema JSON). Co-Authored-By: Claude Opus 4.7 (1M context) --- workflow-patterns/n8n-error-monitoring.md | 47 +++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 workflow-patterns/n8n-error-monitoring.md diff --git a/workflow-patterns/n8n-error-monitoring.md b/workflow-patterns/n8n-error-monitoring.md new file mode 100644 index 0000000..cacea0c --- /dev/null +++ b/workflow-patterns/n8n-error-monitoring.md @@ -0,0 +1,47 @@ +> Pattern: cross-workflow error handling and alerting in n8n. +> Source: migrated 2026-05-06 from the legacy `~/.claude/docs/` shelf. +> Pairs with: `workflow-patterns/voice-agent-elevenlabs-patterns.md` (when voice agents need to surface errors) and the n8n governance rules in `~/projects/n8n/AGENTS.md`. + +# n8n Error Monitoring Framework + +This framework provides a standardized way to monitor and alert on n8n workflow failures. + +## Components + +1. **Error Handler Workflow**: A dedicated workflow (`templates/n8n/error-handler-framework.json`) that processes errors and sends notifications. +2. **Notification Channels**: Pre-configured (but disabled) nodes for Slack and Email. +3. **Global Configuration**: How to attach this handler to any workflow. + +## Installation + +### 1. Import the Error Handler +- In n8n, create a new workflow. +- Click the three dots menu (top right) and select **Import from File**. +- Select `templates/n8n/error-handler-framework.json`. +- Enable the notification nodes you want to use (Slack, Email, etc.) and configure their credentials. +- **Save and Activate** the workflow. Take note of the Workflow ID. + +### 2. Attach to Other Workflows +To monitor a workflow, you must specify the Error Handler in its settings: + +1. Open the workflow you want to monitor. +2. Open **Settings** (gear icon in the left sidebar). +3. In the **Error Workflow** dropdown, select the "Global Error Handler Framework" you just created. +4. Save the workflow. + +## Best Practices + +- **Centralization**: Use ONE error handler workflow for all your production workflows. This makes it easy to update notification logic (e.g., switching from Slack to PagerDuty) in one place. +- **Environment Context**: The framework uses `process.env.N8N_BASE_URL` to generate execution links. Ensure this environment variable is set in your n8n instance. +- **Execution ID**: Always include the Execution ID in alerts to allow for quick debugging in the n8n UI. + +## Adding Custom Logging +You can extend the "Format Error Message" node to log errors to a database or n8n Data Table for long-term auditing and error-rate analysis. + +## Cloudflare Pages Error Monitoring + +If you are using Cloudflare Pages Functions (like `functions/api/leads.ts`), you should also monitor their health: + +1. **Analytics**: Monitor the `/api/leads` error rates in the Cloudflare Pages dashboard under the **Analytics** tab. Look for spikes in 5xx errors. +2. **Sentry/Logflare Integration**: For real-time alerting on Cloudflare failures, consider adding a logging middleware to your Pages functions that sends errors to Sentry or a webhook. +3. **Webhook to n8n**: You can have your Cloudflare function `catch` errors and `POST` them to an n8n webhook node, which then routes through the same Global Error Handler workflow. From b92fa6940f93c2cecb17bf5fa36a4377a5644ec1 Mon Sep 17 00:00:00 2001 From: Cody Arnold Date: Wed, 13 May 2026 00:02:51 -0400 Subject: [PATCH 2/2] wip: autosync .gitignore,technical-research/accounting-inventory.json,technical-research/accounting.json Wip-Owner: autosync/local Wip-Base: main Wip-Run: 86cc0892-10d3-4c40-b3de-b3c090ec4403 --- .gitignore | 6 + technical-research/README.md | 5 + technical-research/accounting-inventory.json | 69 - technical-research/accounting.json | 70 - technical-research/amazon-connect.json | 72 - technical-research/api-gateway.json | 68 - technical-research/applied-epic.json | 72 - technical-research/athenahealth-ehr.json | 65 - technical-research/auth.json | 66 - technical-research/backend.json | 35 - technical-research/background-checks.json | 68 - technical-research/banking-api.json | 68 - technical-research/banking-platform.json | 75 - technical-research/cad-cam.json | 71 - technical-research/calendar.json | 64 - technical-research/call-center-systems.json | 69 - technical-research/car-financing-systems.json | 69 - .../carrier-management-platform.json | 70 - technical-research/chat.json | 45 - technical-research/check-in.json | 66 - technical-research/claims-eligibility.json | 70 - technical-research/claims-management.json | 69 - technical-research/claims-submission.json | 68 - technical-research/claims.json | 69 - technical-research/clio-manage.json | 65 - technical-research/clio.json | 71 - technical-research/communication.json | 65 - technical-research/conflict-checks.json | 70 - technical-research/consent-forms.json | 66 - technical-research/contact-data.json | 31 - technical-research/credit.json | 66 - technical-research/crm-system.json | 24 - technical-research/crm.json | 65 - .../cross-location-sharing.json | 43 - technical-research/customer-lookup.json | 31 - technical-research/customer-portal.json | 31 - technical-research/customer-records.json | 47 - .../customer-support-system.json | 69 - technical-research/customer-support.json | 118 - technical-research/data-enrichment.json | 63 - technical-research/database.json | 67 - technical-research/delivery-orders.json | 69 - .../demo-scheduling-system.json | 24 - technical-research/dentrix-g7.json | 70 - technical-research/digital-imaging.json | 67 - technical-research/digitalocean.json | 64 - technical-research/dms.json | 72 - .../doctor-approved-faq-system.json | 66 - .../doctor-personal-schedules.json | 68 - technical-research/doctor-schedules.json | 68 - technical-research/document-exchange.json | 68 - technical-research/document-management.json | 31 - technical-research/document-storage.json | 73 - technical-research/docusign.json | 72 - technical-research/e-commerce-store.json | 39 - technical-research/e-prescribing.json | 69 - technical-research/e-signature.json | 85 - technical-research/ehr.json | 70 - technical-research/eld-gps.json | 31 - technical-research/electronic-signatures.json | 69 - technical-research/email-client.json | 65 - technical-research/email-legacy.json | 71 - technical-research/email-marketing.json | 71 - technical-research/email-system.json | 24 - technical-research/email.json | 65 - technical-research/engineering-drawings.json | 72 - technical-research/enterprise-grade.json | 67 - technical-research/erp.json | 67 - technical-research/esign.json | 51 - technical-research/estimation.json | 69 - technical-research/exception-tracking.json | 70 - technical-research/exited-market.json | 52 - technical-research/facebook-lead-ads.json | 64 - technical-research/fax.json | 65 - technical-research/fedex-ups.json | 70 - .../fee-schedules,-recalls.json | 66 - .../fee-schedules-and-tracking.json | 69 - technical-research/fee-schedules-recalls.json | 68 - technical-research/feedback.json | 65 - .../field-service-crm-inventory.json | 68 - technical-research/field-service-crm.json | 67 - technical-research/financing.json | 68 - technical-research/follow-up-boss.json | 70 - technical-research/fraud-detection.json | 67 - technical-research/frontend.json | 31 - technical-research/fsm-crm.json | 67 - technical-research/fuel.json | 42 - technical-research/funeral-management.json | 67 - technical-research/fx-platform.json | 67 - technical-research/google-voice.json | 69 - technical-research/gorgias.json | 68 - technical-research/gps-fleet.json | 69 - technical-research/gpt-4.json | 64 - technical-research/greenhouse.json | 67 - technical-research/gym-management.json | 69 - technical-research/hosting.json | 62 - technical-research/human-sdr-team.json | 67 - technical-research/imaging.json | 52 - technical-research/indeed.json | 65 - technical-research/industry-standard.json | 66 - .../insurance-verification.json | 66 - technical-research/insurance.json | 66 - technical-research/internal-accounting.json | 104 - .../internal-communication.json | 80 - technical-research/internal.json | 67 - .../inventory-counts-calculations.json | 67 - technical-research/inventory.json | 70 - technical-research/it-ticketing.json | 31 - technical-research/ivr.json | 69 - technical-research/klaviyo.json | 70 - technical-research/knowledge-base.json | 68 - technical-research/labor-data.json | 69 - technical-research/lawpay.json | 69 - technical-research/lead-manager.json | 66 - technical-research/lease-agreements.json | 66 - technical-research/leasing.json | 68 - .../legacy-accounting-software.json | 65 - technical-research/legacy-accounting.json | 67 - technical-research/legacy-dms.json | 34 - technical-research/legacy-erp.json | 66 - technical-research/lever.json | 71 - technical-research/library-index.json | 1901 ----------------- .../linkedin-lead-gen-forms.json | 65 - technical-research/linkedin-recruiter.json | 65 - technical-research/listings.json | 31 - technical-research/load-planning.json | 68 - technical-research/los.json | 70 - technical-research/lusha.json | 62 - technical-research/manual-entry.json | 31 - technical-research/manual-spreadsheets.json | 65 - technical-research/marketing.json | 71 - technical-research/marketplace.json | 69 - technical-research/membership-management.json | 57 - technical-research/notes.json | 31 - technical-research/offer-letters.json | 68 - technical-research/office-365-or-google.json | 58 - technical-research/operations.json | 68 - technical-research/ota.json | 52 - technical-research/parts.json | 68 - .../patient-onboarding-system.json | 71 - technical-research/payment-processing.json | 65 - technical-research/payment.json | 70 - technical-research/payments.json | 65 - technical-research/payroll.json | 69 - technical-research/pbx.json | 70 - technical-research/personal-schedules.json | 67 - technical-research/personal.json | 66 - technical-research/pharmacy-system.json | 70 - technical-research/phone-and-sms.json | 58 - technical-research/phone-sms.json | 70 - .../phone-system-and-texting.json | 68 - technical-research/phone-system-ivr.json | 70 - technical-research/phone-system.json | 65 - technical-research/phone-text.json | 34 - technical-research/phone-texting.json | 67 - technical-research/phone.json | 64 - technical-research/pms.json | 66 - technical-research/policy-admin.json | 67 - ...ractice-management-3-separate-servers.json | 68 - .../practice-management-system.json | 68 - technical-research/practice-management.json | 67 - technical-research/preferences-loyalty.json | 67 - ...need-consultation-scheduling-2026-01-12.md | 78 - ...oactive-after-hours-coverage-2026-01-25.md | 73 - ...oactive-after-hours-coverage-2026-01-27.md | 76 - ...ed-lead-qualification-system-2025-12-31.md | 245 --- ...and-grooming-reminder-system-2026-01-12.md | 97 - ...ctive-appointment-scheduling-2026-01-21.md | 73 - ...ctive-appointment-scheduling-2026-01-25.md | 57 - ...ctive-appointment-scheduling-2026-01-27.md | 59 - ...outreach-and-lead-management-2025-12-31.md | 215 -- ...rcing-and-placement-workflow-2026-01-12.md | 57 - ...custom-cake-order-management-2026-01-12.md | 57 - ...ng-and-production-scheduling-2026-01-12.md | 129 -- ...ve-customer-inquiry-handling-2026-01-12.md | 59 - ...tomer-onboarding-and-support-2026-01-12.md | 91 - .../proactive-customer-support-2026-01-25.md | 89 - .../proactive-customer-support-2026-01-27.md | 92 - .../proactive-customer-support-2026-01-28.md | 98 - ...tomer-support-ticket-routing-2026-01-12.md | 143 -- ...aintenance-agreement-renewal-2026-01-11.md | 116 - ...aintenance-agreement-renewal-2026-01-12.md | 59 - ...aintenance-agreement-renewal-2026-01-13.md | 59 - ...e-executive-email-management-2025-12-31.md | 57 - ...of-loss-(fnol)-claims-intake-2026-01-12.md | 130 -- ...-operational-cost-management-2025-12-31.md | 109 - ...tion-and-check-in-management-2026-01-12.md | 129 -- ...ealthcare-process-automation-2026-01-25.md | 73 - ...ealthcare-process-automation-2026-01-27.md | 77 - ...-call-handling-and-reception-2026-01-12.md | 76 - ...ound-receptionist-automation-2025-12-30.md | 59 - ...ound-receptionist-automation-2025-12-31.md | 59 - ...insurance-process-automation-2026-01-25.md | 57 - ...insurance-process-automation-2026-01-27.md | 60 - ...gement-and-supplier-ordering-2026-01-12.md | 182 -- ...tch-and-exception-management-2026-01-12.md | 75 - ...-lead-intake-&-qualification-2026-01-25.md | 73 - ...-lead-intake-&-qualification-2026-01-27.md | 57 - ...-lead-intake-&-qualification-2026-01-28.md | 80 - ...cation-and-property-matching-2026-01-12.md | 75 - ...-document-intake-and-routing-2026-01-12.md | 92 - ...uote-generation-and-approval-2025-12-31.md | 127 -- ...-loan-application-processing-2026-01-12.md | 112 - ...-training-lead-qualification-2026-01-12.md | 59 - ...ntment-booking-for-detailing-2026-01-12.md | 92 - ...rency-invoice-reconciliation-2026-01-12.md | 133 -- ...and-tax-preparation-workflow-2026-01-12.md | 132 -- ...ew-patient-intake-automation-2026-01-12.md | 95 - .../proactive-order-processing-2026-01-12.md | 130 -- ...g-and-fulfillment-automation-2026-01-12.md | 126 -- ...take-&-scheduling-automation-2025-12-31.md | 93 - ...take-&-scheduling-automation-2026-01-01.md | 77 - ...intake-&-scheduling-workflow-2025-12-31.md | 111 - ...intake-&-scheduling-workflow-2026-01-01.md | 59 - ...ent-scheduling-and-follow-up-2026-01-12.md | 78 - ...g-and-treatment-coordination-2026-01-11.md | 168 -- ...g-and-treatment-coordination-2026-01-12.md | 60 - ...g-and-treatment-coordination-2026-01-13.md | 78 - ...g-and-treatment-coordination-2026-01-15.md | 59 - ...-vaccination-reminder-system-2026-01-12.md | 94 - ...-vaccination-reminder-system-2026-01-15.md | 59 - ...ns-and-refill-reminder-calls-2026-01-12.md | 97 - ...-production-order-management-2026-01-12.md | 169 -- ...-and-scheduling-coordination-2026-01-12.md | 60 - ...ent-scheduling-and-follow-up-2026-01-12.md | 77 - ...spatch-and-driver-assignment-2026-01-12.md | 186 -- ...-and-daily-report-collection-2026-01-12.md | 92 - ...t-management-and-lead-triage-2026-01-13.md | 57 - technical-research/production-planning.json | 67 - .../project-management-docs.json | 49 - technical-research/property-management.json | 31 - technical-research/qms.json | 67 - technical-research/realtor.com.json | 65 - technical-research/rectangle-health.json | 68 - technical-research/referrals.json | 64 - technical-research/reporting.json | 31 - technical-research/research.db | Bin 110592 -> 0 bytes technical-research/review-tracking.json | 69 - technical-research/reviews.json | 67 - technical-research/route-planning.json | 69 - technical-research/rpg-iii.json | 67 - technical-research/safety-reporting.json | 68 - technical-research/safety.json | 70 - technical-research/sales-data.json | 67 - technical-research/sap-or-oracle.json | 67 - technical-research/scada.json | 67 - .../scheduling-crm-gps-payments.json | 68 - technical-research/scheduling-crm.json | 67 - technical-research/scheduling-services.json | 24 - technical-research/scheduling.json | 64 - technical-research/servicetitan.json | 70 - technical-research/shipping-labels.json | 72 - technical-research/shipping.json | 68 - technical-research/shipstation.json | 69 - technical-research/sms-reminders.json | 67 - technical-research/sms-system.json | 104 - technical-research/sms.json | 68 - technical-research/social-media.json | 69 - technical-research/social.json | 31 - .../something-enterprise-grade.json | 61 - technical-research/sourcing.json | 62 - technical-research/spark-api.json | 66 - technical-research/spot-market.json | 65 - technical-research/spreadsheets.json | 72 - technical-research/sql-server.json | 31 - technical-research/storage.json | 73 - technical-research/supplier-ordering.json | 77 - .../tax-preparation-practice-management.json | 70 - technical-research/team-notifications.json | 38 - technical-research/telephony-system.json | 101 - technical-research/templates.json | 31 - technical-research/text.json | 68 - technical-research/the-usual.json | 61 - technical-research/ticketing.json | 68 - technical-research/time-tracking.json | 63 - technical-research/tms.json | 66 - .../tracking-fee-schedules.json | 71 - technical-research/tracking-recalls.json | 65 - technical-research/tracking.json | 64 - technical-research/translation.json | 57 - technical-research/treasury.json | 68 - technical-research/verification-services.json | 65 - technical-research/voip-pbx.json | 65 - technical-research/voip-sms.json | 64 - technical-research/voip.json | 69 - technical-research/weave.json | 67 - technical-research/web-forms.json | 64 - technical-research/web-intake.json | 64 - technical-research/website.json | 67 - technical-research/word.json | 65 - technical-research/workday.json | 70 - technical-research/zillow.json | 71 - 292 files changed, 11 insertions(+), 22224 deletions(-) create mode 100644 technical-research/README.md delete mode 100644 technical-research/accounting-inventory.json delete mode 100644 technical-research/accounting.json delete mode 100644 technical-research/amazon-connect.json delete mode 100644 technical-research/api-gateway.json delete mode 100644 technical-research/applied-epic.json delete mode 100644 technical-research/athenahealth-ehr.json delete mode 100644 technical-research/auth.json delete mode 100644 technical-research/backend.json delete mode 100644 technical-research/background-checks.json delete mode 100644 technical-research/banking-api.json delete mode 100644 technical-research/banking-platform.json delete mode 100644 technical-research/cad-cam.json delete mode 100644 technical-research/calendar.json delete mode 100644 technical-research/call-center-systems.json delete mode 100644 technical-research/car-financing-systems.json delete mode 100644 technical-research/carrier-management-platform.json delete mode 100644 technical-research/chat.json delete mode 100644 technical-research/check-in.json delete mode 100644 technical-research/claims-eligibility.json delete mode 100644 technical-research/claims-management.json delete mode 100644 technical-research/claims-submission.json delete mode 100644 technical-research/claims.json delete mode 100644 technical-research/clio-manage.json delete mode 100644 technical-research/clio.json delete mode 100644 technical-research/communication.json delete mode 100644 technical-research/conflict-checks.json delete mode 100644 technical-research/consent-forms.json delete mode 100644 technical-research/contact-data.json delete mode 100644 technical-research/credit.json delete mode 100644 technical-research/crm-system.json delete mode 100644 technical-research/crm.json delete mode 100644 technical-research/cross-location-sharing.json delete mode 100644 technical-research/customer-lookup.json delete mode 100644 technical-research/customer-portal.json delete mode 100644 technical-research/customer-records.json delete mode 100644 technical-research/customer-support-system.json delete mode 100644 technical-research/customer-support.json delete mode 100644 technical-research/data-enrichment.json delete mode 100644 technical-research/database.json delete mode 100644 technical-research/delivery-orders.json delete mode 100644 technical-research/demo-scheduling-system.json delete mode 100644 technical-research/dentrix-g7.json delete mode 100644 technical-research/digital-imaging.json delete mode 100644 technical-research/digitalocean.json delete mode 100644 technical-research/dms.json delete mode 100644 technical-research/doctor-approved-faq-system.json delete mode 100644 technical-research/doctor-personal-schedules.json delete mode 100644 technical-research/doctor-schedules.json delete mode 100644 technical-research/document-exchange.json delete mode 100644 technical-research/document-management.json delete mode 100644 technical-research/document-storage.json delete mode 100644 technical-research/docusign.json delete mode 100644 technical-research/e-commerce-store.json delete mode 100644 technical-research/e-prescribing.json delete mode 100644 technical-research/e-signature.json delete mode 100644 technical-research/ehr.json delete mode 100644 technical-research/eld-gps.json delete mode 100644 technical-research/electronic-signatures.json delete mode 100644 technical-research/email-client.json delete mode 100644 technical-research/email-legacy.json delete mode 100644 technical-research/email-marketing.json delete mode 100644 technical-research/email-system.json delete mode 100644 technical-research/email.json delete mode 100644 technical-research/engineering-drawings.json delete mode 100644 technical-research/enterprise-grade.json delete mode 100644 technical-research/erp.json delete mode 100644 technical-research/esign.json delete mode 100644 technical-research/estimation.json delete mode 100644 technical-research/exception-tracking.json delete mode 100644 technical-research/exited-market.json delete mode 100644 technical-research/facebook-lead-ads.json delete mode 100644 technical-research/fax.json delete mode 100644 technical-research/fedex-ups.json delete mode 100644 technical-research/fee-schedules,-recalls.json delete mode 100644 technical-research/fee-schedules-and-tracking.json delete mode 100644 technical-research/fee-schedules-recalls.json delete mode 100644 technical-research/feedback.json delete mode 100644 technical-research/field-service-crm-inventory.json delete mode 100644 technical-research/field-service-crm.json delete mode 100644 technical-research/financing.json delete mode 100644 technical-research/follow-up-boss.json delete mode 100644 technical-research/fraud-detection.json delete mode 100644 technical-research/frontend.json delete mode 100644 technical-research/fsm-crm.json delete mode 100644 technical-research/fuel.json delete mode 100644 technical-research/funeral-management.json delete mode 100644 technical-research/fx-platform.json delete mode 100644 technical-research/google-voice.json delete mode 100644 technical-research/gorgias.json delete mode 100644 technical-research/gps-fleet.json delete mode 100644 technical-research/gpt-4.json delete mode 100644 technical-research/greenhouse.json delete mode 100644 technical-research/gym-management.json delete mode 100644 technical-research/hosting.json delete mode 100644 technical-research/human-sdr-team.json delete mode 100644 technical-research/imaging.json delete mode 100644 technical-research/indeed.json delete mode 100644 technical-research/industry-standard.json delete mode 100644 technical-research/insurance-verification.json delete mode 100644 technical-research/insurance.json delete mode 100644 technical-research/internal-accounting.json delete mode 100644 technical-research/internal-communication.json delete mode 100644 technical-research/internal.json delete mode 100644 technical-research/inventory-counts-calculations.json delete mode 100644 technical-research/inventory.json delete mode 100644 technical-research/it-ticketing.json delete mode 100644 technical-research/ivr.json delete mode 100644 technical-research/klaviyo.json delete mode 100644 technical-research/knowledge-base.json delete mode 100644 technical-research/labor-data.json delete mode 100644 technical-research/lawpay.json delete mode 100644 technical-research/lead-manager.json delete mode 100644 technical-research/lease-agreements.json delete mode 100644 technical-research/leasing.json delete mode 100644 technical-research/legacy-accounting-software.json delete mode 100644 technical-research/legacy-accounting.json delete mode 100644 technical-research/legacy-dms.json delete mode 100644 technical-research/legacy-erp.json delete mode 100644 technical-research/lever.json delete mode 100644 technical-research/library-index.json delete mode 100644 technical-research/linkedin-lead-gen-forms.json delete mode 100644 technical-research/linkedin-recruiter.json delete mode 100644 technical-research/listings.json delete mode 100644 technical-research/load-planning.json delete mode 100644 technical-research/los.json delete mode 100644 technical-research/lusha.json delete mode 100644 technical-research/manual-entry.json delete mode 100644 technical-research/manual-spreadsheets.json delete mode 100644 technical-research/marketing.json delete mode 100644 technical-research/marketplace.json delete mode 100644 technical-research/membership-management.json delete mode 100644 technical-research/notes.json delete mode 100644 technical-research/offer-letters.json delete mode 100644 technical-research/office-365-or-google.json delete mode 100644 technical-research/operations.json delete mode 100644 technical-research/ota.json delete mode 100644 technical-research/parts.json delete mode 100644 technical-research/patient-onboarding-system.json delete mode 100644 technical-research/payment-processing.json delete mode 100644 technical-research/payment.json delete mode 100644 technical-research/payments.json delete mode 100644 technical-research/payroll.json delete mode 100644 technical-research/pbx.json delete mode 100644 technical-research/personal-schedules.json delete mode 100644 technical-research/personal.json delete mode 100644 technical-research/pharmacy-system.json delete mode 100644 technical-research/phone-and-sms.json delete mode 100644 technical-research/phone-sms.json delete mode 100644 technical-research/phone-system-and-texting.json delete mode 100644 technical-research/phone-system-ivr.json delete mode 100644 technical-research/phone-system.json delete mode 100644 technical-research/phone-text.json delete mode 100644 technical-research/phone-texting.json delete mode 100644 technical-research/phone.json delete mode 100644 technical-research/pms.json delete mode 100644 technical-research/policy-admin.json delete mode 100644 technical-research/practice-management-3-separate-servers.json delete mode 100644 technical-research/practice-management-system.json delete mode 100644 technical-research/practice-management.json delete mode 100644 technical-research/preferences-loyalty.json delete mode 100644 technical-research/proactive-after-hours-call-handling-and-pre-need-consultation-scheduling-2026-01-12.md delete mode 100644 technical-research/proactive-after-hours-coverage-2026-01-25.md delete mode 100644 technical-research/proactive-after-hours-coverage-2026-01-27.md delete mode 100644 technical-research/proactive-ai-powered-lead-qualification-system-2025-12-31.md delete mode 100644 technical-research/proactive-appointment-booking-and-grooming-reminder-system-2026-01-12.md delete mode 100644 technical-research/proactive-appointment-scheduling-2026-01-21.md delete mode 100644 technical-research/proactive-appointment-scheduling-2026-01-25.md delete mode 100644 technical-research/proactive-appointment-scheduling-2026-01-27.md delete mode 100644 technical-research/proactive-candidate-outbound-outreach-and-lead-management-2025-12-31.md delete mode 100644 technical-research/proactive-candidate-sourcing-and-placement-workflow-2026-01-12.md delete mode 100644 technical-research/proactive-custom-cake-order-management-2026-01-12.md delete mode 100644 technical-research/proactive-custom-order-processing-and-production-scheduling-2026-01-12.md delete mode 100644 technical-research/proactive-customer-inquiry-handling-2026-01-12.md delete mode 100644 technical-research/proactive-customer-onboarding-and-support-2026-01-12.md delete mode 100644 technical-research/proactive-customer-support-2026-01-25.md delete mode 100644 technical-research/proactive-customer-support-2026-01-27.md delete mode 100644 technical-research/proactive-customer-support-2026-01-28.md delete mode 100644 technical-research/proactive-customer-support-ticket-routing-2026-01-12.md delete mode 100644 technical-research/proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-11.md delete mode 100644 technical-research/proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-12.md delete mode 100644 technical-research/proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-13.md delete mode 100644 technical-research/proactive-executive-email-management-2025-12-31.md delete mode 100644 technical-research/proactive-first-notice-of-loss-(fnol)-claims-intake-2026-01-12.md delete mode 100644 technical-research/proactive-general-operational-cost-management-2025-12-31.md delete mode 100644 technical-research/proactive-guest-reservation-and-check-in-management-2026-01-12.md delete mode 100644 technical-research/proactive-healthcare-process-automation-2026-01-25.md delete mode 100644 technical-research/proactive-healthcare-process-automation-2026-01-27.md delete mode 100644 technical-research/proactive-inbound-call-handling-and-reception-2026-01-12.md delete mode 100644 technical-research/proactive-inbound-receptionist-automation-2025-12-30.md delete mode 100644 technical-research/proactive-inbound-receptionist-automation-2025-12-31.md delete mode 100644 technical-research/proactive-insurance-process-automation-2026-01-25.md delete mode 100644 technical-research/proactive-insurance-process-automation-2026-01-27.md delete mode 100644 technical-research/proactive-inventory-management-and-supplier-ordering-2026-01-12.md delete mode 100644 technical-research/proactive-last-mile-delivery-dispatch-and-exception-management-2026-01-12.md delete mode 100644 technical-research/proactive-lead-intake-&-qualification-2026-01-25.md delete mode 100644 technical-research/proactive-lead-intake-&-qualification-2026-01-27.md delete mode 100644 technical-research/proactive-lead-intake-&-qualification-2026-01-28.md delete mode 100644 technical-research/proactive-lead-qualification-and-property-matching-2026-01-12.md delete mode 100644 technical-research/proactive-legal-document-intake-and-routing-2026-01-12.md delete mode 100644 technical-research/proactive-legal-quote-generation-and-approval-2025-12-31.md delete mode 100644 technical-research/proactive-loan-application-processing-2026-01-12.md delete mode 100644 technical-research/proactive-member-engagement-and-personal-training-lead-qualification-2026-01-12.md delete mode 100644 technical-research/proactive-membership-sales-and-appointment-booking-for-detailing-2026-01-12.md delete mode 100644 technical-research/proactive-multi-currency-invoice-reconciliation-2026-01-12.md delete mode 100644 technical-research/proactive-new-client-onboarding-and-tax-preparation-workflow-2026-01-12.md delete mode 100644 technical-research/proactive-new-patient-intake-automation-2026-01-12.md delete mode 100644 technical-research/proactive-order-processing-2026-01-12.md delete mode 100644 technical-research/proactive-order-processing-and-fulfillment-automation-2026-01-12.md delete mode 100644 technical-research/proactive-patient-intake-&-scheduling-automation-2025-12-31.md delete mode 100644 technical-research/proactive-patient-intake-&-scheduling-automation-2026-01-01.md delete mode 100644 technical-research/proactive-patient-intake-&-scheduling-workflow-2025-12-31.md delete mode 100644 technical-research/proactive-patient-intake-&-scheduling-workflow-2026-01-01.md delete mode 100644 technical-research/proactive-patient-scheduling-and-follow-up-2026-01-12.md delete mode 100644 technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-11.md delete mode 100644 technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-12.md delete mode 100644 technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-13.md delete mode 100644 technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-15.md delete mode 100644 technical-research/proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-12.md delete mode 100644 technical-research/proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-15.md delete mode 100644 technical-research/proactive-prescription-ready-notifications-and-refill-reminder-calls-2026-01-12.md delete mode 100644 technical-research/proactive-production-order-management-2026-01-12.md delete mode 100644 technical-research/proactive-quote-requests-and-scheduling-coordination-2026-01-12.md delete mode 100644 technical-research/proactive-service-department-appointment-scheduling-and-follow-up-2026-01-12.md delete mode 100644 technical-research/proactive-shipment-dispatch-and-driver-assignment-2026-01-12.md delete mode 100644 technical-research/proactive-subcontractor-coordination-and-daily-report-collection-2026-01-12.md delete mode 100644 technical-research/proactive-support-ticket-management-and-lead-triage-2026-01-13.md delete mode 100644 technical-research/production-planning.json delete mode 100644 technical-research/project-management-docs.json delete mode 100644 technical-research/property-management.json delete mode 100644 technical-research/qms.json delete mode 100644 technical-research/realtor.com.json delete mode 100644 technical-research/rectangle-health.json delete mode 100644 technical-research/referrals.json delete mode 100644 technical-research/reporting.json delete mode 100644 technical-research/research.db delete mode 100644 technical-research/review-tracking.json delete mode 100644 technical-research/reviews.json delete mode 100644 technical-research/route-planning.json delete mode 100644 technical-research/rpg-iii.json delete mode 100644 technical-research/safety-reporting.json delete mode 100644 technical-research/safety.json delete mode 100644 technical-research/sales-data.json delete mode 100644 technical-research/sap-or-oracle.json delete mode 100644 technical-research/scada.json delete mode 100644 technical-research/scheduling-crm-gps-payments.json delete mode 100644 technical-research/scheduling-crm.json delete mode 100644 technical-research/scheduling-services.json delete mode 100644 technical-research/scheduling.json delete mode 100644 technical-research/servicetitan.json delete mode 100644 technical-research/shipping-labels.json delete mode 100644 technical-research/shipping.json delete mode 100644 technical-research/shipstation.json delete mode 100644 technical-research/sms-reminders.json delete mode 100644 technical-research/sms-system.json delete mode 100644 technical-research/sms.json delete mode 100644 technical-research/social-media.json delete mode 100644 technical-research/social.json delete mode 100644 technical-research/something-enterprise-grade.json delete mode 100644 technical-research/sourcing.json delete mode 100644 technical-research/spark-api.json delete mode 100644 technical-research/spot-market.json delete mode 100644 technical-research/spreadsheets.json delete mode 100644 technical-research/sql-server.json delete mode 100644 technical-research/storage.json delete mode 100644 technical-research/supplier-ordering.json delete mode 100644 technical-research/tax-preparation-practice-management.json delete mode 100644 technical-research/team-notifications.json delete mode 100644 technical-research/telephony-system.json delete mode 100644 technical-research/templates.json delete mode 100644 technical-research/text.json delete mode 100644 technical-research/the-usual.json delete mode 100644 technical-research/ticketing.json delete mode 100644 technical-research/time-tracking.json delete mode 100644 technical-research/tms.json delete mode 100644 technical-research/tracking-fee-schedules.json delete mode 100644 technical-research/tracking-recalls.json delete mode 100644 technical-research/tracking.json delete mode 100644 technical-research/translation.json delete mode 100644 technical-research/treasury.json delete mode 100644 technical-research/verification-services.json delete mode 100644 technical-research/voip-pbx.json delete mode 100644 technical-research/voip-sms.json delete mode 100644 technical-research/voip.json delete mode 100644 technical-research/weave.json delete mode 100644 technical-research/web-forms.json delete mode 100644 technical-research/web-intake.json delete mode 100644 technical-research/website.json delete mode 100644 technical-research/word.json delete mode 100644 technical-research/workday.json delete mode 100644 technical-research/zillow.json diff --git a/.gitignore b/.gitignore index 5b76a72..4c7cf82 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,9 @@ +# Project-specific generated research/runtime state +technical-research/*.db +technical-research/*.sqlite +technical-research/*.sqlite3 +technical-research/proactive-* + # >>> dotfiles-managed gitignore (do not edit between markers) >>> # Generated by .dotfiles.sh — edits between markers are overwritten on next deploy. # Hand-edit OUTSIDE these markers for project-specific rules. diff --git a/technical-research/README.md b/technical-research/README.md new file mode 100644 index 0000000..e346919 --- /dev/null +++ b/technical-research/README.md @@ -0,0 +1,5 @@ +# Technical Research + +This directory is for curated integration schemas and source-backed research only. + +Do not commit runtime database files, fallback proactive reports, or JSON files marked `"generated": true`. Those are pipeline cache artifacts, not durable knowledge. diff --git a/technical-research/accounting-inventory.json b/technical-research/accounting-inventory.json deleted file mode 100644 index c58d7a5..0000000 --- a/technical-research/accounting-inventory.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Accounting/Inventory", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T18:41:28.285Z", - "model_used": "gemini-3-flash-preview", - "accounting_inventory_apis": [ - { - "name": "QuickBooks Online API", - "api_documentation_url": "https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-requested-entities/account", - "auth_notes": "OAuth 2.0 using Authorization Code Flow. Requires Client ID, Client Secret, and specific scopes (e.g., com.intuit.quickbooks.accounting). Access tokens expire in 60 minutes; refresh tokens expire in 100 days.", - "rate_limits": "100 requests per minute per realm (Company ID); 40 concurrent requests per realm." - }, - { - "name": "Xero API", - "api_documentation_url": "https://developer.xero.com/documentation/api/accounting/overview", - "auth_notes": "OAuth 2.0. Supports Authorization Code Flow and Client Credentials Flow (for app store apps). Requires 'tenant_id' header for all requests. PKCE is recommended for mobile/desktop apps.", - "rate_limits": "60 requests per minute (Minute Limit); 5,000 requests per day (Daily Limit); 5 concurrent requests." - }, - { - "name": "Zoho Inventory API", - "api_documentation_url": "https://www.zoho.com/inventory/api/v1/", - "auth_notes": "OAuth 2.0. Requires a valid Organization ID passed as a query parameter (organization_id). Uses Scopes like ZohoInventory.fullaccess.CREATE.", - "rate_limits": "1,000 requests per minute per organization; 150 requests per 5 seconds per organization." - }, - { - "name": "FreshBooks API", - "api_documentation_url": "https://www.freshbooks.com/api/introduction", - "auth_notes": "OAuth 2.0. Bearer token required in the Authorization header. Requires an 'account_id' which is retrieved via the /me endpoint after authentication.", - "rate_limits": "120 requests per minute. Exceeding this results in a 429 Too Many Requests response." - }, - { - "name": "NetSuite SuiteTalk REST API", - "api_documentation_url": "https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/chapter_1540391670.html", - "auth_notes": "Supports OAuth 2.0 (Authorization Code Grant) and Token-Based Authentication (TBA) using HMAC-SHA256. Requires Account ID, Consumer Key, Consumer Secret, Token ID, and Token Secret.", - "rate_limits": "10 concurrent requests per user/account for standard service levels; varies based on 'SuiteCloud Plus' license tiers." - }, - { - "name": "Sage Business Cloud Accounting API", - "api_documentation_url": "https://developer.sage.com/accounting/reference/", - "auth_notes": "OAuth 2.0. Requires a Subscription Key (Ocp-Apim-Subscription-Key) in addition to the Bearer access token.", - "rate_limits": "100 requests per minute; 5,000 requests per day per user." - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/accounting.json b/technical-research/accounting.json deleted file mode 100644 index af3f231..0000000 --- a/technical-research/accounting.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Accounting", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-11T18:38:10.505Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Accounting", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a developer account at the Sage Developer Portal to obtain a Client ID and Client Secret. Users must also configure a Redirect URI (e.g., for n8n) and may need an 'ocp-apim-subscription-key' depending on the specific regional API gateway used.", - "api_quality": "good", - "api_documentation_url": "https://developer.sage.com/accounting/api/", - "rate_limits": "1,296,000 requests per app per day; 150 concurrent requests; 200 requests per minute per business.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "Regional API Endpoints: The API base URL varies significantly by region (e.g., /uki/ for UK/Ireland, /us/ for USA).", - "X-Business Header: If a user has access to multiple businesses, the 'X-Business' header (Business GUID) is mandatory for all requests.", - "OAuth2 Refresh: n8n users often report issues with token expiration; ensure the 'Access Token' and 'Refresh Token' are handled correctly in the HTTP Request node credentials.", - "Sandbox vs Production: Sandbox environments have lower rate limits and require separate app approval for production keys." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "Developer Subscription Key (ocp-apim-subscription-key)", - "Business GUID (for multi-business accounts)" - ], - "operations_available": [ - "Get Contacts", - "Create Invoice", - "List Bank Accounts", - "Post Journal Entry", - "Get Tax Rates", - "Update Ledger Account", - "List Payments" - ], - "confidence": 0.9, - "research_notes": "The term 'Accounting' in this context refers to Sage Business Cloud Accounting (formerly Sage One). While n8n has nodes for QuickBooks and Xero, Sage Accounting lacks a native node, requiring the HTTP Request node. Research confirms high community demand and specific technical hurdles regarding regional headers and OAuth2 setup. Webhook support is available but requires manual registration via the API.", - "sources_consulted": [ - "Official Sage Developer Documentation", - "n8n Community Forum", - "Reddit (r/n8n)", - "Prismatic Integration Docs", - "CData Connect AI Integration Guides" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 8, - "rationale": "The term 'Accounting' in this context refers to Sage Business Cloud Accounting (formerly Sage One). While n8n has nodes for QuickBooks and Xero, Sage Accounting lacks a native node, requiring the HTTP Request node. Research confirms high community demand and specific technical hurdles regarding regional headers and OAuth2 setup. Webhook support is available but requires manual registration via the API." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/amazon-connect.json b/technical-research/amazon-connect.json deleted file mode 100644 index d064aa5..0000000 --- a/technical-research/amazon-connect.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "integration": "Amazon Connect", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T22:52:42.634Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Amazon Connect", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "AWS Signature V4", - "auth_complexity": "complex", - "auth_notes": "Requires an IAM User with programmatic access (Access Key ID and Secret Access Key). Users must attach policies like 'AmazonConnectFullAccess' or granular permissions for specific actions. In n8n, use the 'AWS Credentials' type which handles the Signature V4 signing automatically when using the HTTP Request node.", - "api_quality": "good", - "api_documentation_url": "https://docs.aws.amazon.com/connect/latest/APIReference/Welcome.html", - "rate_limits": "Varies by operation: StartOutboundVoiceContact is 2 req/sec; ListUsers is 10 req/sec; GetMetricData is 5 req/sec. Most other management operations default to 2 req/sec with a burst of 5.", - "complexity_score": 8, - "complexity_tier": "complex", - "estimated_hours": 15, - "webhook_support": true, - "gotchas": [ - "Extremely low default rate limits (2 req/sec) for outbound calls often lead to 429 errors in high-volume workflows.", - "No native n8n node exists; users must manually configure the HTTP Request node with AWS credentials and specific regional endpoints.", - "Real-time event triggers (e.g., 'Call Ended') require setting up Amazon EventBridge to forward events to an n8n Webhook URL.", - "Instance ID and Contact Flow ID are required for almost all operations and must be retrieved from the AWS Console." - ], - "client_must_provide": [ - "AWS Access Key ID", - "AWS Secret Access Key", - "AWS Region (e.g., us-east-1)", - "Amazon Connect Instance ID", - "Contact Flow ID (for outbound calls)" - ], - "operations_available": [ - "StartOutboundVoiceContact", - "StopContact", - "ListUsers", - "CreateTask", - "DescribeContact", - "UpdateContactAttributes", - "ListQueues", - "GetCurrentMetricData" - ], - "confidence": 0.95, - "research_notes": "Amazon Connect is a robust enterprise contact center service. While n8n lacks a native node, it is fully compatible via the HTTP Request node using AWS credentials. Users frequently complain about the low default TPS (Transactions Per Second) limits, which require a service quota increase request for production use. Integration for inbound events is best handled via EventBridge rules targeting an n8n webhook.", - "sources_consulted": [ - "Official AWS Documentation", - "n8n Community Forum", - "AWS re:Post", - "NPM Registry", - "YouTube Technical Tutorials" - ], - "has_native_node": false, - "complexity": { - "score": 8, - "tier": "complex", - "estimated_hours": 15 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 15, - "rationale": "Amazon Connect is a robust enterprise contact center service. While n8n lacks a native node, it is fully compatible via the HTTP Request node using AWS credentials. Users frequently complain about the low default TPS (Transactions Per Second) limits, which require a service quota increase request for production use. Integration for inbound events is best handled via EventBridge rules targeting an n8n webhook." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/api-gateway.json b/technical-research/api-gateway.json deleted file mode 100644 index 82f4071..0000000 --- a/technical-research/api-gateway.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "API Gateway", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:19:33.596Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "API Gateway", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "AWS IAM (Signature V4), API Key, OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Authentication typically requires AWS Access Key ID and Secret Access Key for IAM-protected endpoints. It also supports API Keys (X-API-Key header) and OAuth2/JWT via Amazon Cognito authorizers.", - "api_quality": "excellent", - "api_documentation_url": "https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html", - "rate_limits": "10,000 requests per second (RPS) per account/region (default quota), with a burst limit of 5,000.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "No native n8n node exists for managing API Gateway resources; users must use the 'HTTP Request' node for both management and invocation.", - "When proxying n8n webhooks through API Gateway, you must set the 'N8N_WEBHOOK_URL' environment variable to the public Gateway URL to prevent internal redirect loops.", - "AWS Signature V4 authentication is required for many endpoints, which is now supported in the n8n HTTP Request node via the 'AWS' credential type, but can be complex to configure for custom headers." - ], - "client_must_provide": [ - "AWS Access Key ID", - "AWS Secret Access Key", - "AWS Region", - "API Gateway Endpoint URL" - ], - "operations_available": [ - "Invoke API Endpoint (GET/POST/PUT/DELETE)", - "Create/Update/Delete REST and HTTP APIs", - "Manage API Stages and Deployments", - "Configure Usage Plans and API Keys", - "Manage Resources and Methods" - ], - "confidence": 0.95, - "research_notes": "Research confirms that 'API Gateway' in the n8n ecosystem primarily refers to AWS API Gateway. While n8n has native nodes for other AWS services (S3, Lambda, SNS), API Gateway is handled via the generic HTTP Request node. A community node 'n8n-nodes-websocket-aws' exists specifically for WebSocket API Gateway connections. Forums highlight that the most common use case is using API Gateway as a secure public entry point for n8n webhooks hosted in private VPCs.", - "sources_consulted": [ - "Official AWS Documentation", - "n8n Community Forum", - "YouTube (n8n + AWS Tutorials)", - "n8n Templates Library", - "GitHub (Community Nodes)", - "Reddit (r/n8n)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 8, - "rationale": "Research confirms that 'API Gateway' in the n8n ecosystem primarily refers to AWS API Gateway. While n8n has native nodes for other AWS services (S3, Lambda, SNS), API Gateway is handled via the generic HTTP Request node. A community node 'n8n-nodes-websocket-aws' exists specifically for WebSocket API Gateway connections. Forums highlight that the most common use case is using API Gateway as a secure public entry point for n8n webhooks hosted in private VPCs." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/applied-epic.json b/technical-research/applied-epic.json deleted file mode 100644 index f35a3aa..0000000 --- a/technical-research/applied-epic.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "integration": "Applied Epic", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-28T04:47:07.948Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Applied Epic", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "complex", - "auth_notes": "Requires an 'SDK-API License' from Applied Systems. Authentication involves a custom OAuth2 flow using a Client ID and Client Secret generated in the Applied Developer Portal. Some implementations also require a signed JWT or specific database/enterprise IDs.", - "api_quality": "good", - "api_documentation_url": "https://developer.myappliedproducts.com/documentation", - "rate_limits": "Enforced via Cloudflare; specific thresholds are typically account-dependent but require standard exponential backoff handling for 429 errors.", - "complexity_score": 9, - "complexity_tier": "enterprise", - "estimated_hours": 30, - "webhook_support": true, - "gotchas": [ - "API access is not included by default and requires a significant additional 'SDK-API License' fee.", - "The platform is often described as 'clunky' with a high learning curve for data structures like 'Activities' and 'Attachments'.", - "Full 2-way sync implementation can take 3-4 months for complex organizations due to the depth of the data model.", - "A community node exists (n8n-nodes-epic) but is unverified and may require self-hosting n8n to install via npm." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "SDK-API License", - "Epic Database Name", - "Enterprise ID" - ], - "operations_available": [ - "Get/Create Clients", - "Get/Update Policies", - "Manage Attachments", - "Manage Contacts", - "Manage Claims", - "Create Activities", - "Accounting/Digital Payments" - ], - "confidence": 0.9, - "research_notes": "Applied Epic (by Applied Systems) is a heavy enterprise Agency Management System (AMS). It is distinct from 'Epic' (healthcare). Integration is highly gated by licensing costs. While no native n8n node exists, a community node 'n8n-nodes-epic' is available on npm. Most developers use the HTTP Request node with the RESTful API. Webhooks are supported but often require custom configuration within the Epic environment.", - "sources_consulted": [ - "Applied Developer Portal", - "Applied Systems Official Blog", - "n8n Community Node Registry (npm)", - "Reddit (r/InsuranceProfessional)", - "InsurTech Developer Guides", - "YouTube (Applied Epic Optimization Webinars)" - ], - "has_native_node": false, - "complexity": { - "score": 9, - "tier": "enterprise", - "estimated_hours": 30 - }, - "effort_recommendation": { - "tier": "enterprise", - "base_hours": 30, - "rationale": "Applied Epic (by Applied Systems) is a heavy enterprise Agency Management System (AMS). It is distinct from 'Epic' (healthcare). Integration is highly gated by licensing costs. While no native n8n node exists, a community node 'n8n-nodes-epic' is available on npm. Most developers use the HTTP Request node with the RESTful API. Webhooks are supported but often require custom configuration within the Epic environment." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/athenahealth-ehr.json b/technical-research/athenahealth-ehr.json deleted file mode 100644 index 4ed29ff..0000000 --- a/technical-research/athenahealth-ehr.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Athenahealth EHR", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T02:11:55.899Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Athenahealth EHR", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth 2.0 (Client Credentials or Authorization Code)", - "auth_complexity": "moderate", - "auth_notes": "Requires a Client ID and Client Secret from the Athenahealth Developer Portal. For server-to-server n8n workflows, the Client Credentials grant is used to obtain a Bearer token via the /oauth2/v1/token endpoint.", - "api_quality": "good", - "api_documentation_url": "https://docs.athenahealth.com/api", - "rate_limits": "Varies by application tier and practice; typically 5-10 requests per second (RPS) per practice ID.", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 16, - "webhook_support": true, - "gotchas": [ - "Every API request requires a 'practiceid' in the URL path, which must be managed dynamically if supporting multiple clinics.", - "Transitioning from the 'Preview' (Sandbox) environment to 'Production' requires a formal security review and 'Go-Live' process.", - "The API uses a mix of proprietary JSON structures and FHIR standards, which can make data mapping inconsistent." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "Practice ID (Context ID)", - "Developer Portal Access" - ], - "operations_available": [ - "Get Patient Information", - "Search Appointments", - "List Providers", - "Get Lab Results", - "Create Patient Record" - ], - "similar_integrations": [ - "DrChrono", - "Salesforce", - "Google Sheets" - ], - "confidence": 0.9, - "research_notes": "Implementation requires using the HTTP Request node. It is recommended to use n8n's 'Generic OAuth2' credential type or a separate workflow to manage token refresh. All endpoints follow the pattern /v1/{practiceid}/... so the Practice ID should be stored as a workflow constant or environment variable.", - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 16, - "rationale": "Implementation requires using the HTTP Request node. It is recommended to use n8n's 'Generic OAuth2' credential type or a separate workflow to manage token refresh. All endpoints follow the pattern /v1/{practiceid}/... so the Practice ID should be stored as a workflow constant or environment variable." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/auth.json b/technical-research/auth.json deleted file mode 100644 index d2ffec8..0000000 --- a/technical-research/auth.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "Auth", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:06:13.535Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "The Auth API", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "Requires creating an account at theauthapi.com, setting up a 'Project', and generating a 'Developer Access Key' from the dashboard. This key is used for management operations, while the service itself generates API keys for your end-users.", - "api_quality": "good", - "api_documentation_url": "https://docs.theauthapi.com/", - "rate_limits": "10 requests per second, 100 requests per minute (hard limits for management API)", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "The 'Developer Access Key' is distinct from the API keys you manage for your users; mixing them up will cause 401 errors.", - "Rate limits are tiered; sustained bursts can trigger 429 errors even if the total minute count is low.", - "Webhook endpoints must be manually registered in the dashboard for each project to receive lifecycle events." - ], - "client_must_provide": [ - "Developer Access Key", - "Project ID" - ], - "operations_available": [ - "Create API Key", - "Fetch API Keys", - "Validate API Key", - "Delete API Key", - "Update API Key Metadata", - "Get Usage Statistics" - ], - "confidence": 0.95, - "research_notes": "The Auth API (theauthapi.com) is a specialized SaaS for API infrastructure (key management, rate limiting, and monetization). While n8n lacks a native node, the service is highly compatible with n8n's HTTP Request node. Research confirmed that 'Auth' in this context refers to this specific infrastructure tool rather than generic identity providers like Auth0 or Authentik, which typically have native or well-known community nodes.", - "sources_consulted": [ - "Official Documentation (docs.theauthapi.com)", - "Postman Public API Network", - "The Auth API Developer Blog", - "n8n Community Forums", - "GitHub Repositories (TheAuthAPI SDKs)" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "The Auth API (theauthapi.com) is a specialized SaaS for API infrastructure (key management, rate limiting, and monetization). While n8n lacks a native node, the service is highly compatible with n8n's HTTP Request node. Research confirmed that 'Auth' in this context refers to this specific infrastructure tool rather than generic identity providers like Auth0 or Authentik, which typically have native or well-known community nodes." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/backend.json b/technical-research/backend.json deleted file mode 100644 index 6cd2d3c..0000000 --- a/technical-research/backend.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "integration": "Backend", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:05:29.320Z", - "model_used": "gemini-3-flash-preview", - "service": "Backend.ai", - "api_documentation_url": "https://docs.backend.ai/en/latest/api/common/", - "rate_limits": "2000 requests per 15 minutes", - "auth_notes": "Authentication requires a pair of an API access key (20 characters) and a secret key (40 characters). Every request must include an 'Authorization' header containing an HMAC signature derived from the secret key and a canonicalized string of the request. Additionally, a 'Date' or 'X-BackendAI-Date' header is required, and the request will be rejected if the client's clock deviates from the server's clock by more than 15 minutes.", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/background-checks.json b/technical-research/background-checks.json deleted file mode 100644 index 4da0ca9..0000000 --- a/technical-research/background-checks.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Background checks", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:13:40.625Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Background checks", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "Requires account credentialing and business verification. For Checkr (the industry standard), you use HTTP Basic Auth with your API Key as the username and an empty password.", - "api_quality": "excellent", - "api_documentation_url": "https://docs.checkr.com/", - "rate_limits": "Dynamic; returned in 'X-Ratelimit-Limit' headers (typically 600 requests per minute for standard accounts).", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "Manual Credentialing: Production API access requires a manual review of your business and 'permissible purpose' (FCRA compliance), which can take 1-3 business days.", - "Asynchronous Results: Most checks (MVR, Criminal) are not instant; you must implement a Webhook node to receive the 'report.completed' event.", - "Environment Isolation: Test API keys return static 'mock' data; real results only appear in the Live environment after approval." - ], - "client_must_provide": [ - "API Key (Test or Live)", - "Business Tax ID (for credentialing)", - "Webhook URL (for asynchronous updates)" - ], - "operations_available": [ - "Create Candidate", - "Create Report", - "List Packages", - "Retrieve Report", - "Update Candidate", - "List Screenings" - ], - "confidence": 0.95, - "research_notes": "Background checks are typically integrated into n8n via the HTTP Request node as no native node exists for major providers like Checkr, Sterling, or Certn. Checkr is the most documented and developer-friendly option. The integration is technically straightforward but operationally complex due to the legal requirement for business verification and the necessity of webhooks to handle the multi-day turnaround of background reports.", - "sources_consulted": [ - "Official Checkr API Documentation", - "Sterling API Developer Portal", - "Certn API Reference", - "n8n Community Forum", - "Postman Public API Network", - "Reddit (r/recruitinghell for developer sentiment)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 10, - "rationale": "Background checks are typically integrated into n8n via the HTTP Request node as no native node exists for major providers like Checkr, Sterling, or Certn. Checkr is the most documented and developer-friendly option. The integration is technically straightforward but operationally complex due to the legal requirement for business verification and the necessity of webhooks to handle the multi-day turnaround of background reports." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/banking-api.json b/technical-research/banking-api.json deleted file mode 100644 index 05738a0..0000000 --- a/technical-research/banking-api.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Banking API", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:28:00.212Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Banking API", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "Authentication is handled via an 'X-API-Key' header. Developers must obtain an API key from the Slash Dashboard. Note that the API is currently in Beta, often requiring manual approval or 'Beta Access' to be enabled for the organization.", - "api_quality": "excellent", - "api_documentation_url": "https://docs.slash.com/", - "rate_limits": "100 requests per second (Standard for modern neobank APIs like Slash and Starling Bank)", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "Real-time authorization webhooks (allowing you to approve/decline transactions via code) are typically restricted to Enterprise plans.", - "Webhook validation requires strict HMAC SHA256 signature checking using a specific payload format ({webhookId}.{webhookTimestamp}.{requestBody}).", - "The API is in Beta; endpoints and data structures are subject to change without long-term deprecation notices." - ], - "client_must_provide": [ - "API Key", - "Organization ID", - "Webhook Signing Secret (for event verification)" - ], - "operations_available": [ - "List Accounts", - "Create Virtual Card", - "List Transactions", - "Transfer Funds (ACH/Wire)", - "Set Spending Constraints", - "Check Account Balances" - ], - "confidence": 0.9, - "research_notes": "While 'Banking API' is a generic category, 'Slash' (slash.com) is the most prominent branded service using this exact name for its developer-first banking platform. In n8n, there is no native node for Slash or generic Open Banking (PSD2), though native nodes exist for Plaid and GoCardless (Nordigen). Users typically integrate these via the HTTP Request node. A community node exists for 'Kobana' (a Brazilian banking gateway), and templates often use 'Fable Bank' as a mock placeholder for banking workflows.", - "sources_consulted": [ - "Official Documentation (Slash)", - "n8n Community Forum", - "n8n Workflow Templates", - "NPM Registry (Community Nodes)", - "Fintech News (Fast Company, FinTech Futures)", - "Developer Blogs (Medium, C# Corner)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "While 'Banking API' is a generic category, 'Slash' (slash.com) is the most prominent branded service using this exact name for its developer-first banking platform. In n8n, there is no native node for Slash or generic Open Banking (PSD2), though native nodes exist for Plaid and GoCardless (Nordigen). Users typically integrate these via the HTTP Request node. A community node exists for 'Kobana' (a Brazilian banking gateway), and templates often use 'Fable Bank' as a mock placeholder for banking workflows." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/banking-platform.json b/technical-research/banking-platform.json deleted file mode 100644 index a94a160..0000000 --- a/technical-research/banking-platform.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "integration": "Banking platform", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:30:03.897Z", - "model_used": "gemini-3-flash-preview", - "banking_platforms": [ - { - "platform_name": "Stripe", - "api_documentation_url": "https://docs.stripe.com/api", - "rate_limits": { - "live_mode": "100 requests per second", - "sandbox_mode": "25 requests per second", - "specific_endpoints": { - "payment_intents_api": "1000 update operations per hour", - "files_api": "20 operations per second", - "search_api": "20 read operations per second" - } - }, - "auth_notes": "Authentication is handled via API keys. Secret keys are used for server-side requests and must be kept confidential. Requests are authenticated using Bearer Auth in the HTTP header: 'Authorization: Bearer '." - }, - { - "platform_name": "Revolut Business", - "api_documentation_url": "https://developer.revolut.com/docs/business/business-api", - "rate_limits": { - "standard_limit": "60 requests per minute per business", - "enterprise_limit": "Customizable upon contact with support" - }, - "auth_notes": "Uses OAuth 2.0 for authentication. Developers must exchange a client-assertion JWT for an access token. The access token is valid for 40 minutes and must be passed in the header as 'Authorization: Bearer '. Scopes (READ, WRITE, PAY) define permission levels." - }, - { - "platform_name": "Solarisbank", - "api_documentation_url": "https://docs.solarisgroup.com/", - "rate_limits": { - "concurrency_limit": "255 concurrent API calls per partner", - "sms_limit": "60 messages per recipient per hour" - }, - "auth_notes": "Implements OAuth 2.0. Partners must exchange their 'client_id' and 'client_secret' for a short-lived Bearer Access Token (valid for 3600 seconds). The token is passed in the header as 'Authorization: Bearer '." - }, - { - "platform_name": "Plaid", - "api_documentation_url": "https://plaid.com/docs/api/", - "rate_limits": { - "balance_get": "1,200 requests per minute per client", - "auth_get": "12,000 requests per minute per client", - "transactions_get": "20,000 requests per minute per client" - }, - "auth_notes": "Requests require a 'client_id' and a 'secret'. These credentials can be sent either in the JSON request body or via custom HTTP headers: 'PLAID-CLIENT-ID' and 'PLAID-SECRET'. Access tokens for specific user 'Items' are also required for most data endpoints." - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/cad-cam.json b/technical-research/cad-cam.json deleted file mode 100644 index 3f641aa..0000000 --- a/technical-research/cad-cam.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "integration": "CAD/CAM", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-11T23:50:27.140Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "CAD/CAM", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating an application in the Autodesk Developer Portal (for Autodesk Platform Services) or the Onshape Developer Portal. Supports both 2-legged (Client Credentials) for service-level access and 3-legged (Authorization Code) for user-context data.", - "api_quality": "excellent", - "api_documentation_url": "https://aps.autodesk.com/en/docs/", - "rate_limits": "100 req/min (Automation Service), 1000 req/min (Data Management)", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 24, - "webhook_support": true, - "gotchas": [ - "URNs (Unique Resource Names) must be Base64 encoded (without padding) for many Data Management endpoints.", - "Large file uploads (e.g., CAD models) require complex multi-part chunking logic and S3 signed URLs.", - "Token expiration requires robust refresh handling, especially for long-running manufacturing automation workflows." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "Callback URL (for 3-legged OAuth flows)", - "Autodesk/Onshape Account with API access enabled" - ], - "operations_available": [ - "Get Hubs", - "Get Projects", - "Get Folders", - "Get Items", - "Get Item Versions", - "Create Webhook", - "Download Derivative (SVF/OBJ/STL)", - "Trigger Model Derivative Job" - ], - "confidence": 0.95, - "research_notes": "CAD/CAM is a broad category, but for n8n integration, it specifically centers on Autodesk Platform Services (APS, formerly Forge) and Onshape. While no native node exists, the community node 'n8n-nodes-aps' (by chuongmep) is the primary technical bridge for Autodesk products like Fusion 360 and AutoCAD. Onshape also has a community node 'n8n-nodes-onshape'. Most advanced users utilize the HTTP Request node to interact with the Model Derivative API to convert CAD files into viewable or machinable formats. Pricing for APS follows a 'Flex' token-based model for API usage, while Fusion 360 requires a subscription (approx. $680/year).", - "sources_consulted": [ - "Official API Documentation (Autodesk Platform Services)", - "n8n Community Forum", - "GitHub (n8n-nodes-aps, n8n-nodes-onshape)", - "YouTube (CAD/CAM n8n tutorials)", - "Reddit (r/n8n, r/Fusion360)", - "Official Pricing Pages (Autodesk, Onshape)" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 24, - "rationale": "CAD/CAM is a broad category, but for n8n integration, it specifically centers on Autodesk Platform Services (APS, formerly Forge) and Onshape. While no native node exists, the community node 'n8n-nodes-aps' (by chuongmep) is the primary technical bridge for Autodesk products like Fusion 360 and AutoCAD. Onshape also has a community node 'n8n-nodes-onshape'. Most advanced users utilize the HTTP Request node to interact with the Model Derivative API to convert CAD files into viewable or machinable formats. Pricing for APS follows a 'Flex' token-based model for API usage, while Fusion 360 requires a subscription (approx. $680/year)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/calendar.json b/technical-research/calendar.json deleted file mode 100644 index ca2e065..0000000 --- a/technical-research/calendar.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "integration": "Calendar", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-30T05:19:54.401Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Google Calendar", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.googleCalendar", - "auth_type": "oauth2", - "auth_complexity": "moderate", - "auth_notes": "Requires a Google Cloud Console project with the Google Calendar API enabled. Users must configure an OAuth consent screen and create credentials to obtain a Client ID and Client Secret.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.google.com/calendar/api/v3/reference", - "rate_limits": "1,000,000 requests per day per project; approximately 10 queries per second (QPS) per user.", - "complexity_score": 2, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": true, - "gotchas": [ - "Timezone synchronization: If timezones aren't explicitly defined in the node, events may default to UTC, causing offset issues in the UI.", - "Recurring events: Modifying a single instance of a recurring event requires the specific instance ID rather than the series ID.", - "OAuth Scopes: Ensure 'https://www.googleapis.com/auth/calendar' is added to the Google Cloud project scopes, otherwise 'Insufficient Permissions' errors occur." - ], - "client_must_provide": [ - "Google Cloud Project Client ID", - "Google Cloud Project Client Secret", - "Google Account login with Calendar access" - ], - "operations_available": [ - "Create Event", - "Update Event", - "Delete Event", - "List Events", - "Get Free/Busy Schedule" - ], - "similar_integrations": [ - "Microsoft Outlook Calendar", - "Apple iCloud Calendar", - "Calendly" - ], - "confidence": 0.95, - "research_notes": "The n8n Google Calendar node is highly stable. Most integration friction occurs during the initial Google Cloud Console setup (redirect URIs and scope selection).", - "has_native_node": true, - "complexity": { - "score": 2, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "The n8n Google Calendar node is highly stable. Most integration friction occurs during the initial Google Cloud Console setup (redirect URIs and scope selection)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with node database" - }, - "_database_match": "google calendar", - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/call-center-systems.json b/technical-research/call-center-systems.json deleted file mode 100644 index 4069650..0000000 --- a/technical-research/call-center-systems.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Call center systems", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:03:39.362Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Call center systems", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2 (Client Credentials)", - "auth_complexity": "moderate", - "auth_notes": "API v3 requires creating Client Credentials (Client ID and Client Secret) in the Call Center Studio portal. It uses a Bearer Token obtained via the /oauth/token endpoint. Legacy v2 used a static App Token.", - "api_quality": "good", - "api_documentation_url": "https://callcenterstudio.com/open-api/", - "rate_limits": "Usage-based; system returns 429 HTTP codes when limits are exceeded. Specific per-tenant concurrency caps and global worker pool limits are enforced.", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 16, - "webhook_support": true, - "gotchas": [ - "Tokens for specific integrations (like WhatsApp Business API) may rotate automatically every 7 days.", - "Race conditions can occur if 'stale closures' are not handled in event-driven logic (e.g., an agent status changing to 'Busy' via chat while a call is being routed).", - "Webhook events like 'ringing' or 'hangup' require manual configuration of Callback URLs in the 'Web URL' section of the admin panel." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "Tenant/Workspace ID", - "Allowed IP addresses for API access" - ], - "operations_available": [ - "Click2Call", - "Get Active Call Details", - "Get Call Recording URL", - "Change Agent Status", - "Get CDR (Call Detail Records)", - "Trigger IVR Click2Call", - "Set Call Custom Variables" - ], - "confidence": 0.9, - "research_notes": "Analysis focused on 'Call Center Studio' as the primary representative of this category due to its prominent 'Open API' and documented n8n use cases. The system is cloud-native (Google Cloud based) and supports complex event-driven workflows. Integration with n8n is highly flexible using the HTTP Request node for the REST API and the Webhook node for real-time telephony events (ringing, answered, hangup).", - "sources_consulted": [ - "Official API Documentation (Stoplight)", - "Call Center Studio User Guide (PDF)", - "Developer Blogs (Medium - Mine Aktaş, Ataberk Tümay)", - "Technical Integration Guides (Zendesk/Zoho Marketplace)", - "n8n Community Forum (Search for Call Center Studio patterns)" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 16, - "rationale": "Analysis focused on 'Call Center Studio' as the primary representative of this category due to its prominent 'Open API' and documented n8n use cases. The system is cloud-native (Google Cloud based) and supports complex event-driven workflows. Integration with n8n is highly flexible using the HTTP Request node for the REST API and the Webhook node for real-time telephony events (ringing, answered, hangup)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/car-financing-systems.json b/technical-research/car-financing-systems.json deleted file mode 100644 index 13a4437..0000000 --- a/technical-research/car-financing-systems.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Car financing systems", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:05:13.374Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Car financing systems", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires registration in the Cox Automotive API Storefront (Developer Portal) to obtain a Client ID and Client Secret. Authentication uses standard OAuth2 Client Credentials or Authorization Code flows depending on the specific service (e.g., Digital Retail vs. DMS).", - "api_quality": "good", - "api_documentation_url": "https://developer.coxautoinc.com/", - "rate_limits": "Configurable per-caller; standard production tiers typically allow 10-50 requests per second (approx. 600-3,000 req/min).", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 20, - "webhook_support": true, - "gotchas": [ - "Dealer Identifiers (GUIDs) are globally unique and must be provided in headers for almost all requests.", - "Credit applications require a 'Permissible Purpose' flag and specific compliance data to be stored and transmitted.", - "Pagination follows a strict HATEOAS pattern where users must follow 'next' links rather than constructing URLs manually.", - "Data structures for 'Deal Jackets' are deeply nested and require significant mapping in n8n." - ], - "client_must_provide": [ - "Cox Automotive Developer Account access", - "Client ID and Client Secret", - "Dealer GUID (Identifier)", - "API Subscription/Approval for specific endpoints (e.g., Payments, Credit)" - ], - "operations_available": [ - "Create Credit Application", - "Get Payment Quotes", - "Upload Deal Documents", - "Retrieve Vehicle Inventory", - "Create/Update Customer Record", - "Fetch Deal Status" - ], - "confidence": 0.9, - "research_notes": "Analysis focuses on DealerTrack (Cox Automotive) as the industry-standard representative for 'Car financing systems'. While 'Car financing systems' is a category, DealerTrack and its Digital Retail API are the primary targets for n8n developers in this space. No native node exists, so the HTTP Request node is the standard implementation pattern. Other systems like AutoFi and RouteOne follow similar REST/OAuth2 patterns but have more restricted developer access.", - "sources_consulted": [ - "Cox Automotive Developer Portal", - "DealerTrack API Documentation (SwaggerHub)", - "n8n Community Forum", - "Reddit (r/n8n, r/serviceadvisors)", - "Cox Automotive Digital Retail API Platform Docs" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 20 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 20, - "rationale": "Analysis focuses on DealerTrack (Cox Automotive) as the industry-standard representative for 'Car financing systems'. While 'Car financing systems' is a category, DealerTrack and its Digital Retail API are the primary targets for n8n developers in this space. No native node exists, so the HTTP Request node is the standard implementation pattern. Other systems like AutoFi and RouteOne follow similar REST/OAuth2 patterns but have more restricted developer access." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/carrier-management-platform.json b/technical-research/carrier-management-platform.json deleted file mode 100644 index 89b30a5..0000000 --- a/technical-research/carrier-management-platform.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Carrier management platform", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:39:35.291Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Intersoft SAPIENT (Carrier Management Platform)", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating an application in the Intersoft SAPIENT Developer Hub to obtain a Client ID and Client Secret. These are used to generate a Bearer token (JWT) which expires every 60 minutes and must be cached to avoid excessive auth calls.", - "api_quality": "excellent", - "api_documentation_url": "https://developer.intersoftsapient.net/", - "rate_limits": "10 requests per 10 seconds (1 TPS) for the Base product account level; specific carriers like DX may enforce lower limits (e.g., 20 req/min).", - "complexity_score": 6, - "complexity_tier": "standard", - "estimated_hours": 14, - "webhook_support": true, - "gotchas": [ - "The Client Secret is only displayed once during creation and cannot be retrieved later.", - "The 'Trackings API' is a chargeable service billed per shipment, separate from the standard webhook service.", - "Carrier-specific rate limits (e.g., DX carrier) can override the global platform limit, leading to unexpected 429 errors during high-volume label generation.", - "Tokens expire every 60 minutes; workflows must handle token refreshing or caching logic." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "Carrier Account Credentials (e.g., Royal Mail, FedEx, etc.)", - "Shipping Location ID" - ], - "operations_available": [ - "Create Shipment", - "Print Shipping Label", - "Manifest Shipments", - "Get Tracking Events", - "Retrieve Carrier Services", - "Manage Shipping Locations", - "PUDO (Pick Up Drop Off) Location Lookup" - ], - "confidence": 0.95, - "research_notes": "Intersoft SAPIENT is the primary platform identifying as 'The Carrier Management Platform' in technical documentation. It is a RESTful API (v4) with robust OpenAPI specs. Integration via n8n requires the HTTP Request node using OAuth2 Client Credentials flow. Research confirms it is widely used by major retailers like Harrods and is part of the Royal Mail Group. No native n8n node exists, but the API is well-structured for standard HTTP integration.", - "sources_consulted": [ - "Official API Documentation (Sapient Developer Hub)", - "nShift Status Page (Intersoft Maintenance logs)", - "Intersoft Corporate Site", - "Ongoing WMS Integration Guides", - "YouTube (MyCarrier vs Intersoft comparisons)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "standard", - "estimated_hours": 14 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 14, - "rationale": "Intersoft SAPIENT is the primary platform identifying as 'The Carrier Management Platform' in technical documentation. It is a RESTful API (v4) with robust OpenAPI specs. Integration via n8n requires the HTTP Request node using OAuth2 Client Credentials flow. Research confirms it is widely used by major retailers like Harrods and is part of the Royal Mail Group. No native n8n node exists, but the API is well-structured for standard HTTP integration." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/chat.json b/technical-research/chat.json deleted file mode 100644 index efc5633..0000000 --- a/technical-research/chat.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "integration": "Chat", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:53:13.048Z", - "model_used": "gemini-3-flash-preview", - "name": "Google Chat API", - "api_documentation_url": "https://developers.google.com/chat/api/reference/rest", - "rate_limits": { - "message_writes": "3,000 requests per 60 seconds", - "message_reads": "3,000 requests per 60 seconds", - "membership_writes": "300 requests per 60 seconds", - "membership_reads": "3,000 requests per 60 seconds", - "space_writes": "60 requests per 60 seconds", - "space_reads": "3,000 requests per 60 seconds", - "attachment_writes": "600 requests per 60 seconds", - "attachment_reads": "3,000 requests per 60 seconds", - "space_creation_limit": "35 spaces per minute and 800 spaces per hour for GROUP_CHAT or SPACE types" - }, - "auth_notes": "The Google Chat API supports two primary authentication methods: OAuth 2.0 for user-level authentication (acting on behalf of a user) and Service Accounts for app-level authentication (acting as the Chat app itself). Domain-wide delegation can be used with service accounts to impersonate users, which requires Google Workspace administrator approval. Key authorization scopes include 'https://www.googleapis.com/auth/chat.messages', 'https://www.googleapis.com/auth/chat.spaces', and 'https://www.googleapis.com/auth/chat.bot' for app-only interactions.", - "has_native_n8n_node": true, - "has_native_node": true, - "native_node_name": "n8n-nodes-base.slack", - "auth_type": "oauth2", - "api_quality": "excellent", - "complexity": { - "score": 2, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "Native n8n node available (n8n-nodes-base.slack)" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "slack", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/check-in.json b/technical-research/check-in.json deleted file mode 100644 index e00f738..0000000 --- a/technical-research/check-in.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "Check-in", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:29:49.638Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Check-in (Checkin.com)", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication is performed via a custom HTTP header 'x-partner-key' or by passing 'clientToken' in the POST request body. API keys are managed within the Checkin.com Back-office/Dashboard.", - "api_quality": "excellent", - "api_documentation_url": "https://docs.checkin.com/", - "rate_limits": "Custom/Volume-based per partner agreement. The API returns a 429 'Too Many Requests' status code if limits are exceeded. Sandbox environments are typically limited to 50 verifications over a 14-day lifespan.", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "Verification results are asynchronous and typically take 9-30 seconds to process after user completion.", - "Final results are not visible on the client-side for security; they must be retrieved via the API or a Webhook listener.", - "Specific services like AML (Anti-Money Laundering), PEP/Sanctions, and iBAN verification must be enabled at the partner level before they can be used." - ], - "client_must_provide": [ - "API Key (x-partner-key)", - "Environment URL (Production: https://external.regily.com or Staging: https://staging-external.regily.com)" - ], - "operations_available": [ - "Create Verification Application", - "Fetch Verification Results", - "AML/Sanctions Lookup", - "Face Matching & Liveness Check", - "iBAN Account Holder Verification", - "Document Data Extraction" - ], - "confidence": 0.9, - "research_notes": "Checkin.com is a global end-to-end identity verification platform. While no native n8n node exists, it is frequently integrated using the HTTP Request node. Research also identified 'OneTap Check-in' (attendance tracking) which has a community node (n8n-nodes-onetap), and 'Checkin.no' (event management). However, Checkin.com is the most technically robust API-first service under this specific name. Integration requires handling asynchronous responses, making webhooks the preferred method for receiving verification outcomes.", - "sources_consulted": [ - "Official Checkin.com Developer Documentation", - "n8n Community Forum", - "GitHub (n8n-nodes-onetap)", - "npm Registry", - "Developer Blogs (Identity Verification workflows)" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "Checkin.com is a global end-to-end identity verification platform. While no native n8n node exists, it is frequently integrated using the HTTP Request node. Research also identified 'OneTap Check-in' (attendance tracking) which has a community node (n8n-nodes-onetap), and 'Checkin.no' (event management). However, Checkin.com is the most technically robust API-first service under this specific name. Integration requires handling asynchronous responses, making webhooks the preferred method for receiving verification outcomes." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/claims-eligibility.json b/technical-research/claims-eligibility.json deleted file mode 100644 index 837177a..0000000 --- a/technical-research/claims-eligibility.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Claims/Eligibility", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-13T02:54:35.112Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Claims/Eligibility", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating an application in the developer portal (e.g., Availity or Change Healthcare) to obtain a Client ID and Client Secret. Production access typically requires a 'Trading Partner' agreement and manual approval, which can take 2-4 weeks.", - "api_quality": "good", - "api_documentation_url": "https://developer.availity.com/partner/products", - "rate_limits": "100 transactions per second (Standard Plan); 5 transactions per second (Demo/Sandbox Plan).", - "complexity_score": 8, - "complexity_tier": "moderate", - "estimated_hours": 20, - "webhook_support": true, - "gotchas": [ - "Production approval is not instant and often requires manual vetting of the organization's HIPAA compliance.", - "Data must often be mapped to/from X12 EDI standards (270/271 for Eligibility, 837 for Claims), though modern providers like Availity and Stedi offer JSON-to-EDI translation.", - "Payer IDs are specific to each clearinghouse; you must use the clearinghouse's specific Payer List to route requests correctly.", - "Some legacy payers only support SOAP or batch SFTP, requiring complex workarounds in n8n compared to standard REST calls." - ], - "client_must_provide": [ - "Client ID and Client Secret", - "Organization ID (assigned by clearinghouse)", - "Provider NPI (National Provider Identifier)", - "Payer ID (specific to the insurance company)", - "Patient Member ID and Date of Birth" - ], - "operations_available": [ - "Eligibility & Benefits Inquiry (270/271)", - "Professional/Institutional Claim Submission (837)", - "Claim Status Request (276/277)", - "Electronic Remittance Advice (835)", - "Payer List Retrieval" - ], - "confidence": 0.95, - "research_notes": "Claims/Eligibility is a functional category in healthcare IT, primarily served by clearinghouses like Availity, Change Healthcare (Optum), and Stedi. There is no native n8n node, so integrations must use the HTTP Request node. Availity is the most documented RESTful option for n8n users. Stedi is frequently cited in developer forums as a 'modern' alternative with better JSON support. Users on Reddit and OpenEMR forums report that the 'Pending Approval' phase for production credentials is the biggest bottleneck, often taking over 20 days.", - "sources_consulted": [ - "Availity Developer Portal", - "Change Healthcare (Optum) API Docs", - "n8n Community Forum", - "Reddit (r/automation, r/healthcare)", - "Stedi Documentation", - "Claim.MD API Reference" - ], - "has_native_node": false, - "complexity": { - "score": 8, - "tier": "moderate", - "estimated_hours": 20 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 20, - "rationale": "Claims/Eligibility is a functional category in healthcare IT, primarily served by clearinghouses like Availity, Change Healthcare (Optum), and Stedi. There is no native n8n node, so integrations must use the HTTP Request node. Availity is the most documented RESTful option for n8n users. Stedi is frequently cited in developer forums as a 'modern' alternative with better JSON support. Users on Reddit and OpenEMR forums report that the 'Pending Approval' phase for production credentials is the biggest bottleneck, often taking over 20 days." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/claims-management.json b/technical-research/claims-management.json deleted file mode 100644 index 94952e6..0000000 --- a/technical-research/claims-management.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Claims Management", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:39:22.764Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Claims Management", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication is handled via a Bearer Token (API Key) passed in the 'Authorization' header. Users must generate this token within their account settings (e.g., in Claimable or LogiClaim developer portals).", - "api_quality": "excellent", - "api_documentation_url": "https://docs.claimable.com/", - "rate_limits": "100 req/min", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "Webhooks are often not self-service; for platforms like Claimable, you must contact support (help@claimable.com) to configure endpoints.", - "Many claims management APIs (like Snapsheet or Guidewire) are enterprise-grade and may require specific 'App' approval or IP whitelisting.", - "Data structures for insurance claims are highly nested, often requiring the 'Item Lists' or 'Code' node in n8n to flatten JSON responses." - ], - "client_must_provide": [ - "API Key / Bearer Token", - "Company ID or Account ID", - "Webhook Secret (if using webhooks)" - ], - "operations_available": [ - "List & Search Claims", - "Create Claim", - "Get Claim Details", - "Update Claim Status", - "List Contacts on Claim", - "Upload Documents to Claim", - "Add Notes/Internal Comments" - ], - "confidence": 0.9, - "research_notes": "The term 'Claims Management' refers to a category of software (SaaS) rather than a single provider, but 'Claimable' and 'Snapsheet' are the most prominent modern integrations for n8n. While no native node exists, community nodes for healthcare-specific claims (Office Ally, TriZetto) were found on GitHub. Most modern claims platforms use RESTful APIs with Bearer Token or OAuth2 authentication. Guidewire, the industry leader, provides a GraphQL API with a limit of 100 req/min, which is a standard baseline for the sector.", - "sources_consulted": [ - "Claimable Developer Hub", - "Snapsheet Technical Documentation", - "Guidewire Cloud API Consumer Guide", - "n8n Community Forum", - "GitHub (Velocity-BPA community nodes)", - "Salesforce Insurance Business API Docs" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 10, - "rationale": "The term 'Claims Management' refers to a category of software (SaaS) rather than a single provider, but 'Claimable' and 'Snapsheet' are the most prominent modern integrations for n8n. While no native node exists, community nodes for healthcare-specific claims (Office Ally, TriZetto) were found on GitHub. Most modern claims platforms use RESTful APIs with Bearer Token or OAuth2 authentication. Guidewire, the industry leader, provides a GraphQL API with a limit of 100 req/min, which is a standard baseline for the sector." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/claims-submission.json b/technical-research/claims-submission.json deleted file mode 100644 index 9cf2c79..0000000 --- a/technical-research/claims-submission.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Claims submission", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-11T23:48:51.031Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Claims submission", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a developer account on a clearinghouse portal (e.g., Optum/Change Healthcare or Availity). You must create an 'App' to obtain a Client ID and Client Secret, then use the Client Credentials Grant flow to generate a Bearer token.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.changehealthcare.com/eligibilityandclaims/reference/api-overview", - "rate_limits": "100 req/min (Standard Developer Tier for Optum/Change Healthcare; varies by contract and endpoint)", - "complexity_score": 8, - "complexity_tier": "complex", - "estimated_hours": 24, - "webhook_support": false, - "gotchas": [ - "Strict data validation: Even with JSON wrappers, the API requires precise medical coding (CPT, ICD-10, NPI) and follows EDI 837 standards.", - "Asynchronous processing: Submission returns an acknowledgement, but the final claim status (Paid/Denied) must be polled via a separate 'Claim Status' endpoint or retrieved via 835 Remittance files.", - "Compliance: Production access requires HIPAA-compliant hosting and a signed Business Associate Agreement (BAA)." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "Payer ID (Target Insurance Carrier)", - "NPI (National Provider Identifier)" - ], - "operations_available": [ - "Submit Professional Claim (837P)", - "Submit Institutional Claim (837I)", - "Validate Claim Syntax", - "Check Claim Status (276/277)", - "Retrieve Electronic Remittance Advice (835)" - ], - "confidence": 0.95, - "research_notes": "Claims submission is a generic term primarily referring to Healthcare EDI 837 transactions. While n8n lacks a native node, developers use the HTTP Request node to connect to clearinghouses like Change Healthcare (Optum), Availity, or Stedi. Community nodes exist for Stedi (n8n-nodes-stedi) and TriZetto. The workflow typically involves: 1. Auth via OAuth2, 2. Syntax validation, 3. Submission, and 4. Scheduled polling for status updates. Recent research highlights the 2024 Change Healthcare breach as a major reliability 'gotcha', emphasizing the need for multi-clearinghouse redundancy in production workflows.", - "sources_consulted": [ - "Official Optum Developer Portal", - "Availity Developer Portal", - "n8n Community Forum", - "GitHub (n8n-nodes-stedi)", - "YouTube (Medical Billing Automation with n8n)", - "Reddit (r/n8n and r/automation)" - ], - "has_native_node": false, - "complexity": { - "score": 8, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "Claims submission is a generic term primarily referring to Healthcare EDI 837 transactions. While n8n lacks a native node, developers use the HTTP Request node to connect to clearinghouses like Change Healthcare (Optum), Availity, or Stedi. Community nodes exist for Stedi (n8n-nodes-stedi) and TriZetto. The workflow typically involves: 1. Auth via OAuth2, 2. Syntax validation, 3. Submission, and 4. Scheduled polling for status updates. Recent research highlights the 2024 Change Healthcare breach as a major reliability 'gotcha', emphasizing the need for multi-clearinghouse redundancy in production workflows." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/claims.json b/technical-research/claims.json deleted file mode 100644 index 71ab4bd..0000000 --- a/technical-research/claims.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Claims", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:03:24.696Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Claims", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires an API Key (Bearer Token) generated from the Claimable account settings. The key must be included in the 'Authorization' header as 'Bearer '.", - "api_quality": "excellent", - "api_documentation_url": "https://claimable.com/developers", - "rate_limits": "100 requests per minute", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "Claim Types and Incident Types must be pre-configured in the Claimable UI before they can be assigned via API.", - "Labels are case-sensitive and will create duplicates if not matched exactly.", - "Webhook payloads require verification using a secret key provided in the developer portal to ensure authenticity." - ], - "client_must_provide": [ - "API Key", - "Account Access", - "Pre-defined Claim Type IDs" - ], - "operations_available": [ - "Create Claim", - "List & Search Claims", - "Get Claim Details", - "Update Claim", - "List Contacts", - "Add Contact to Claim", - "List Documents", - "Upload Document to Claim" - ], - "confidence": 0.9, - "research_notes": "The integration refers to 'Claimable' (claimable.com), a modern SaaS for claims management. While n8n lacks a native node, the REST API is highly structured and easy to implement via the HTTP Request node. Research indicates that users frequently automate insurance and warranty workflows by connecting n8n to Claimable. Note: In the UK, 'Claims' may also refer to the 'Claims Portal' (MoJ), which is a separate, more complex enterprise system requiring OAuth2 and Software House IDs.", - "sources_consulted": [ - "Official Docs", - "n8n Templates", - "GitHub Repositories", - "Community Forum", - "Developer Blogs" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "The integration refers to 'Claimable' (claimable.com), a modern SaaS for claims management. While n8n lacks a native node, the REST API is highly structured and easy to implement via the HTTP Request node. Research indicates that users frequently automate insurance and warranty workflows by connecting n8n to Claimable. Note: In the UK, 'Claims' may also refer to the 'Claims Portal' (MoJ), which is a separate, more complex enterprise system requiring OAuth2 and Software House IDs." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/clio-manage.json b/technical-research/clio-manage.json deleted file mode 100644 index 8df797e..0000000 --- a/technical-research/clio-manage.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Clio Manage", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T23:45:27.575Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Clio Manage", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a Developer Application in the Clio Manage portal to obtain a Client ID and Client Secret. Supports standard Authorization Code flow. Must specify the correct regional base URL (US, EU, CA, or AU).", - "api_quality": "excellent", - "api_documentation_url": "https://app.clio.com/api/v4/documentation", - "rate_limits": "100 requests per minute per user, with burst capacity allowed up to 200 requests.", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 16, - "webhook_support": true, - "gotchas": [ - "API endpoints and OAuth URLs differ by region (e.g., app.clio.com vs eu.app.clio.com).", - "Pagination uses a 'next' URL in the metadata which requires specific logic in n8n to follow.", - "The API is strictly versioned (v4); ensure headers specify the correct content type to avoid legacy responses." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "Account Region (US, EU, CA, or AU)", - "Developer account access" - ], - "operations_available": [ - "Create and Update Matters", - "Manage Contacts (Persons and Companies)", - "Record Time Entries and Expenses", - "Retrieve and Generate Invoices", - "Document Management and Folder Creation" - ], - "similar_integrations": [ - "HubSpot", - "Salesforce", - "Zendesk" - ], - "confidence": 0.95, - "research_notes": "Implementation requires the n8n HTTP Request node using the 'OAuth2' credential type. You must manually input the Authorization URL and Access Token URL corresponding to the user's region. For data synchronization, Clio's webhooks can be registered via the API to trigger n8n Webhook nodes.", - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 16, - "rationale": "Implementation requires the n8n HTTP Request node using the 'OAuth2' credential type. You must manually input the Authorization URL and Access Token URL corresponding to the user's region. For data synchronization, Clio's webhooks can be registered via the API to trigger n8n Webhook nodes." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/clio.json b/technical-research/clio.json deleted file mode 100644 index c891e3b..0000000 --- a/technical-research/clio.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "integration": "Clio", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-28T19:29:17.572Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Clio", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a Developer Application in the Clio Developer Portal to obtain a Client ID and Client Secret. The integration uses a standard OAuth2 flow with regional base URLs (e.g., app.clio.com for US/CA, eu.app.clio.com for Europe).", - "api_quality": "good", - "api_documentation_url": "https://app.clio.com/api/v4/documentation", - "rate_limits": "50 requests per minute during peak hours. Peak hours vary by region (e.g., US/CA: 04:00-19:00 PT, Mon-Fri). Limits are higher during off-peak hours.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "Strict rate limits (50 req/min) are easily triggered during batch operations or initial data syncs.", - "Searching for contacts by phone number is inefficient and can consume up to 5 API calls per lookup.", - "Webhooks require a near-instant 200 OK response; lengthy processing must be deferred or the webhook may be disabled.", - "Custom fields can only be queried/filtered by their internal numeric ID, not by their display name.", - "API access is restricted to 'Advanced' and 'Complete' pricing tiers; 'EasyStart' and 'Essentials' plans typically lack full API access." - ], - "client_must_provide": [ - "Clio Developer App Credentials (Client ID & Secret)", - "Clio Account with Advanced or Complete plan", - "Regional Data Center URL (US, EU, or AU)" - ], - "operations_available": [ - "Manage Matters (Create, Update, List)", - "Manage Contacts (Individuals & Companies)", - "Time Tracking & Activity Recording", - "Billing & Invoicing", - "Document & Folder Management", - "Task & Calendar Management", - "Webhook Subscription Management" - ], - "confidence": 0.95, - "research_notes": "Clio maintains two separate APIs: Clio Manage (v4) and Clio Grow (Clio Platform). Most automation workflows target Clio Manage. Since no native n8n node exists, the 'HTTP Request' node is the standard implementation method. Developers should implement exponential backoff to handle 429 'Too Many Requests' errors due to the relatively low per-minute rate limit.", - "sources_consulted": [ - "Official Clio Developer Documentation", - "Clio Pricing & Plan Comparison", - "n8n Community Forums", - "Reddit (r/legaltech, r/n8n)", - "Pipedream Integration Library", - "Clio Help Center (Rate Hierarchy & API FAQ)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Clio maintains two separate APIs: Clio Manage (v4) and Clio Grow (Clio Platform). Most automation workflows target Clio Manage. Since no native n8n node exists, the 'HTTP Request' node is the standard implementation method. Developers should implement exponential backoff to handle 429 'Too Many Requests' errors due to the relatively low per-minute rate limit." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/communication.json b/technical-research/communication.json deleted file mode 100644 index 918d572..0000000 --- a/technical-research/communication.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Communication", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T03:36:09.416Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Azure Communication Services", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "HMAC-SHA256 or OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires a signed HMAC-SHA256 string for the Authorization header using the Access Key, or a Bearer token via Azure Active Directory (Service Principal).", - "api_quality": "excellent", - "api_documentation_url": "https://learn.microsoft.com/en-us/rest/api/communication/", - "rate_limits": "Varies by sub-service: SMS is typically 20 requests per second; Email is 30 messages per minute on standard tiers.", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 16, - "webhook_support": true, - "gotchas": [ - "HMAC header signing is difficult to implement directly in the HTTP Request node and usually requires a preceding Code node.", - "Webhooks are managed via Azure Event Grid, not directly through the Communication Services API.", - "SMS functionality requires pre-registration of toll-free numbers or short codes." - ], - "client_must_provide": [ - "Azure Resource Endpoint URL", - "Primary Access Key", - "Azure Subscription ID", - "Verified Sender Domain (for Email)" - ], - "operations_available": [ - "Send SMS", - "Send Email", - "Create Chat Thread", - "Start Voice/Video Call", - "Get Message Delivery Status" - ], - "similar_integrations": [ - "Twilio", - "Vonage", - "MessageBird" - ], - "confidence": 0.9, - "research_notes": "Since no native node exists, the HTTP Request node must be used. The primary challenge is the authentication header; users should use a 'Code' node to generate the HMAC signature using the Crypto library before passing it to the HTTP Request node. Alternatively, using Azure AD OAuth2 is easier to manage within n8n's built-in OAuth2 credentials if a Service Principal is configured.", - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 16, - "rationale": "Since no native node exists, the HTTP Request node must be used. The primary challenge is the authentication header; users should use a 'Code' node to generate the HMAC signature using the Crypto library before passing it to the HTTP Request node. Alternatively, using Azure AD OAuth2 is easier to manage within n8n's built-in OAuth2 credentials if a Service Principal is configured." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/conflict-checks.json b/technical-research/conflict-checks.json deleted file mode 100644 index e6ae4a1..0000000 --- a/technical-research/conflict-checks.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Conflict Checks", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:00:27.278Z", - "model_used": "gemini-3-flash-preview", - "conflict_check_apis": [ - { - "provider": "Clio", - "api_documentation_url": "https://app.clio.com/api/v4/documentation", - "rate_limits": { - "requests_per_minute": 50, - "requests_per_hour": 1000, - "notes": "Default rate limit is 50 requests per minute during peak usage hours (04:00-19:00 Pacific Time, Mon-Fri). Off-peak limits may increase to 60 requests per minute." - }, - "auth_notes": "Uses OAuth 2.0 protocol. Requires a Client ID and Client Secret obtained from the Clio Developer Portal. Supports Authorization Code grant type for user-centric data access." - }, - { - "provider": "NetDocuments", - "api_documentation_url": "https://support.netdocuments.com/s/article/API-Documentation", - "rate_limits": { - "requests_per_minute": 100, - "notes": "Standard throttling for API connections is 100 calls per 60-second window. Specific enterprise connectors may support higher thresholds up to 100,000 requests per minute for security monitoring." - }, - "auth_notes": "Implements OAuth 2.0. Authentication tokens are valid for 40-90 days depending on scope. Supports advanced authentication options including IP restrictions and Digital Certificates." - }, - { - "provider": "Actionstep", - "api_documentation_url": "https://developer.actionstep.com/", - "rate_limits": { - "max_page_size": 200, - "notes": "Rate limits are implemented on a user-centric (session) basis with higher-order orgkey and IP address constraints. Specific per-minute numbers are dynamic based on infrastructure load as of April 2024." - }, - "auth_notes": "Uses OAuth 2.0. All API requests are security-validated against the authenticated user's granular permissions. Does not support a 'System Administrator' account for API access; requires individual user context." - }, - { - "provider": "Intapp Conflicts", - "api_documentation_url": "https://www.intapp.com/compliance/intapp-conflicts/", - "rate_limits": { - "requests_per_minute": "Custom", - "notes": "Pricing and API throughput limits are customized based on organizational needs and historical dataset size for AI training." - }, - "auth_notes": "Integrated via Intapp OnePlace API. Requires enterprise-level registration and implementation by Intapp. Supports native integration with third-party data providers like S&P Global." - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/consent-forms.json b/technical-research/consent-forms.json deleted file mode 100644 index c11256e..0000000 --- a/technical-research/consent-forms.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "Consent Forms", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T12:49:30.401Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Consent Forms", - "has_native_n8n_node": true, - "native_node_name": "Typeform", - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires a Personal Access Token. Users must log into Typeform, go to 'Settings' > 'Personal Tokens', and generate a new token with 'Forms: Read' and 'Webhooks: Read/Write' scopes.", - "api_quality": "excellent", - "api_documentation_url": "https://developer.typeform.com/", - "rate_limits": "2 requests per second (120 requests per minute)", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": true, - "gotchas": [ - "Webhook registration requires n8n to be publicly accessible (SSL/HTTPS) to receive real-time submissions.", - "Form responses are returned in a nested 'answers' array; developers often need the 'Item Lists' node or a 'Code' node to flatten the data for use in subsequent steps.", - "The 2 req/sec rate limit is shared across all API endpoints, which can be easily hit during bulk data migrations or high-frequency polling." - ], - "client_must_provide": [ - "Typeform Personal Access Token", - "Form ID (found in the Typeform URL)" - ], - "operations_available": [ - "Trigger: On Form Submission", - "Form: Get", - "Form: Get All", - "Response: Get All", - "Form: Create", - "Form: Update" - ], - "confidence": 0.95, - "research_notes": "The 'Consent Forms' integration in n8n is technically powered by the Typeform node (n8n-nodes-base.typeform), as 'Consent Forms' is a common use-case label rather than a standalone software product with a native node. Research confirms that n8n users frequently use Typeform for digital consent workflows, utilizing the native Typeform Trigger to capture signatures and agreement data. The authentication is straightforward via Personal Access Tokens, though OAuth2 is also supported for enterprise environments.", - "sources_consulted": [ - "Official Typeform Developer Documentation", - "n8n Official Documentation (Typeform Node)", - "n8n Community Forum (Webhook and Rate Limit discussions)", - "n8n Workflow Templates (School Trip Consent Form template)", - "GitHub (n8n-nodes-base source code analysis)" - ], - "has_native_node": true, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "The 'Consent Forms' integration in n8n is technically powered by the Typeform node (n8n-nodes-base.typeform), as 'Consent Forms' is a common use-case label rather than a standalone software product with a native node. Research confirms that n8n users frequently use Typeform for digital consent workflows, utilizing the native Typeform Trigger to capture signatures and agreement data. The authentication is straightforward via Personal Access Tokens, though OAuth2 is also supported for enterprise environments." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "typeform", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/contact-data.json b/technical-research/contact-data.json deleted file mode 100644 index b2523f3..0000000 --- a/technical-research/contact-data.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "integration": "Contact data", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:12:08.027Z", - "model_used": "gemini-3-flash-preview", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/credit.json b/technical-research/credit.json deleted file mode 100644 index d6440b6..0000000 --- a/technical-research/credit.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "Credit", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:57:12.964Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Credit", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires a two-step process: first, a POST request to the authentication endpoint using a Client ID and Client Secret (or Username/Password depending on the region) to obtain a JWT Bearer token, which is then used in subsequent requests.", - "api_quality": "good", - "api_documentation_url": "https://connect.creditsafe.com/documentation", - "rate_limits": "2 requests per second (Standard/Trial), up to 10 requests per second (Enterprise)", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "Token expiration: JWT tokens typically expire every 60 minutes, requiring a refresh logic within the workflow.", - "Regional Endpoints: API base URLs vary significantly by region (e.g., global vs. specific country instances).", - "Data Depth: Credit reports return deeply nested JSON structures that often require the 'Item Lists' or 'Code' node for flattening." - ], - "client_must_provide": [ - "API Client ID", - "API Client Secret", - "Target Region (e.g., UK, US, Global)" - ], - "operations_available": [ - "Search Company", - "Get Company Credit Report", - "Monitor Company (Webhooks)", - "Get Director/Officer Information", - "Check Credit Score/Limit" - ], - "confidence": 0.9, - "research_notes": "Analysis identifies 'Credit' as most likely referring to Creditsafe, the industry-standard B2B credit data provider frequently discussed in n8n forums. While no native node exists, users successfully integrate it via the HTTP Request node. The research also considered 'CreditApp' and 'CRS Credit API', but Creditsafe has the highest volume of technical community support and documented n8n use cases. Authentication is the primary hurdle, requiring a manual token-exchange flow.", - "sources_consulted": [ - "Official Creditsafe Connect API Documentation", - "n8n Community Forum (Discourse)", - "GitHub (n8n-nodes-base patterns)", - "Developer Blogs (Lilys AI, Nected)", - "NPM Registry (Community Node Search)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 10, - "rationale": "Analysis identifies 'Credit' as most likely referring to Creditsafe, the industry-standard B2B credit data provider frequently discussed in n8n forums. While no native node exists, users successfully integrate it via the HTTP Request node. The research also considered 'CreditApp' and 'CRS Credit API', but Creditsafe has the highest volume of technical community support and documented n8n use cases. Authentication is the primary hurdle, requiring a manual token-exchange flow." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/crm-system.json b/technical-research/crm-system.json deleted file mode 100644 index 0dc34d9..0000000 --- a/technical-research/crm-system.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "integration": "CRM system", - "found": true, - "generated": true, - "from_database": true, - "research_date": "2026-01-25T03:21:15.823Z", - "has_native_n8n_node": true, - "has_native_node": true, - "native_node_name": "n8n-nodes-base.hubspot", - "auth_type": "oauth2", - "api_quality": "excellent", - "complexity": { - "score": 3, - "tier": "moderate", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 8, - "rationale": "Native n8n node available (n8n-nodes-base.hubspot). LLM enhancement failed." - }, - "research_notes": "Database match only. LLM error: Gemini API key not set", - "_database_match": "hubspot" -} \ No newline at end of file diff --git a/technical-research/crm.json b/technical-research/crm.json deleted file mode 100644 index ada8fb3..0000000 --- a/technical-research/crm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "CRM", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-30T05:19:40.207Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "CRM (HubSpot)", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.hubspot", - "auth_type": "oauth2", - "auth_complexity": "moderate", - "auth_notes": "Requires a HubSpot Developer Account to create a private app or a public app for OAuth2. Scopes must be explicitly defined (e.g., crm.objects.contacts.read) to match the operations used in the workflow.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.hubspot.com/docs/api/overview", - "rate_limits": "100 requests per 10 seconds (Professional/Enterprise) or 10 requests per second (Free/Starter). Daily limits vary by tier (e.g., 250,000 to 1,000,000+).", - "complexity_score": 3, - "complexity_tier": "moderate", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "Property internal names often differ from their UI labels, requiring a lookup of the 'internal name' for mapping.", - "The Search API is limited to 10,000 total results; beyond this, filtering by ID or date ranges is required.", - "Association API behavior varies between standard objects (Contacts/Deals) and Custom Objects." - ], - "client_must_provide": [ - "HubSpot Portal ID", - "OAuth2 Client ID and Secret (if using a custom app)", - "List of custom property internal names", - "Super Admin access for scope authorization" - ], - "operations_available": [ - "Create/Update Contact", - "Search Deals", - "Get Company Details", - "Create Engagement (Note/Email)", - "List Custom Object Records" - ], - "similar_integrations": [ - "Salesforce", - "Pipedrive", - "Zoho CRM" - ], - "confidence": 0.95, - "research_notes": "HubSpot is the primary provider for this category in n8n. While the node is easy to use, complexity arises when dealing with custom properties and complex object associations.", - "has_native_node": true, - "complexity": { - "score": 3, - "tier": "moderate", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 8, - "rationale": "HubSpot is the primary provider for this category in n8n. While the node is easy to use, complexity arises when dealing with custom properties and complex object associations." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with node database" - }, - "_database_match": "hubspot", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/cross-location-sharing.json b/technical-research/cross-location-sharing.json deleted file mode 100644 index b3dad6c..0000000 --- a/technical-research/cross-location-sharing.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "integration": "Cross-location sharing", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T18:46:16.690Z", - "model_used": "gemini-3-flash-preview", - "api_name": "Uberall API", - "api_documentation_url": "https://uberall.com/en/developers/apiDocumentation", - "rate_limits": { - "login_endpoint": "4 requests per second (POST /api/users/login)", - "search_locations": "15 requests per second (GET /api/locations/)", - "general_endpoints": "10 requests per second (recommended for all other endpoints)", - "burst_limit": "Short-term bursts are monitored; exceeding the 10/s threshold consistently results in 429 Too Many Requests errors." - }, - "auth_notes": "Authentication requires two distinct API keys passed in the HTTP headers. The 'X-API-KEY' (Private Key) is used for secure server-to-server communication and provides full access to location data. The 'X-PUBLIC-API-KEY' (Public Key) is used for client-side browser requests, such as status checks, and has limited read-only permissions. Both keys are generated and managed within the Uberall platform under 'Organization Settings' -> 'API Keys'.", - "feature_details": { - "cross_location_sharing": "The API facilitates 'Synchronization' which shares and updates business data (NAP, photos, attributes) across a network of 125+ directories simultaneously. It uses a 'Field Mask' parameter to allow granular control over which data points are shared across specific locations." - }, - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/customer-lookup.json b/technical-research/customer-lookup.json deleted file mode 100644 index ea3f75b..0000000 --- a/technical-research/customer-lookup.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "integration": "Customer lookup", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-30T05:19:33.568Z", - "model_used": "gemini-3-flash-preview", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/customer-portal.json b/technical-research/customer-portal.json deleted file mode 100644 index ed00e25..0000000 --- a/technical-research/customer-portal.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "integration": "Customer Portal", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:39:19.880Z", - "model_used": "gemini-3-flash-preview", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/customer-records.json b/technical-research/customer-records.json deleted file mode 100644 index eada5e8..0000000 --- a/technical-research/customer-records.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "integration": "Customer Records", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T19:41:27.407Z", - "model_used": "gemini-3-flash-preview", - "api_name": "HubSpot CRM API (Contacts/Customer Records)", - "api_documentation_url": "https://developers.hubspot.com/docs/api/crm/contacts", - "rate_limits": { - "ten_second_rolling_window": { - "standard_limit": "100 requests per 10 seconds", - "pro_enterprise_limit": "150 requests per 10 seconds" - }, - "daily_limit": { - "free_starter_tier": "250,000 requests per day", - "pro_enterprise_tier": "500,000 requests per day" - }, - "search_api_specific": "5 requests per second per authentication token" - }, - "auth_notes": "HubSpot supports two primary authentication methods: 1. Private App Access Tokens: A Bearer token generated within the HubSpot portal, passed in the 'Authorization' header as 'Bearer [YOUR_TOKEN]'. 2. OAuth 2.0: Recommended for public integrations, requiring a standard OAuth flow to obtain an access token, also passed via the 'Authorization: Bearer' header. All requests must be made over HTTPS.", - "record_type": "Contacts (Customer Records)", - "endpoint_example": "GET https://api.hubapi.com/crm/v3/objects/contacts", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/customer-support-system.json b/technical-research/customer-support-system.json deleted file mode 100644 index 0764db2..0000000 --- a/technical-research/customer-support-system.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Customer support system", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:31:18.337Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Customer support system", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires generating an API Access Token (Bearer Token) within the system's dashboard (typically under Settings > API Tokens). For self-hosted versions like UVdesk, the API bundle must be explicitly enabled.", - "api_quality": "good", - "api_documentation_url": "https://developers.uvdesk.com/", - "rate_limits": "60 requests per minute", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "The API bundle is often a separate requirement for self-hosted/open-source installations.", - "Base URLs vary significantly between SaaS (e.g., {domain}.uvdesk.com/en/api/) and self-hosted instances.", - "Pagination uses 'page' and 'limit' query parameters rather than cursor-based navigation.", - "File attachments in ticket threads require multipart/form-data formatting in HTTP requests." - ], - "client_must_provide": [ - "API Access Token", - "Instance Base URL (Domain)" - ], - "operations_available": [ - "Create Ticket", - "List Tickets", - "Get Ticket Details", - "Add Thread (Reply)", - "List Customers", - "List Agents", - "Update Ticket Status" - ], - "confidence": 0.85, - "research_notes": "While 'Customer support system' is a generic category, UVdesk (by Webkul) is the primary product that explicitly uses this exact phrase as its core descriptor and metadata in developer portals. Investigation confirms no native n8n node exists for this specific system, necessitating the use of the HTTP Request node. The API is a standard REST implementation. Users on the n8n forum frequently discuss building 'Customer support systems' using AI agents and vector databases, but for direct integration with an existing helpdesk of this name, the UVdesk API is the most documented path.", - "sources_consulted": [ - "Official API Documentation", - "n8n Community Forum", - "n8n Templates", - "GitHub Repositories", - "YouTube Tutorials", - "Developer Blogs" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "While 'Customer support system' is a generic category, UVdesk (by Webkul) is the primary product that explicitly uses this exact phrase as its core descriptor and metadata in developer portals. Investigation confirms no native n8n node exists for this specific system, necessitating the use of the HTTP Request node. The API is a standard REST implementation. Users on the n8n forum frequently discuss building 'Customer support systems' using AI agents and vector databases, but for direct integration with an existing helpdesk of this name, the UVdesk API is the most documented path." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/customer-support.json b/technical-research/customer-support.json deleted file mode 100644 index eacf068..0000000 --- a/technical-research/customer-support.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "integration": "Customer Support", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:19:23.893Z", - "model_used": "gemini-3-flash-preview", - "customer_support_apis": [ - { - "platform": "Zendesk", - "api_documentation_url": "https://developer.zendesk.com/api-reference/ticketing/introduction/rate-limits/", - "rate_limits": { - "Team": "200 requests per minute", - "Growth": "500 requests per minute", - "Professional": "700 requests per minute", - "Enterprise": "1500 requests per minute", - "Enterprise_Plus": "2500 requests per minute", - "notes": "Limits are account-wide. High Volume API add-on can increase limits to 2500 RPM for lower plans." - }, - "authentication": { - "methods": [ - "API Token", - "OAuth2", - "Basic Authentication" - ], - "notes": "API Token uses Basic Auth with the format 'email_address/token:api_token'. OAuth2 is recommended for third-party integrations." - } - }, - { - "platform": "Intercom", - "api_documentation_url": "https://developers.intercom.com/intercom-api-reference/reference/rate-limiting", - "rate_limits": { - "per_app": "10,000 requests per minute", - "per_workspace": "25,000 requests per minute", - "notes": "Limits are distributed into 10-second windows (e.g., 1,666 requests per 10 seconds for a 10,000 RPM limit)." - }, - "authentication": { - "methods": [ - "Access Token", - "OAuth2" - ], - "notes": "Private apps use a long-lived Access Token provided in the Developer Hub. Public apps must use OAuth2." - } - }, - { - "platform": "Freshdesk", - "api_documentation_url": "https://developer.freshdesk.com/api/#ratelimit", - "rate_limits": { - "Growth": "200 requests per minute", - "Pro": "400 requests per minute", - "Enterprise": "700 requests per minute", - "Trial": "50 requests per minute", - "notes": "Limits are applied account-wide. Specific endpoints like 'Ticket Create' may have lower sub-limits (e.g., 80 RPM on Growth)." - }, - "authentication": { - "methods": [ - "API Key" - ], - "notes": "Uses Basic Auth where the API key is the username and any character (e.g., 'X') is the password." - } - }, - { - "platform": "Help Scout", - "api_documentation_url": "https://developer.helpscout.com/mailbox-api/overview/rate-limiting/", - "rate_limits": { - "Standard": "200 requests per minute", - "Plus": "400 requests per minute", - "Pro": "800 requests per minute", - "notes": "Write requests (POST, PUT, DELETE, PATCH) count as 2 requests toward the limit." - }, - "authentication": { - "methods": [ - "OAuth2" - ], - "notes": "Supports both Authorization Code flow for third-party apps and Client Credentials flow for internal integrations." - } - }, - { - "platform": "Salesforce Service Cloud", - "api_documentation_url": "https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_usage_limits.htm", - "rate_limits": { - "Daily_Limit_Formula": "100,000 + (number_of_licenses * allocation_per_license)", - "Concurrent_Limit": "25 requests (lasting 20+ seconds) for Production orgs", - "REST_Burst_Limit": "Approximately 15 requests per second", - "notes": "Limits are calculated on a rolling 24-hour window. Enterprise license allocation is typically 1,000 calls per license." - }, - "authentication": { - "methods": [ - "OAuth 2.0" - ], - "notes": "Supports multiple flows including JWT Bearer Token, Web Server, and User-Agent flows." - } - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/data-enrichment.json b/technical-research/data-enrichment.json deleted file mode 100644 index db8f4de..0000000 --- a/technical-research/data-enrichment.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "integration": "Data Enrichment", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T03:06:36.570Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Data Enrichment (People Data Labs)", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires an API Key passed in the request header as 'X-Api-Key'. This is easily configured in n8n using the 'Header Auth' credential type.", - "api_quality": "excellent", - "api_documentation_url": "https://docs.peopledatalabs.com/docs/enrichment-api", - "rate_limits": "Varies by plan; Free tier typically allows 10 requests per minute, while paid tiers scale significantly higher.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": false, - "gotchas": [ - "Credits are billed per successful match, which can lead to unexpected costs if search parameters are too broad.", - "The API is highly sensitive to input formatting; missing a 'profile' prefix on social URLs can result in 404s.", - "Response payloads are deeply nested and large, often requiring a 'Set' node or 'Code' node to flatten data for downstream use." - ], - "client_must_provide": [ - "API Key", - "Primary search identifier (Email, LinkedIn URL, or Phone Number)" - ], - "operations_available": [ - "Person Enrichment", - "Company Enrichment", - "Search API", - "Identify API", - "IP Enrichment" - ], - "similar_integrations": [ - "Clearbit", - "Hunter", - "FullContact" - ], - "confidence": 0.9, - "research_notes": "Implementation requires the HTTP Request node. Users should set the Method to GET and use Query Parameters for the enrichment keys (e.g., email=example@test.com). Because the response is a complex JSON object, it is recommended to use the 'JSON.parse()' method in a Code node if specific data cleaning is required before hitting a CRM.", - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Implementation requires the HTTP Request node. Users should set the Method to GET and use Query Parameters for the enrichment keys (e.g., email=example@test.com). Because the response is a complex JSON object, it is recommended to use the 'JSON.parse()' method in a Code node if specific data cleaning is required before hitting a CRM." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/database.json b/technical-research/database.json deleted file mode 100644 index c53a1c4..0000000 --- a/technical-research/database.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Database", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T23:45:34.495Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Database (PostgreSQL)", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.postgres", - "auth_type": "basic", - "auth_complexity": "simple", - "auth_notes": "Requires Host, Database Name, User, Password, and Port (default 5432). Support for SSL/TLS is available and often required for cloud-hosted databases.", - "api_quality": "excellent", - "api_documentation_url": "https://docs.n8n.io/integrations/builtin/nodes/n8n-nodes-base.postgres/", - "rate_limits": "No fixed API rate limits; performance is governed by database server resources, concurrent connection limits, and n8n instance memory.", - "complexity_score": 2, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": false, - "gotchas": [ - "Firewall restrictions: The n8n instance IP must be explicitly whitelisted in the database security groups or firewall settings.", - "SSL/TLS requirements: Cloud providers like Supabase or AWS RDS often require SSL 'Unauthorized' or 'Require' modes which must be toggled in the credential settings.", - "Data type casting: Complex types like JSONB or custom Enums may require explicit casting within the 'Execute Query' operation to avoid driver errors." - ], - "client_must_provide": [ - "Host/IP Address", - "Database Name", - "Username", - "Password", - "Port Number", - "SSL Mode preference" - ], - "operations_available": [ - "Insert", - "Update", - "Delete", - "Select", - "Execute Query" - ], - "similar_integrations": [ - "MySQL", - "MongoDB", - "Microsoft SQL Server" - ], - "confidence": 0.95, - "research_notes": "PostgreSQL is the primary database node for n8n. While the category is 'Database', users must specify the engine. Webhook support is marked false as Postgres requires external tools (like pg_net or Listen/Notify triggers) to push data to n8n.", - "has_native_node": true, - "complexity": { - "score": 2, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "PostgreSQL is the primary database node for n8n. While the category is 'Database', users must specify the engine. Webhook support is marked false as Postgres requires external tools (like pg_net or Listen/Notify triggers) to push data to n8n." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with node database" - }, - "_database_match": "postgres", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/delivery-orders.json b/technical-research/delivery-orders.json deleted file mode 100644 index 211e1f6..0000000 --- a/technical-research/delivery-orders.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Delivery orders", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T18:48:04.991Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Delivery orders", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a developer account by emailing 'api@delivery.com'. Once approved, you receive a client_id. Elevated access for placing orders on behalf of users (Password or Trusted flow) requires a separate application and a successful OAuth 2.0 handshake.", - "api_quality": "good", - "api_documentation_url": "https://www.delivery.com/developers/docs", - "rate_limits": "Rate limited; specific thresholds are not publicly disclosed and are assigned per partner account (standard industry limits of 60-100 req/min typically apply).", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 15, - "webhook_support": true, - "gotchas": [ - "The service is currently restricted to projects within the United States.", - "Manual vetting process: You must email the team with project details to get API keys.", - "Separate API structures: Food/Liquor orders use a different endpoint logic than Laundry/Dry Cleaning services.", - "OAuth 2.0 implementation is described as 'pretty complicated' in official docs, requiring careful token management." - ], - "client_must_provide": [ - "API Client ID", - "API Client Secret (for elevated access)", - "Approved Developer Account", - "User Access Tokens (via OAuth flow)" - ], - "operations_available": [ - "Search for local merchants (restaurants, liquor, laundry)", - "Retrieve merchant menus and product details", - "Create and process checkout orders", - "Track order status and history", - "Manage customer addresses and payment methods" - ], - "confidence": 0.9, - "research_notes": "Analysis identifies 'Delivery orders' as the integration for the Delivery.com platform. While no native n8n node exists, the platform offers a robust REST API that can be integrated using the n8n HTTP Request node. The research highlights a manual onboarding process and a focus on the US market. Community discussions in n8n and Reddit suggest that most users handle delivery orders via generic webhooks or email parsing (e.g., Uber Eats/Swiggy) because direct API access to major aggregators is often restricted to large partners.", - "sources_consulted": [ - "Official Delivery.com Developer Portal", - "n8n Community Forum", - "G2 & GetApp Technical Reviews", - "GitHub (API Specs)", - "Reddit (r/n8n)", - "Quora Developer Discussions" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 15 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 15, - "rationale": "Analysis identifies 'Delivery orders' as the integration for the Delivery.com platform. While no native n8n node exists, the platform offers a robust REST API that can be integrated using the n8n HTTP Request node. The research highlights a manual onboarding process and a focus on the US market. Community discussions in n8n and Reddit suggest that most users handle delivery orders via generic webhooks or email parsing (e.g., Uber Eats/Swiggy) because direct API access to major aggregators is often restricted to large partners." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/demo-scheduling-system.json b/technical-research/demo-scheduling-system.json deleted file mode 100644 index 180e7f5..0000000 --- a/technical-research/demo-scheduling-system.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "integration": "Demo scheduling system", - "found": true, - "generated": true, - "from_database": true, - "research_date": "2026-01-25T03:21:15.823Z", - "has_native_n8n_node": true, - "has_native_node": true, - "native_node_name": "n8n-nodes-base.calendly", - "auth_type": "api_key", - "api_quality": "good", - "complexity": { - "score": 2, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "Native n8n node available (n8n-nodes-base.calendly). LLM enhancement failed." - }, - "research_notes": "Database match only. LLM error: Gemini API key not set", - "_database_match": "calendly" -} \ No newline at end of file diff --git a/technical-research/dentrix-g7.json b/technical-research/dentrix-g7.json deleted file mode 100644 index 9e27236..0000000 --- a/technical-research/dentrix-g7.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Dentrix G7", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T22:56:59.439Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Dentrix G7", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "complex", - "auth_notes": "Requires joining the Dentrix Developer Program (DDP). Developers must sign a legal agreement, provide proof of $3,000,000 liability insurance, and pay a significant setup fee ($5,000 for READ, $5,000 for WRITE). Access is granted via an API Key and credentials after manual approval.", - "api_quality": "fair", - "api_documentation_url": "https://ddp.dentrix.com/", - "rate_limits": "30,000 calls per location/month", - "complexity_score": 9, - "complexity_tier": "enterprise", - "estimated_hours": 40, - "webhook_support": false, - "gotchas": [ - "Extremely high barrier to entry with a $5,000-$10,000 setup fee.", - "Mandatory $3,000,000 technology errors and omissions insurance requirement.", - "G7 is an on-premise system; integrations often require a local 'sync utility' or 'bridge' installed on the client's server.", - "Legacy 'Dtx API' uses DLL methods which are difficult to call directly from cloud-based n8n without a middleman." - ], - "client_must_provide": [ - "DDP API Key and Credentials", - "Certificate of Insurance ($3M aggregate)", - "Access to the local Dentrix G7 server for sync utility installation" - ], - "operations_available": [ - "v_appointment (Read/Write)", - "v_patient (Read/Write)", - "v_proclog (Ledger Transactions)", - "sp_getpatientbalance", - "v_patient_recall", - "v_clinical_notes", - "v_insurance_plans" - ], - "confidence": 0.95, - "research_notes": "Dentrix G7 is a legacy on-premise dental practice management system. While Henry Schein One has introduced the 'API Exchange' (OAuth2 based), G7 integrations typically still rely on the Dentrix Developer Program (DDP) framework. No native n8n node exists, and the high cost/legal requirements make this a strictly enterprise-level integration. Most developers use third-party bridges like NexHealth or Sikka to avoid the $10k DDP fee.", - "sources_consulted": [ - "Official Dentrix Developer Portal (ddp.dentrix.com)", - "Dentrix Enterprise API Help (hsps.pro)", - "Henry Schein One API Exchange", - "n8n Community Forums", - "Reddit (r/msp)", - "YouTube (DrDDS Innovations Technical Walkthrough)" - ], - "has_native_node": false, - "complexity": { - "score": 9, - "tier": "enterprise", - "estimated_hours": 40 - }, - "effort_recommendation": { - "tier": "enterprise", - "base_hours": 40, - "rationale": "Dentrix G7 is a legacy on-premise dental practice management system. While Henry Schein One has introduced the 'API Exchange' (OAuth2 based), G7 integrations typically still rely on the Dentrix Developer Program (DDP) framework. No native n8n node exists, and the high cost/legal requirements make this a strictly enterprise-level integration. Most developers use third-party bridges like NexHealth or Sikka to avoid the $10k DDP fee." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/digital-imaging.json b/technical-research/digital-imaging.json deleted file mode 100644 index 49c7c0e..0000000 --- a/technical-research/digital-imaging.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Digital imaging", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-11T23:49:35.578Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Digital imaging", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Most modern 'Digital Imaging' integrations utilize the DICOMweb standard. For cloud-based implementations (Google Cloud Healthcare, AWS HealthImaging, Azure Health Data Services), authentication requires OAuth2 with a Service Account or App Registration. Local PACS (Picture Archiving and Communication Systems) may use API Keys or Basic Auth via a secure gateway.", - "api_quality": "excellent", - "api_documentation_url": "https://www.dicomstandard.org/using/dicomweb", - "rate_limits": "1,000 requests per minute (default for Google Cloud Healthcare API; varies by provider)", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "Binary Data Handling: DICOM files are often very large; n8n workflows must be optimized to handle large binary objects without crashing the service.", - "Multipart Responses: DICOMweb 'Retrieve' operations often return 'multipart/related' content, which requires custom parsing in n8n (usually via a Code node) to extract individual images.", - "Metadata Tagging: Information like Patient Name or Study Date is stored in hexadecimal tags (e.g., 0010,0010), requiring a dictionary or parser to convert into readable JSON." - ], - "client_must_provide": [ - "Service Account Key (JSON) or API Key", - "DICOM Store Service URL", - "Project/Dataset ID (for Cloud providers)" - ], - "operations_available": [ - "Search (QIDO-RS)", - "Retrieve (WADO-RS)", - "Store (STOW-RS)", - "Delete", - "Retrieve Metadata" - ], - "confidence": 0.95, - "research_notes": "Digital Imaging is the technical category for DICOM (Digital Imaging and Communications in Medicine). While no native n8n node exists, a community node 'n8n-nodes-dicom' is available on npm. Most integrations are performed using the HTTP Request node to interact with DICOMweb endpoints. Major cloud providers like Google, AWS, and Azure offer managed DICOM services that are the primary targets for these integrations. Forums indicate that the biggest hurdle is parsing the specialized binary format into web-friendly formats like JPEG/PNG for use in other apps.", - "sources_consulted": [ - "Official DICOM Standard Documentation", - "Google Cloud Healthcare API Documentation", - "npmjs.com (n8n-nodes-dicom)", - "Microsoft Azure Health Data Services Portal", - "n8n Community Forum", - "YouTube (Healthcare Automation Tutorials)" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Digital Imaging is the technical category for DICOM (Digital Imaging and Communications in Medicine). While no native n8n node exists, a community node 'n8n-nodes-dicom' is available on npm. Most integrations are performed using the HTTP Request node to interact with DICOMweb endpoints. Major cloud providers like Google, AWS, and Azure offer managed DICOM services that are the primary targets for these integrations. Forums indicate that the biggest hurdle is parsing the specialized binary format into web-friendly formats like JPEG/PNG for use in other apps." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/digitalocean.json b/technical-research/digitalocean.json deleted file mode 100644 index bea5c42..0000000 --- a/technical-research/digitalocean.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "integration": "DigitalOcean", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T03:36:32.308Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "DigitalOcean", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "Bearer Token (Personal Access Token)", - "auth_complexity": "simple", - "auth_notes": "Users must generate a Personal Access Token (PAT) from the DigitalOcean Control Panel under API > Tokens/Keys. This token is passed in the 'Authorization' header as 'Bearer '.", - "api_quality": "excellent", - "api_documentation_url": "https://docs.digitalocean.com/reference/api/api-reference/", - "rate_limits": "5,000 requests per hour per token.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "Pagination uses a 'links' object in the JSON response, requiring manual loop logic in n8n to fetch all records.", - "Resource creation (like Droplets) is asynchronous; the API returns an 'Action' ID that must be polled to verify the resource is fully 'active'.", - "Destructive actions (like deleting a Droplet) return a 204 No Content, which n8n's HTTP node must be configured to handle without erroring." - ], - "client_must_provide": [ - "Personal Access Token (Read/Write scope)", - "SSH Key Fingerprint (for automated Droplet provisioning)", - "Region and Image slugs" - ], - "operations_available": [ - "List/Create/Delete Droplets", - "Manage DNS Domain Records", - "Create/Manage Snapshots and Backups", - "Manage Firewalls and Load Balancers", - "Retrieve Account Usage and Billing" - ], - "similar_integrations": [ - "AWS", - "Google Cloud Platform", - "Linode" - ], - "confidence": 0.95, - "research_notes": "Implementation requires the HTTP Request node. Authentication should be configured using 'Header Auth' or 'Predefined' credentials in n8n. Since there is no native node, developers must manually map JSON bodies for POST requests and handle the 'links.next' property for paginated GET requests using a recursive workflow or a 'Split In Batches' loop.", - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Implementation requires the HTTP Request node. Authentication should be configured using 'Header Auth' or 'Predefined' credentials in n8n. Since there is no native node, developers must manually map JSON bodies for POST requests and handle the 'links.next' property for paginated GET requests using a recursive workflow or a 'Split In Batches' loop." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/dms.json b/technical-research/dms.json deleted file mode 100644 index 612a9bc..0000000 --- a/technical-research/dms.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "integration": "DMS", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T12:57:14.483Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "DMS", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key / IAM", - "auth_complexity": "moderate", - "auth_notes": "Requires AWS IAM credentials (Access Key ID and Secret Access Key) with specific permissions for the Database Migration Service (DMS). Users must configure AWS Signature V4 if using the HTTP Request node.", - "api_quality": "excellent", - "api_documentation_url": "https://docs.aws.amazon.com/dms/latest/APIReference/Welcome.html", - "rate_limits": "200 requests per second (maximum API request quota, throttled via a token bucket system)", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "API requests are throttled at 200 per second, which can cause delays in high-volume migration task management.", - "Webhooks are not direct; they require integration with Amazon SNS (Simple Notification Service) to receive event notifications in n8n.", - "IAM permissions are granular and often lead to 'Access Denied' errors if not explicitly granted for specific replication instances or tasks.", - "The term 'DMS' is ambiguous in n8n forums, often referring to Instagram Direct Messages or the DATEV DMS (Document Management System), which has a separate community node." - ], - "client_must_provide": [ - "AWS Access Key ID", - "AWS Secret Access Key", - "AWS Region", - "IAM Policy permissions for DMS" - ], - "operations_available": [ - "CreateReplicationTask", - "StartReplicationTask", - "StopReplicationTask", - "DescribeReplicationTasks", - "DeleteReplicationTask", - "DescribeTableStatistics", - "ModifyReplicationTask", - "DescribeReplicationInstances" - ], - "confidence": 0.9, - "research_notes": "DMS primarily refers to AWS Database Migration Service in a technical API context. While n8n has a general AWS node, it does not natively support DMS operations, requiring the use of the HTTP Request node or custom community nodes. Research also identified 'DATEV DMS' as a popular integration in the German n8n community, which uses the '@klardaten/n8n-nodes-datevconnect' community node. Instagram 'DMs' are also a frequent topic but are handled via the Instagram/Meta Graph API nodes.", - "sources_consulted": [ - "Official AWS API Documentation", - "n8n Community Forum", - "AWS Pricing and Quotas Pages", - "NPM Registry (n8n-nodes-launix, @klardaten/n8n-nodes-datevconnect)", - "YouTube Integration Tutorials", - "Reddit (r/n8n)" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "DMS primarily refers to AWS Database Migration Service in a technical API context. While n8n has a general AWS node, it does not natively support DMS operations, requiring the use of the HTTP Request node or custom community nodes. Research also identified 'DATEV DMS' as a popular integration in the German n8n community, which uses the '@klardaten/n8n-nodes-datevconnect' community node. Instagram 'DMs' are also a frequent topic but are handled via the Instagram/Meta Graph API nodes." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/doctor-approved-faq-system.json b/technical-research/doctor-approved-faq-system.json deleted file mode 100644 index e8d51fb..0000000 --- a/technical-research/doctor-approved-faq-system.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "Doctor-approved FAQ system", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:24:04.054Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Doctor-approved FAQ system", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires an API key obtained from the MediSearch developer portal. The key is typically passed as a 'key' field in the JSON request body or as a header.", - "api_quality": "good", - "api_documentation_url": "https://medisearch.io/docs", - "rate_limits": "Free tier includes 1,000 total requests. Production plans are usage-based ($0.02 - $0.07 per request) with a 429 error returned upon exceeding limits.", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": false, - "gotchas": [ - "Uses Server-Sent Events (SSE) for real-time streaming, which requires specific handling in n8n (e.g., using a Code node or a streaming-compatible HTTP pattern).", - "The 'conversation' array must strictly alternate between human and AI messages, and the last message must always be from the human.", - "Requires a unique 'conversation_id' (UUID) to be generated and maintained by the client for session persistence." - ], - "client_must_provide": [ - "API Key", - "Conversation ID (UUID)", - "Specific source filters (optional, e.g., 'scientificArticles')" - ], - "operations_available": [ - "send_message (Standard/Pro)", - "send_message_async", - "streaming (SSE)", - "suggested_followups" - ], - "confidence": 0.95, - "research_notes": "The 'Doctor-approved FAQ system' refers to MediSearch, a specialized medical AI search engine that provides evidence-based answers from peer-reviewed journals and international health guidelines (WHO, CDC, etc.). While no native n8n node exists, it is frequently integrated into healthcare workflows using the HTTP Request node to power patient education portals and clinical decision support tools. Research confirmed its use in n8n-based 'Healthcare AI' templates and its availability as a Python SDK.", - "sources_consulted": [ - "Official API Documentation (medisearch.io)", - "n8n Community Forum (Medical workflow discussions)", - "YouTube (Healthcare AI Workflow Demos)", - "GitHub (medisearch-client repository)", - "PyPI (medisearch-client package details)", - "Pricing Pages (MediSearch API tiers)" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "The 'Doctor-approved FAQ system' refers to MediSearch, a specialized medical AI search engine that provides evidence-based answers from peer-reviewed journals and international health guidelines (WHO, CDC, etc.). While no native n8n node exists, it is frequently integrated into healthcare workflows using the HTTP Request node to power patient education portals and clinical decision support tools. Research confirmed its use in n8n-based 'Healthcare AI' templates and its availability as a Python SDK." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/doctor-personal-schedules.json b/technical-research/doctor-personal-schedules.json deleted file mode 100644 index 451282a..0000000 --- a/technical-research/doctor-personal-schedules.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Doctor personal schedules", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T19:23:44.338Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Doctor personal schedules", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating an application in the Press Ganey (formerly Doctor.com) Developer Portal to obtain Client ID and Client Secret. Enterprise-level access is typically required for full scheduling API features.", - "api_quality": "good", - "api_documentation_url": "https://www.pressganey.com/solutions/consumer-experience/doctor-com/", - "rate_limits": "10,000 requests/hour", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 15, - "webhook_support": true, - "gotchas": [ - "Doctor.com has been acquired by Press Ganey, and legacy API endpoints may be redirecting or requiring updated credentials.", - "Rate limits are strictly enforced per Application ID and User ID.", - "HIPAA compliance is a critical factor; data must be handled securely within n8n (self-hosting is recommended).", - "The 'Universal Online Scheduling' feature often requires specific partner-level permissions." - ], - "client_must_provide": [ - "Press Ganey/Doctor.com Developer Account", - "OAuth2 Client ID and Secret", - "API Scopes for 'Scheduling' and 'Provider Data'" - ], - "operations_available": [ - "Get Provider Availability", - "Create Appointment", - "Update Personal Schedule", - "List Doctor Locations", - "Cancel Appointment" - ], - "confidence": 0.85, - "research_notes": "The integration name 'Doctor personal schedules' refers to the scheduling capabilities of the Doctor.com platform (now Press Ganey). While no native n8n node exists, the platform offers a robust RESTful API frequently used in healthcare automation. Technical research indicates a high rate limit (10k/hr) and support for real-time webhooks, making it suitable for n8n's HTTP Request node patterns. Community discussions often focus on syncing these schedules with external tools like Google Calendar or AI-driven Telegram bots for patient booking.", - "sources_consulted": [ - "Official Press Ganey/Doctor.com Product Pages", - "IntelBee Technology Comparison (API Specs)", - "Uberall API Documentation (Doctor.com Data Schema)", - "n8n Community Forum (Medical Workflow Templates)", - "YouTube (Doctor Appointment Automation Guides)", - "GitHub (Healthcare API Integration Repositories)" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 15 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 15, - "rationale": "The integration name 'Doctor personal schedules' refers to the scheduling capabilities of the Doctor.com platform (now Press Ganey). While no native n8n node exists, the platform offers a robust RESTful API frequently used in healthcare automation. Technical research indicates a high rate limit (10k/hr) and support for real-time webhooks, making it suitable for n8n's HTTP Request node patterns. Community discussions often focus on syncing these schedules with external tools like Google Calendar or AI-driven Telegram bots for patient booking." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/doctor-schedules.json b/technical-research/doctor-schedules.json deleted file mode 100644 index f996cc2..0000000 --- a/technical-research/doctor-schedules.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Doctor schedules", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-11T23:51:30.387Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Doctor schedules", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires an API Key generated from the developer settings of a scheduling provider (e.g., Yellow Schedule or DrChrono). For custom implementations, OAuth2 is common for Google Calendar/Sheets nodes.", - "api_quality": "good", - "api_documentation_url": "https://www.yellowschedule.com/api/", - "rate_limits": "1,000 requests per day per API key (Standard Plan)", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "Rate limits are often calculated daily rather than per minute, which can lead to mid-day failures if not monitored.", - "Timezone synchronization between the API and n8n's global settings is a frequent cause of 'ghost' bookings.", - "HIPAA compliance is required for storing patient data; generic nodes like Google Sheets may require a BAA (Business Associate Agreement)." - ], - "client_must_provide": [ - "API Key", - "Provider ID", - "Access to a database (Google Sheets/Airtable) or Calendar (Google/Outlook)" - ], - "operations_available": [ - "Retrieve Appointments", - "Create Appointment", - "Update Appointment", - "Delete Appointment", - "Check Available Time Slots", - "Manage Patient Contacts" - ], - "confidence": 0.9, - "research_notes": "Research indicates 'Doctor schedules' is primarily a generic functional category rather than a single software product. In the n8n ecosystem, this is most commonly implemented as a custom workflow using Google Sheets as a database and Google Calendar for scheduling. However, for professional API-first integrations, 'Yellow Schedule' and 'DrChrono' are the leading platforms. Yellow Schedule provides a RESTful API that is highly compatible with n8n's HTTP Request node. Community sentiment on YouTube and Reddit emphasizes using AI (Gemini/OpenAI) to parse natural language appointment requests into structured JSON for these APIs.", - "sources_consulted": [ - "Official API Documentation (Yellow Schedule, DrChrono, MFine)", - "n8n Templates (Doctor Appointment Booking)", - "YouTube Tutorials (Manish Digital Academy, Fabian Markl)", - "GitHub Repositories (Klinik-Laravel-API, Doctor-Schedules-REST)", - "n8n Community Forum", - "Reddit (r/n8n)" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 12, - "rationale": "Research indicates 'Doctor schedules' is primarily a generic functional category rather than a single software product. In the n8n ecosystem, this is most commonly implemented as a custom workflow using Google Sheets as a database and Google Calendar for scheduling. However, for professional API-first integrations, 'Yellow Schedule' and 'DrChrono' are the leading platforms. Yellow Schedule provides a RESTful API that is highly compatible with n8n's HTTP Request node. Community sentiment on YouTube and Reddit emphasizes using AI (Gemini/OpenAI) to parse natural language appointment requests into structured JSON for these APIs." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/document-exchange.json b/technical-research/document-exchange.json deleted file mode 100644 index 4d593fc..0000000 --- a/technical-research/document-exchange.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Document exchange", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:51:26.932Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Document exchange", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2 (2-legged and 3-legged)", - "auth_complexity": "complex", - "auth_notes": "Requires application registration via the Intralinks Developer Portal. Access is typically not self-service and requires contacting an account manager or submitting an API Request Questionnaire. Supports both client credentials and authorization code flows, often complicated by mandatory Multi-Factor Authentication (MFA).", - "api_quality": "good", - "api_documentation_url": "https://developers.intralinks.com/", - "rate_limits": "Soft limits: 1,000 files per folder, 10,000 folders per VDR. API throttling is contract-dependent but typically optimized for enterprise throughput (approx. 100-500 req/min).", - "complexity_score": 8, - "complexity_tier": "complex", - "estimated_hours": 24, - "webhook_support": true, - "gotchas": [ - "MFA and SSO requirements often break standard automated OAuth2 flows in n8n, requiring specialized session management or 'service account' workarounds.", - "Granular Information Rights Management (IRM) and document-level permissions make mapping data structures significantly more difficult than standard file storage APIs.", - "The API is not public-facing by default; developers must often wait days or weeks for portal access approval." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "Developer Portal Credentials", - "Target VDR (Exchange) ID" - ], - "operations_available": [ - "Upload Document", - "Download Document (Signed URL)", - "List Documents and Folders", - "Create Folder", - "Manage User Permissions", - "Fetch Audit Logs" - ], - "confidence": 0.9, - "research_notes": "Analysis identifies 'Document exchange' primarily as SS&C Intralinks, the industry-standard Virtual Data Room (VDR) for high-stakes financial and legal transactions. While 'DX Document Exchange' (a UK legal delivery service) and 'Kaleido Document Exchange' (a blockchain file service) exist, Intralinks is the most frequent target for enterprise n8n integrations. No native node exists; community discussions suggest using the HTTP Request node or custom-built nodes from agencies like Matech Co. The integration is high-effort due to strict security protocols and the lack of a public sandbox.", - "sources_consulted": [ - "Official Intralinks Developer Portal", - "n8n Community Forum", - "G2 Enterprise Reviews", - "Broadcom/Symantec CloudSOC Documentation", - "Developer Blogs (Supergood.ai, Matech Co)" - ], - "has_native_node": false, - "complexity": { - "score": 8, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "Analysis identifies 'Document exchange' primarily as SS&C Intralinks, the industry-standard Virtual Data Room (VDR) for high-stakes financial and legal transactions. While 'DX Document Exchange' (a UK legal delivery service) and 'Kaleido Document Exchange' (a blockchain file service) exist, Intralinks is the most frequent target for enterprise n8n integrations. No native node exists; community discussions suggest using the HTTP Request node or custom-built nodes from agencies like Matech Co. The integration is high-effort due to strict security protocols and the lack of a public sandbox." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/document-management.json b/technical-research/document-management.json deleted file mode 100644 index 13f5889..0000000 --- a/technical-research/document-management.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "integration": "Document management", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T18:06:48.890Z", - "model_used": "gemini-3-flash-preview", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/document-storage.json b/technical-research/document-storage.json deleted file mode 100644 index 05e7286..0000000 --- a/technical-research/document-storage.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "integration": "Document storage", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:15:08.154Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Document storage", - "has_native_n8n_node": true, - "native_node_name": "Google Drive", - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a project in the Google Cloud Console, enabling the Google Drive API, and configuring the OAuth consent screen. Users must also set up a specific Redirect URI provided by n8n and add 'Test Users' if the app is not published.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.google.com/drive/api/reference/rest/v3", - "rate_limits": "12,000 requests per 60 seconds per project; 12,000 requests per 60 seconds per user; 750 GB daily upload limit.", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": true, - "gotchas": [ - "OAuth tokens expire every 7 days if the Google Cloud project is set to 'Testing' status.", - "The 'Google hasn't verified this app' warning appears unless the app is submitted for review or the user is added as a tester.", - "Redirect URI mismatches are the most common cause of '400: redirect_uri_mismatch' errors.", - "The Google Drive Trigger node in n8n is a polling trigger, not a real-time webhook, though the API itself supports push notifications." - ], - "client_must_provide": [ - "Google Cloud Project access", - "OAuth Client ID", - "OAuth Client Secret", - "Redirect URI (from n8n instance)" - ], - "operations_available": [ - "Upload File", - "Download File", - "Search Files/Folders", - "Create Folder", - "Delete File/Folder", - "Share File", - "Update File", - "Copy File", - "Move File" - ], - "confidence": 1, - "research_notes": "The integration referred to as 'Document storage' in the context of 'n8n-nodes-base.googleDrive' is the official Google Drive node. Research confirms that while the API is highly reliable and well-documented, the initial setup is the primary hurdle for developers due to Google Cloud's multi-step OAuth process. Community discussions frequently highlight issues with token expiration in non-production environments and specific folder-browsing bugs in certain n8n versions.", - "sources_consulted": [ - "Official Google Drive API Documentation", - "n8n Documentation (Google Drive Node)", - "n8n Community Forum", - "YouTube Tutorials (n8n Google Drive Setup)", - "GitHub (n8n-nodes-base source code)", - "Developer Blogs (Medium, Dev.to)" - ], - "has_native_node": true, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "The integration referred to as 'Document storage' in the context of 'n8n-nodes-base.googleDrive' is the official Google Drive node. Research confirms that while the API is highly reliable and well-documented, the initial setup is the primary hurdle for developers due to Google Cloud's multi-step OAuth process. Community discussions frequently highlight issues with token expiration in non-production environments and specific folder-browsing bugs in certain n8n versions." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "google drive", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/docusign.json b/technical-research/docusign.json deleted file mode 100644 index a5698a9..0000000 --- a/technical-research/docusign.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "integration": "DocuSign", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-28T04:47:41.147Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "DocuSign", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2 / JWT", - "auth_complexity": "complex", - "auth_notes": "Requires creating an 'App' in the DocuSign Developer Center to obtain an Integrator Key (Client ID) and Secret. n8n users typically use OAuth2 (Authorization Code Grant) for user-level access or JWT (JSON Web Token) for service-level impersonation. A mandatory 'Go-Live' review process is required to move from the demo environment to production.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.docusign.com/docs/esign-rest-api/", - "rate_limits": "1,000 requests per hour (Standard) or 3,000 (Advanced/Enterprise); Burst limit of 50 requests per 30 seconds; Polling limit of 1 GET request per unique envelope per 15 minutes.", - "complexity_score": 8, - "complexity_tier": "complex", - "estimated_hours": 15, - "webhook_support": true, - "gotchas": [ - "Mandatory Go-Live Process: You must complete 20+ successful API calls in the sandbox environment within a 24-hour window before you can request production access.", - "Polling Restriction: DocuSign strictly forbids polling for envelope status more than once every 15 minutes; use DocuSign Connect (webhooks) instead to avoid account suspension.", - "Credential Duplication: When promoting an app to production, the Integrator Key is duplicated, but Secrets, RSA Keys, and Redirect URIs are NOT copied and must be manually recreated in the production environment.", - "Environment URLs: Sandbox uses 'demo.docusign.net' while production uses 'docusign.net' (or regional variants), requiring separate credential sets in n8n." - ], - "client_must_provide": [ - "Integrator Key (Client ID)", - "Secret Key or RSA Private Key", - "DocuSign Account ID", - "Redirect URI (configured in DocuSign Dev Center)", - "Paid Production Account (for Go-Live promotion)" - ], - "operations_available": [ - "Create and Send Envelope", - "List Templates", - "Get Envelope Status", - "Download Signed Documents", - "Add/Update Recipients", - "Void Envelope", - "List Folders" - ], - "confidence": 0.95, - "research_notes": "As of early 2026, there is no official native DocuSign node in the n8n core library; users rely on the 'HTTP Request' node or the 'n8n-nodes-docusign' community node. The integration is considered complex primarily due to the 'Go-Live' certification requirements and the distinct separation between Demo and Production environments. Webhooks via 'DocuSign Connect' are highly recommended for n8n workflows to handle the 15-minute polling rule.", - "sources_consulted": [ - "Official DocuSign Developer Documentation", - "n8n Community Forum (Discussions through Jan 2026)", - "Reddit (r/n8n and r/docusign)", - "YouTube (DocuSign API Go-Live Walkthroughs)", - "Stack Overflow (OAuth vs JWT implementation)", - "DocuSign Pricing and API Tier Pages" - ], - "has_native_node": false, - "complexity": { - "score": 8, - "tier": "complex", - "estimated_hours": 15 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 15, - "rationale": "As of early 2026, there is no official native DocuSign node in the n8n core library; users rely on the 'HTTP Request' node or the 'n8n-nodes-docusign' community node. The integration is considered complex primarily due to the 'Go-Live' certification requirements and the distinct separation between Demo and Production environments. Webhooks via 'DocuSign Connect' are highly recommended for n8n workflows to handle the 15-minute polling rule." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/e-commerce-store.json b/technical-research/e-commerce-store.json deleted file mode 100644 index 546ff9d..0000000 --- a/technical-research/e-commerce-store.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "integration": "E-commerce Store", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:13:13.951Z", - "model_used": "gemini-3-flash-preview", - "api_name": "Shopify Admin API", - "api_documentation_url": "https://shopify.dev/docs/api/usage/rate-limits", - "rate_limits": { - "rest_admin_api": "2 requests per second for Standard plans, 20 requests per second for Shopify Plus, and 40 requests per second for Shopify for Enterprise (Commerce Components).", - "graphql_admin_api": "50 points per second for Standard plans, 1,000 points per second for Shopify Plus, and 2,000 points per second for Shopify for Enterprise.", - "storefront_api": "Throttled based on query complexity with a default limit of 1,000 points per minute per IP address." - }, - "auth_notes": "Authentication is primarily handled via OAuth 2.0. For public and custom apps, a permanent access token must be included in the 'X-Shopify-Access-Token' request header. Private apps may use Basic Authentication, where the API Key serves as the username and the Admin API password serves as the password. All requests must be made over HTTPS.", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/e-prescribing.json b/technical-research/e-prescribing.json deleted file mode 100644 index 6489ead..0000000 --- a/technical-research/e-prescribing.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "E-Prescribing", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:56:27.995Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "E-Prescribing", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires Machine-to-Machine (M2M) token generation via a developer portal (e.g., Photon Health or DoseSpot). Prescribing actions specifically require an authorized provider context and cannot be performed by a generic system token alone.", - "api_quality": "excellent", - "api_documentation_url": "https://docs.photon.health/", - "rate_limits": "20 requests per second", - "complexity_score": 8, - "complexity_tier": "complex", - "estimated_hours": 30, - "webhook_support": true, - "gotchas": [ - "EPCS (Electronic Prescription of Controlled Substances) requires separate, rigorous identity proofing (IDP) and two-factor authentication for the prescriber.", - "M2M tokens can manage patients and orders but cannot 'sign' a prescription without a valid provider session.", - "HIPAA compliance is mandatory; users must ensure n8n is self-hosted or on a plan that includes a Business Associate Agreement (BAA).", - "Surescripts certification is often required for production go-live, which can take 3-6 months if not using a pre-certified partner like Photon or DoseSpot." - ], - "client_must_provide": [ - "API Credentials (Client ID & Secret)", - "Provider NPI (National Provider Identifier) and DEA numbers", - "Sandbox/Staging environment access for certification testing" - ], - "operations_available": [ - "createPatient", - "createPrescription", - "cancelPrescription", - "getPharmacies", - "getMedicationHistory", - "checkInsuranceEligibility", - "getRealTimePrescriptionBenefits" - ], - "confidence": 0.95, - "research_notes": "E-Prescribing is a category of healthcare services rather than a single product. Photon Health and DoseSpot are the primary modern API providers for this category. Photon Health offers a developer-friendly GraphQL API (https://docs.photon.health/) which is the recommended path for n8n users via the HTTP Request node. No native or community nodes exist for these services, likely due to the high regulatory burden and HIPAA requirements associated with handling PHI (Protected Health Information).", - "sources_consulted": [ - "Official Docs (Photon Health)", - "Developer Blogs (DoseSpot/Healthie)", - "YouTube (n8n healthcare automation guides)", - "n8n Community Forum", - "GitHub (n8n-nodes search)" - ], - "has_native_node": false, - "complexity": { - "score": 8, - "tier": "complex", - "estimated_hours": 30 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 30, - "rationale": "E-Prescribing is a category of healthcare services rather than a single product. Photon Health and DoseSpot are the primary modern API providers for this category. Photon Health offers a developer-friendly GraphQL API (https://docs.photon.health/) which is the recommended path for n8n users via the HTTP Request node. No native or community nodes exist for these services, likely due to the high regulatory burden and HIPAA requirements associated with handling PHI (Protected Health Information)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/e-signature.json b/technical-research/e-signature.json deleted file mode 100644 index 35da82a..0000000 --- a/technical-research/e-signature.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "integration": "e-Signature", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T18:34:26.382Z", - "model_used": "gemini-3-flash-preview", - "e_signature_apis": [ - { - "provider": "DocuSign", - "api_documentation_url": "https://developers.docusign.com/docs/esign-rest-api/", - "rate_limits": { - "hourly_limit": "3,000 requests per hour (default)", - "burst_limit": "500 requests per 30-second window (production)", - "concurrency_limit": "50 concurrent requests", - "polling_limit": "1 GET request per unique envelope every 15 minutes" - }, - "auth_notes": "Supports OAuth 2.0 with three grant types: Authorization Code Grant (user-interactive), JWT Grant (service-to-service), and Implicit Grant (mobile/single-page apps). Requires an Integration Key (Client ID) and Secret Key or RSA Keypair." - }, - { - "provider": "Dropbox Sign (formerly HelloSign)", - "api_documentation_url": "https://app.hellosign.com/api/reference", - "rate_limits": { - "standard_endpoints": "100 requests per minute", - "high_tier_endpoints": "25 requests per minute", - "test_mode": "10 requests per minute" - }, - "auth_notes": "Authentication is handled via an API Key (using HTTP Basic Auth with the key as the username and an empty password) or OAuth 2.0 for third-party application access." - }, - { - "provider": "Adobe Acrobat Sign", - "api_documentation_url": "https://secure.adobesign.com/public/docs/restapi/v6", - "rate_limits": { - "enterprise_tier": "100 requests per minute", - "search_api": "1,000 requests per minute / 2,500 per hour / 7,200 per day", - "business_tier": "2,000 requests per hour", - "team_tier": "500 requests per hour" - }, - "auth_notes": "Exclusively uses OAuth 2.0 for authentication. Developers must create an application in the Adobe Sign web UI to obtain a Client ID and Client Secret. Access tokens are required for all REST API calls." - }, - { - "provider": "PandaDoc", - "api_documentation_url": "https://developers.pandadoc.com/reference/", - "rate_limits": { - "create_from_template": "500 requests per minute", - "send_document": "400 requests per minute", - "document_details": "600 requests per minute", - "sandbox_mode": "10 requests per minute" - }, - "auth_notes": "Offers two methods: API Key authentication (passed in the 'Authorization' header as 'API-Key {your_key}') and OAuth 2.0 (using 'Bearer {access_token}')." - }, - { - "provider": "BoldSign", - "api_documentation_url": "https://developers.boldsign.com/", - "rate_limits": { - "production_limit": "2,000 requests per hour per account", - "sandbox_limit": "50 requests per hour per account" - }, - "auth_notes": "Supports both API Key and OAuth 2.0. API keys are generated in the BoldSign app settings. OAuth 2.0 is recommended for multi-tenant applications." - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/ehr.json b/technical-research/ehr.json deleted file mode 100644 index de24a24..0000000 --- a/technical-research/ehr.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "EHR", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:41:27.453Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "EHR", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2 (SMART on FHIR)", - "auth_complexity": "complex", - "auth_notes": "Requires creating an application in the specific EHR's developer portal (e.g., Epic App Orchard, Athenahealth Developer, or Cerner Ignite). Most modern EHRs use the 'SMART on FHIR' OAuth2 profile, which requires handling granular scopes (e.g., 'patient/Patient.read') and often a 'Practice ID' or 'Tenant ID' in the token request.", - "api_quality": "good", - "api_documentation_url": "https://developer.athenahealth.com/docs", - "rate_limits": "10 requests/second (Standard for Lifen and Athenahealth sandbox; varies by production contract)", - "complexity_score": 9, - "complexity_tier": "complex", - "estimated_hours": 30, - "webhook_support": true, - "gotchas": [ - "n8n Cloud is not HIPAA compliant by default; self-hosting on secure infrastructure with a signed BAA is mandatory for handling PHI.", - "FHIR resource implementations (e.g., R4 vs. DSTU2) vary significantly between vendors like Epic and Cerner, requiring custom mapping logic.", - "Many EHRs require IP whitelisting for webhooks and API access, which is difficult to manage without a static IP or proxy.", - "The 'n8n-nodes-bridgegate' community node is often used as a middleware bridge for legacy HL7/EMR systems." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "Practice ID / Tenant ID", - "FHIR Base URL (Environment specific)" - ], - "operations_available": [ - "Get Patient Record", - "Create Appointment", - "List Clinical Observations", - "Upload Clinical Document", - "Search Practitioners", - "Read Medication Statement" - ], - "confidence": 0.95, - "research_notes": "EHR (Electronic Health Record) integration in n8n is a category-level task rather than a single-node connection. While no native 'EHR' node exists, the industry standard is to use the 'HTTP Request' node to interact with FHIR (Fast Healthcare Interoperability Resources) APIs. Research confirms that developers frequently use n8n for 'Medical Triage' and 'Intake Automation' by connecting to Epic, Cerner, and Athenahealth. A community node 'n8n-nodes-bridgegate' exists for those using the BridgeGate healthcare middleware. Unfiltered developer sentiment on Reddit and n8n forums emphasizes that the biggest hurdle is not the API itself, but the infrastructure requirements for HIPAA compliance and the lack of a native FHIR-mapping node.", - "sources_consulted": [ - "Official API Documentation (Athenahealth, Epic, ChARM EHR)", - "n8n Community Forum", - "n8n Workflow Templates", - "GitHub (athenahealth-mcp-server)", - "npm (n8n-nodes-bridgegate)", - "Reddit (r/n8n, r/HealthTech)" - ], - "has_native_node": false, - "complexity": { - "score": 9, - "tier": "complex", - "estimated_hours": 30 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 30, - "rationale": "EHR (Electronic Health Record) integration in n8n is a category-level task rather than a single-node connection. While no native 'EHR' node exists, the industry standard is to use the 'HTTP Request' node to interact with FHIR (Fast Healthcare Interoperability Resources) APIs. Research confirms that developers frequently use n8n for 'Medical Triage' and 'Intake Automation' by connecting to Epic, Cerner, and Athenahealth. A community node 'n8n-nodes-bridgegate' exists for those using the BridgeGate healthcare middleware. Unfiltered developer sentiment on Reddit and n8n forums emphasizes that the biggest hurdle is not the API itself, but the infrastructure requirements for HIPAA compliance and the lack of a native FHIR-mapping node." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/eld-gps.json b/technical-research/eld-gps.json deleted file mode 100644 index e95014e..0000000 --- a/technical-research/eld-gps.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "integration": "ELD/GPS", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:17:41.766Z", - "model_used": "gemini-3-flash-preview", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/electronic-signatures.json b/technical-research/electronic-signatures.json deleted file mode 100644 index 099b818..0000000 --- a/technical-research/electronic-signatures.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Electronic signatures", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:51:57.478Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Electronic signatures", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication is handled via a Secret Token found in the 'API' or 'Automation & API' section of the dashboard. The token is passed as a query parameter (e.g., ?token=your-secret-token) in the request URL.", - "api_quality": "excellent", - "api_documentation_url": "https://esignatures.com/api-reference", - "rate_limits": "Adaptive rate limiting (limits adjust based on usage patterns; the provider explicitly discourages polling and recommends webhooks to avoid blocks)", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": true, - "gotchas": [ - "API requests made from browsers will trigger a CORS error; requests must be server-side (like n8n).", - "Contracts older than two weeks may not return complete data in the API response.", - "Frequent polling of contract status can lead to temporary IP or account blocks.", - "The Secret Token is passed in the URL query string, which may be logged in some server environments." - ], - "client_must_provide": [ - "Secret Token", - "Template ID (found in the template editor)" - ], - "operations_available": [ - "Create Contract", - "List Templates", - "Get Contract Details", - "Withdraw Contract", - "Download Signed PDF", - "Delete Template", - "Add/Remove Template Collaborators" - ], - "confidence": 0.95, - "research_notes": "Electronic Signatures (esignatures.io / esignatures.com) is a popular pay-as-you-go e-signature service. While n8n does not have a native node, a community node exists (n8n-nodes-esignatures), and the API is simple enough to use with the standard HTTP Request node. The service is highly regarded for its mobile-first signing experience and transparent pricing ($0.49 - $0.99 per contract).", - "sources_consulted": [ - "Official API Documentation (esignatures.com)", - "n8n Community Forum", - "GitHub (esignaturescom/n8n-nodes-esignatures)", - "YouTube Tutorials", - "npm Registry", - "Zapier/Pabbly Integration Pages" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "Electronic Signatures (esignatures.io / esignatures.com) is a popular pay-as-you-go e-signature service. While n8n does not have a native node, a community node exists (n8n-nodes-esignatures), and the API is simple enough to use with the standard HTTP Request node. The service is highly regarded for its mobile-first signing experience and transparent pricing ($0.49 - $0.99 per contract)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/email-client.json b/technical-research/email-client.json deleted file mode 100644 index 2aa51d0..0000000 --- a/technical-research/email-client.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Email Client", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T01:17:11.858Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Email Client", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.gmail", - "auth_type": "oauth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a project in Google Cloud Console, configuring the OAuth consent screen, and enabling the Gmail API to obtain a Client ID and Client Secret.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.google.com/gmail/api/reference/rest", - "rate_limits": "250 quota units per user per second; 1,000,000,000 quota units per project per day. Sending an email costs 100 units.", - "complexity_score": 2, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": true, - "gotchas": [ - "OAuth tokens for apps in 'Testing' status expire every 7 days, requiring re-authorization.", - "Google Cloud projects must be specifically configured for 'External' or 'Internal' use; External apps require a verification process for production use.", - "Large attachments can cause memory issues in n8n as they are processed as binary data buffers." - ], - "client_must_provide": [ - "Google Cloud Console access", - "OAuth2 Client ID", - "OAuth2 Client Secret", - "Target Gmail account credentials" - ], - "operations_available": [ - "Send Email", - "List/Search Messages", - "Get Message Details", - "Add/Remove Labels", - "Create Draft" - ], - "similar_integrations": [ - "Microsoft Outlook", - "SendGrid", - "Mailgun" - ], - "confidence": 0.95, - "research_notes": "Focuses on the Gmail node as the primary n8n email client implementation. Note that for generic email needs, n8n also provides IMAP/SMTP nodes which use basic auth or app passwords.", - "has_native_node": true, - "complexity": { - "score": 2, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "Focuses on the Gmail node as the primary n8n email client implementation. Note that for generic email needs, n8n also provides IMAP/SMTP nodes which use basic auth or app passwords." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with node database" - }, - "_database_match": "gmail", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/email-legacy.json b/technical-research/email-legacy.json deleted file mode 100644 index 68ceac7..0000000 --- a/technical-research/email-legacy.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "integration": "Email/Legacy", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:19:07.666Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Email/Legacy", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.gmail", - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a project in the Google Cloud Console, enabling the Gmail API, configuring the OAuth consent screen, and generating a Client ID and Client Secret. The n8n redirect URI must be added to the authorized redirect URIs in the Google project.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.google.com/gmail/api/reference/rest", - "rate_limits": "250 quota units per second per user; 1,000,000,000 quota units per day. (Operations vary in cost: 'send' is 100 units, 'get'/'list' is 5 units).", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 6, - "webhook_support": false, - "gotchas": [ - "Refresh tokens expire after 7 days if the Google Cloud project is in 'Testing' mode, requiring manual reconnection.", - "Full Google app verification is required to remove the 'Unverified App' warning and the 7-day token limit for production use.", - "Sensitive scopes (e.g., gmail.send, gmail.readonly) are restricted and may require a security audit if the app is made public.", - "The native n8n Gmail Trigger node uses polling (default 1 minute) rather than real-time webhooks." - ], - "client_must_provide": [ - "Access to a Google Cloud Project", - "OAuth2 Client ID and Client Secret", - "Enabled Gmail API in the Google Cloud Library" - ], - "operations_available": [ - "Send Email", - "Read Email", - "List Messages", - "Create Draft", - "Search Messages", - "Add/Remove Labels", - "Delete Message", - "Watch (Polling Trigger)" - ], - "confidence": 0.95, - "research_notes": "The term 'Email/Legacy' is a legacy naming convention from Integromat (now Make) referring to IMAP/SMTP integrations. In the n8n ecosystem, this maps to the 'Email Read (IMAP)' and 'Email Send (SMTP)' nodes. However, per the provided context (n8n-nodes-base.gmail, OAuth2), the research focuses on the Gmail node, which is the modern API-based replacement for legacy email protocols. Google has deprecated 'Less Secure Apps' (password-based IMAP/SMTP), making the OAuth2-based Gmail node the standard for n8n users. Community discussions highlight the 7-day token expiry as the most common pain point for self-hosted users.", - "sources_consulted": [ - "Official n8n Documentation", - "Google Gmail API Developer Portal", - "n8n Community Forum", - "Make (Integromat) Help Center", - "Reddit (r/n8n)", - "GitHub (n8n-nodes-base source)" - ], - "has_native_node": true, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 6, - "rationale": "The term 'Email/Legacy' is a legacy naming convention from Integromat (now Make) referring to IMAP/SMTP integrations. In the n8n ecosystem, this maps to the 'Email Read (IMAP)' and 'Email Send (SMTP)' nodes. However, per the provided context (n8n-nodes-base.gmail, OAuth2), the research focuses on the Gmail node, which is the modern API-based replacement for legacy email protocols. Google has deprecated 'Less Secure Apps' (password-based IMAP/SMTP), making the OAuth2-based Gmail node the standard for n8n users. Community discussions highlight the 7-day token expiry as the most common pain point for self-hosted users." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "gmail", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/email-marketing.json b/technical-research/email-marketing.json deleted file mode 100644 index 2d4dcdf..0000000 --- a/technical-research/email-marketing.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "integration": "Email Marketing", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:27:57.386Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Email Marketing", - "has_native_n8n_node": true, - "native_node_name": "Gmail", - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a project in the Google Cloud Console, enabling the Gmail API, and configuring an OAuth consent screen to generate a Client ID and Client Secret. For self-hosted n8n, the redirect URI must be explicitly whitelisted in the Google Console.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.google.com/gmail/api/reference/rest", - "rate_limits": "250 quota units per second per user; 1,000,000,000 units per project per day. Sending an email costs 100 units, while listing/reading costs 5 units.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "Google 'Unverified App' warning: Users must click 'Advanced' to proceed during the initial OAuth flow unless the app is submitted for a lengthy verification process.", - "Daily Sending Limits: Gmail accounts are capped at 2,000 emails/day for Workspace and 500/day for personal accounts, making it unsuitable for massive cold-email blasts.", - "Polling Overhead: The Gmail Trigger node defaults to polling; setting the interval too low (e.g., 1 second) frequently triggers 429 'Rate Limit Exceeded' errors.", - "Credential Overwriting: A known community issue where multiple Gmail nodes in one workflow can sometimes overwrite each other's credentials if not named uniquely." - ], - "client_must_provide": [ - "Google Cloud Console Access", - "Client ID", - "Client Secret", - "Gmail/Workspace Account Access" - ], - "operations_available": [ - "Send Email", - "Read Email", - "List Emails", - "Delete Email", - "Add/Remove Labels", - "Create Draft", - "Reply to Thread" - ], - "confidence": 1, - "research_notes": "While 'Email Marketing' is a broad category, n8n context specifically points to the Gmail node (n8n-nodes-base.gmail). Research confirms this node is the primary tool for personalized outreach and small-scale marketing automation within n8n. For enterprise-scale marketing, n8n users typically supplement this with Mailchimp or SendGrid nodes, but Gmail remains the most common entry point due to its deep integration with Google Sheets and AI nodes for personalization.", - "sources_consulted": [ - "Official Google Gmail API Docs", - "n8n Community Forum", - "n8n Documentation", - "YouTube (Integration Walkthroughs)", - "Reddit (r/n8n)", - "GitHub (n8n-nodes-base source)" - ], - "has_native_node": true, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 10, - "rationale": "While 'Email Marketing' is a broad category, n8n context specifically points to the Gmail node (n8n-nodes-base.gmail). Research confirms this node is the primary tool for personalized outreach and small-scale marketing automation within n8n. For enterprise-scale marketing, n8n users typically supplement this with Mailchimp or SendGrid nodes, but Gmail remains the most common entry point due to its deep integration with Google Sheets and AI nodes for personalization." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "gmail", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/email-system.json b/technical-research/email-system.json deleted file mode 100644 index 07c2c51..0000000 --- a/technical-research/email-system.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "integration": "Email system", - "found": true, - "generated": true, - "from_database": true, - "research_date": "2026-01-25T03:23:07.528Z", - "has_native_n8n_node": true, - "has_native_node": true, - "native_node_name": "n8n-nodes-base.gmail", - "auth_type": "oauth2", - "api_quality": "excellent", - "complexity": { - "score": 2, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "Native n8n node available (n8n-nodes-base.gmail). LLM enhancement failed." - }, - "research_notes": "Database match only. LLM error: Gemini API key not set", - "_database_match": "gmail" -} \ No newline at end of file diff --git a/technical-research/email.json b/technical-research/email.json deleted file mode 100644 index 977822c..0000000 --- a/technical-research/email.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Email", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T00:16:12.202Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Email", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.gmail", - "auth_type": "oauth2", - "auth_complexity": "moderate", - "auth_notes": "Requires a Google Cloud Console project with the Gmail API enabled. Users must configure an OAuth consent screen and create OAuth 2.0 Client IDs. For production use, the app must be set to 'In Production' status to prevent token expiration every 7 days.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.google.com/gmail/api/reference/rest", - "rate_limits": "250 quota units per user per second; 1,000,000,000 quota units per day. Send operations cost 100 units, while metadata reads cost 5 units.", - "complexity_score": 2, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": true, - "gotchas": [ - "OAuth tokens expire every 7 days if the Google Cloud project is in 'Testing' mode.", - "Large attachments can exceed n8n memory limits if not handled as binary streams.", - "Gmail API 'Push' notifications require a Google Cloud Pub/Sub setup, which is more complex than standard webhooks." - ], - "client_must_provide": [ - "Google Cloud Console Access", - "OAuth Client ID", - "OAuth Client Secret", - "Authorized Redirect URI (from n8n)" - ], - "operations_available": [ - "Send Email", - "List Messages", - "Get Message", - "Add/Remove Labels", - "Create Draft" - ], - "similar_integrations": [ - "Microsoft Outlook", - "SendGrid", - "Mailgun" - ], - "confidence": 0.95, - "research_notes": "Analysis focused on the Gmail node as it is the primary native node for the 'Email' category in n8n. Generic SMTP/IMAP nodes are available but have different auth requirements (SSL/TLS).", - "has_native_node": true, - "complexity": { - "score": 2, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "Analysis focused on the Gmail node as it is the primary native node for the 'Email' category in n8n. Generic SMTP/IMAP nodes are available but have different auth requirements (SSL/TLS)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with node database" - }, - "_database_match": "gmail", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/engineering-drawings.json b/technical-research/engineering-drawings.json deleted file mode 100644 index 1544c8a..0000000 --- a/technical-research/engineering-drawings.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "integration": "Engineering drawings", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T18:03:16.820Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Engineering drawings", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating an application in the Procore Developer Portal to obtain a Client ID and Client Secret. Supports both Authorization Code Grant (for user-context) and Client Credentials Grant (for service-to-service). Access tokens typically expire in 15 minutes and require refresh tokens.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.procore.com/reference/rest/v1/drawings", - "rate_limits": "3,600 requests per hour (standard tier); can be increased to 7,200 or 14,400 per hour upon request to API support.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "All files uploaded to the Drawings tool must be in PDF format; other image or CAD formats are not supported for direct upload to this specific tool.", - "Rate limits are strictly hourly and reset at the top of the hour, which can cause issues for high-volume batch migrations if not handled with retries.", - "Drawing sets can be created independently of uploads via the API, unlike the Procore UI which forces simultaneous creation.", - "Binary data handling in n8n is required for uploading drawing files, necessitating the use of the 'Move Binary Data' or 'HTTP Request' node with multipart/form-data." - ], - "client_must_provide": [ - "Procore Client ID", - "Procore Client Secret", - "Company ID", - "Project ID" - ], - "operations_available": [ - "List Drawings", - "Get Drawing", - "Create Drawing Set", - "Create Drawing Upload", - "Update Drawing", - "Delete Drawing", - "List Drawing Revisions", - "List Drawing Areas", - "Get Latest Drawing Sets" - ], - "confidence": 0.9, - "research_notes": "The term 'Engineering drawings' refers to the specific 'Drawings Tool' within the Procore construction management platform, which is the industry standard for managing technical blueprints. While n8n lacks a native node, the integration is well-supported via the 'BuildFlows' community node or standard HTTP Request nodes. Research also identified Autodesk Platform Services (APS) as a secondary platform for engineering data, but Procore's 'Drawings' tool is the most direct match for the requested integration name. Common n8n use cases include automated material takeoff using AI/OCR and syncing drawing revisions to cloud storage like Google Drive or SharePoint.", - "sources_consulted": [ - "Official Procore Developer Documentation", - "n8n Community Forum", - "YouTube (BuildFlows & AI Automation Tutorials)", - "Procore Developer Portal FAQ", - "GitHub (chuongmep/n8n-aps-nodes)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "The term 'Engineering drawings' refers to the specific 'Drawings Tool' within the Procore construction management platform, which is the industry standard for managing technical blueprints. While n8n lacks a native node, the integration is well-supported via the 'BuildFlows' community node or standard HTTP Request nodes. Research also identified Autodesk Platform Services (APS) as a secondary platform for engineering data, but Procore's 'Drawings' tool is the most direct match for the requested integration name. Common n8n use cases include automated material takeoff using AI/OCR and syncing drawing revisions to cloud storage like Google Drive or SharePoint." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/enterprise-grade.json b/technical-research/enterprise-grade.json deleted file mode 100644 index 7de43b2..0000000 --- a/technical-research/enterprise-grade.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Enterprise Grade", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:49:19.970Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Enterprise Grade", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires a Secret Key (prefixed with 'sk_') generated in the WorkOS Dashboard. Authentication is performed via Bearer token in the Authorization header.", - "api_quality": "excellent", - "api_documentation_url": "https://workos.com/docs", - "rate_limits": "6,000 requests per minute (general); 500 writes per 10 seconds for AuthKit.", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "SCIM (Directory Sync) behavior varies significantly between identity providers (e.g., Okta vs. Azure AD), requiring conditional logic in workflows.", - "SSO integration requires domain verification and certificate management which can be a bottleneck for client onboarding.", - "The community node 'n8n-nodes-workos' is maintained by Velocity-BPA and must be installed manually in self-hosted instances." - ], - "client_must_provide": [ - "WorkOS Secret Key", - "Organization ID", - "Connection ID (for SSO/Directory Sync)" - ], - "operations_available": [ - "SSO Authentication", - "Directory Sync (SCIM)", - "Audit Logs (Events)", - "User Management (AuthKit)", - "Organization Management", - "Multi-Factor Authentication (MFA)" - ], - "confidence": 0.95, - "research_notes": "Research confirms 'Enterprise Grade' is the core branding for WorkOS (enterprisegrade.io), a platform providing unified APIs for enterprise features. While n8n has an 'Enterprise' plan, the prompt's specification that 'no native node exists' identifies the target as the WorkOS API, which is typically integrated via the 'n8n-nodes-workos' community node or standard HTTP Request nodes. WorkOS is the industry standard for adding SSO, SCIM, and Audit Logs to SaaS apps.", - "sources_consulted": [ - "Official API Documentation (WorkOS)", - "GitHub Repositories (Velocity-BPA/n8n-nodes-workos)", - "n8n Community Forum", - "NPM Registry", - "Developer Blogs (Apidog, Clerk, Medium)" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "Research confirms 'Enterprise Grade' is the core branding for WorkOS (enterprisegrade.io), a platform providing unified APIs for enterprise features. While n8n has an 'Enterprise' plan, the prompt's specification that 'no native node exists' identifies the target as the WorkOS API, which is typically integrated via the 'n8n-nodes-workos' community node or standard HTTP Request nodes. WorkOS is the industry standard for adding SSO, SCIM, and Audit Logs to SaaS apps." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/erp.json b/technical-research/erp.json deleted file mode 100644 index b2b3ec6..0000000 --- a/technical-research/erp.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "ERP", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:54:19.452Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "ERP (Tiny ERP)", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating an application in the Tiny ERP Developer Console to obtain a Client ID and Client Secret. Supports OAuth2 (v3) and API Key (v2).", - "api_quality": "good", - "api_documentation_url": "https://erp.tiny.com.br/public-api/v3", - "rate_limits": "Varies by subscription plan; the specific limit is returned in the 'x-limit-api' response header.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "API access is only available on the 'Crescer' plan and above; lower-tier plans cannot be integrated.", - "Rate limits are strictly enforced based on the user's plan and can be triggered during high-volume data synchronizations.", - "The community node (n8n-nodes-tiny-erp-v3) is the primary way to integrate without manual HTTP requests." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "Access to a 'Crescer' plan or higher" - ], - "operations_available": [ - "Get all products", - "Create/Update products", - "Get/Create customers", - "Manage sales orders", - "Generate invoices", - "Stock management updates" - ], - "confidence": 0.9, - "research_notes": "Analysis identifies 'Tiny ERP' (tiny.com.br) as the most relevant technical target for the 'ERP' integration name. While ERP is a generic category, Tiny ERP is a specific, widely-used product in the n8n community that lacks a native node but features a dedicated community node (n8n-nodes-tiny-erp-v3). Other major ERPs like ERPNext, Odoo, and NetSuite already possess native n8n nodes, making Tiny ERP the primary 'ERP' requiring community or HTTP-based integration patterns.", - "sources_consulted": [ - "Official API Documentation (Tiny ERP v3)", - "n8n Community Node Repository (npm/GitHub)", - "n8n Community Forum", - "Developer Blogs (Hora de Codar)", - "ERP Pricing Pages" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Analysis identifies 'Tiny ERP' (tiny.com.br) as the most relevant technical target for the 'ERP' integration name. While ERP is a generic category, Tiny ERP is a specific, widely-used product in the n8n community that lacks a native node but features a dedicated community node (n8n-nodes-tiny-erp-v3). Other major ERPs like ERPNext, Odoo, and NetSuite already possess native n8n nodes, making Tiny ERP the primary 'ERP' requiring community or HTTP-based integration patterns." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/esign.json b/technical-research/esign.json deleted file mode 100644 index 7ad818b..0000000 --- a/technical-research/esign.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "integration": "eSign", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:58:41.459Z", - "model_used": "gemini-3-flash-preview", - "service": "eSign", - "api_documentation_url": "https://esignusa.com/api-reference", - "rate_limits": { - "requests_per_minute": 30, - "burst_protection": "Enabled", - "monitoring_headers": [ - "X-RateLimit-Limit", - "X-RateLimit-Remaining", - "X-RateLimit-Reset" - ] - }, - "authentication": { - "type": "Bearer Token", - "header_format": "Authorization: Bearer ", - "auth_notes": "API keys are generated automatically upon account registration. The key must be passed in the HTTP Authorization header for all requests. Users can locate their Secret Token on the API page after logging into their eSign account." - }, - "api_base_url": "https://esignusa.com/api/", - "supported_formats": [ - "JSON" - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/estimation.json b/technical-research/estimation.json deleted file mode 100644 index 07170e4..0000000 --- a/technical-research/estimation.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Estimation", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:41:38.457Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Estimation", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating an application in the Trimble Developer Portal to obtain a Client ID and Client Secret. Access is typically restricted to corporate domains; personal email addresses (Gmail, Outlook) are often ineligible for API credentials.", - "api_quality": "good", - "api_documentation_url": "https://developer.trimble.com/", - "rate_limits": "2,000 requests per minute (rolling 60-second window)", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 16, - "webhook_support": true, - "gotchas": [ - "Personal subscribers are generally not eligible for API access; a corporate license is required.", - "The 'Estimation' product (formerly Maxwell Systems/Viewpoint) is often desktop-based, requiring the Trimble Connect cloud bridge for API interactions.", - "API keys are not self-service for all modules and may require a manual 'Request for API Credentials' form submission to Trimble support." - ], - "client_must_provide": [ - "Trimble Cloud/Corporate Account", - "Client ID", - "Client Secret", - "Project ID (from Trimble Connect)" - ], - "operations_available": [ - "Create Project", - "Get Estimate Details", - "List Project Items", - "Update Estimate Quantities", - "Download PDF Reports", - "Sync Takeoff Data" - ], - "confidence": 0.9, - "research_notes": "The 'Estimation' integration refers to Trimble Estimation (formerly Estimation.com / Maxwell Systems). While no native n8n node exists, the platform is highly integratable via the Trimble Connect REST API using the n8n HTTP Request node. Research indicates that while the legacy desktop software is offline-first, the modern cloud-based MEP (Mechanical, Electrical, Plumbing) version uses Trimble's centralized identity and data services. Users in the n8n community frequently use AI/LLM nodes to automate the 'estimation process' (parsing drawings) rather than direct API calls to this specific software, likely due to the gated nature of Trimble's developer portal.", - "sources_consulted": [ - "Official Trimble Developer Portal", - "n8n Community Forums", - "Trimble Connect API Documentation", - "SoftwareWorld Reviews", - "GetApp Integration Analysis", - "YouTube (NodeBriks Automation Tutorials)" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 16, - "rationale": "The 'Estimation' integration refers to Trimble Estimation (formerly Estimation.com / Maxwell Systems). While no native n8n node exists, the platform is highly integratable via the Trimble Connect REST API using the n8n HTTP Request node. Research indicates that while the legacy desktop software is offline-first, the modern cloud-based MEP (Mechanical, Electrical, Plumbing) version uses Trimble's centralized identity and data services. Users in the n8n community frequently use AI/LLM nodes to automate the 'estimation process' (parsing drawings) rather than direct API calls to this specific software, likely due to the gated nature of Trimble's developer portal." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/exception-tracking.json b/technical-research/exception-tracking.json deleted file mode 100644 index e3b2513..0000000 --- a/technical-research/exception-tracking.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Exception tracking", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:18:36.041Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Exception tracking", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires generating an API Key (Bearer Token) within the Project Settings of the Exceptionless dashboard. For self-hosted instances, the base URL must be updated in the HTTP Request node.", - "api_quality": "excellent", - "api_documentation_url": "https://exceptionless.com/docs/api/", - "rate_limits": "Dynamic hourly limit: (Remaining monthly events / hours left in month) * 10. Free tier allows 3,000 events/month.", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": true, - "gotchas": [ - "Hourly rate limits are dynamic and can lead to unexpected 429 errors if a burst of exceptions occurs early in the month.", - "When limits are reached, the system discards events for a 5-minute window before resuming.", - "Self-hosted Docker instances require persistent volume configuration to avoid data loss on restart.", - "The API uses a specific 'stacking' logic where similar exceptions are grouped; retrieving individual occurrences requires specific query parameters." - ], - "client_must_provide": [ - "API Key", - "Project ID", - "Organization ID (for certain management operations)" - ], - "operations_available": [ - "Create Event (Error/Log/Feature)", - "Get Event Details", - "List Events by Project", - "Get Stack (Error Group) Details", - "Mark Stack as Fixed/Hidden", - "Retrieve Project Configuration", - "Manage Webhooks" - ], - "confidence": 0.9, - "research_notes": "Analysis focused on 'Exceptionless', the most prominent open-source exception tracking service that lacks a native n8n node (unlike Sentry). While 'Exception tracking' is a category, Exceptionless is the primary tool developers integrate via HTTP Request nodes for this purpose. It offers a robust REST API and native webhook support for outbound notifications to n8n triggers.", - "sources_consulted": [ - "Official Exceptionless Documentation", - "Exceptionless GitHub Repository", - "n8n Community Forum", - "NuGet Package Manager", - "StackShare Developer Comparisons", - "OneUptime Product Pages" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "Analysis focused on 'Exceptionless', the most prominent open-source exception tracking service that lacks a native n8n node (unlike Sentry). While 'Exception tracking' is a category, Exceptionless is the primary tool developers integrate via HTTP Request nodes for this purpose. It offers a robust REST API and native webhook support for outbound notifications to n8n triggers." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/exited-market.json b/technical-research/exited-market.json deleted file mode 100644 index 3b1382a..0000000 --- a/technical-research/exited-market.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "integration": "exited market", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:46:02.488Z", - "model_used": "gemini-3-flash-preview", - "platform_name": "Enrich Layer", - "description": "A data enrichment platform providing detailed intelligence on companies, including their exit status (IPO or Acquisition), funding history, and market presence.", - "api_documentation_url": "https://enrichlayer.com/docs/api", - "rate_limits": { - "requests_per_minute": 300, - "burst_limit_per_5_minutes": 1500, - "trial_account_limit_per_minute": 2, - "plan_specific_limits": { - "pay_as_you_go": "2 requests/min", - "starter_plan_49_mo": "20 requests/min", - "growth_plan_299_mo": "50 requests/min", - "pro_plan_899_mo": "100 requests/min", - "enterprise_plan_1899_mo": "300 requests/min" - } - }, - "key_features": [ - "Company exit status tracking (IPO/Acquisition)", - "Crunchbase profile integration for exited entities", - "Real-time data enrichment for CRM and market analysis", - "Support for 429 error handling with exponential backoff" - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/facebook-lead-ads.json b/technical-research/facebook-lead-ads.json deleted file mode 100644 index 4ef3c40..0000000 --- a/technical-research/facebook-lead-ads.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "integration": "Facebook Lead Ads", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T03:35:43.942Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Facebook Lead Ads", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth 2.0 / System User Access Token", - "auth_complexity": "complex", - "auth_notes": "Requires a Meta Developer App setup. You must obtain a Long-Lived Page Access Token or a System User Token with 'leads_retrieval', 'pages_manage_metadata', and 'pages_show_list' permissions. App Review is required for live production data.", - "api_quality": "good", - "api_documentation_url": "https://developers.facebook.com/docs/marketing-api/guides/lead-ads/retrieving/", - "rate_limits": "Subject to Facebook Graph API rate limits, which are tiered based on app usage and 'Business SDK' calls. Generally 200 calls per user per hour per app.", - "complexity_score": 7, - "complexity_tier": "complex", - "estimated_hours": 16, - "webhook_support": true, - "gotchas": [ - "The webhook payload only provides a Lead ID; a second API call is required to fetch the actual field data.", - "Webhook setup requires a 'GET' verification handshake (hub.challenge) before Meta will send 'POST' data.", - "Lead data is purged from Meta's servers after 90 days." - ], - "client_must_provide": [ - "Meta Business Manager Admin access", - "Facebook Page ID", - "App ID and App Secret", - "Permanent Page Access Token" - ], - "operations_available": [ - "Retrieve Lead Details (GET /{lead_id})", - "List Lead Gen Forms (GET /{page_id}/leadgen_forms)", - "Subscribe App to Page Webhooks (POST /{page_id}/subscribed_apps)", - "Retrieve Form Questions (GET /{form_id})" - ], - "similar_integrations": [ - "LinkedIn Lead Gen Forms", - "Google Ads", - "HubSpot" - ], - "confidence": 0.95, - "research_notes": "The integration requires a two-step process: 1. A Webhook node to receive the 'leadgen' event (handling the hub.challenge verification via an If node or specific response logic). 2. An HTTP Request node using the Lead ID from the webhook to query the Graph API endpoint (graph.facebook.com/vXX.X/{lead_id}) to retrieve the PII (email, name, etc.).", - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "complex", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 16, - "rationale": "The integration requires a two-step process: 1. A Webhook node to receive the 'leadgen' event (handling the hub.challenge verification via an If node or specific response logic). 2. An HTTP Request node using the Lead ID from the webhook to query the Graph API endpoint (graph.facebook.com/vXX.X/{lead_id}) to retrieve the PII (email, name, etc.)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/fax.json b/technical-research/fax.json deleted file mode 100644 index 1534a8e..0000000 --- a/technical-research/fax.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Fax", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T01:23:36.704Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Fax (via Phaxio API)", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key and Secret (Basic Auth)", - "auth_complexity": "simple", - "auth_notes": "Authentication is typically handled via Basic Auth using the API Key as the username and API Secret as the password, or via Header-based API keys.", - "api_quality": "good", - "api_documentation_url": "https://www.phaxio.com/docs/v2/rest/", - "rate_limits": "10 requests per second for standard accounts; burstable depending on plan.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 16, - "webhook_support": true, - "gotchas": [ - "Handling binary file uploads (PDF/TIFF) in n8n's HTTP Request node requires specific 'Multipart-form-data' configuration.", - "Fax delivery is asynchronous; the initial API response only confirms receipt, not successful transmission to the recipient.", - "International faxing often requires specific country code prefixes and may have different success rates based on local infrastructure." - ], - "client_must_provide": [ - "API Key", - "API Secret", - "Verified Fax Number", - "Sample PDF for testing" - ], - "operations_available": [ - "Send Fax", - "Get Fax Status", - "List Faxes", - "Download Fax Content (PDF)", - "Cancel Pending Fax" - ], - "similar_integrations": [ - "Twilio", - "MessageBird", - "Sinch" - ], - "confidence": 0.9, - "research_notes": "Implementation requires the HTTP Request node. To send faxes, the node must be set to 'Send Binary Data' with the 'Body Content Type' set to 'Multipart-form-data'. A 'Webhook' node is necessary to receive status callbacks (e.g., 'success', 'failure') from the provider to update the workflow state.", - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 16, - "rationale": "Implementation requires the HTTP Request node. To send faxes, the node must be set to 'Send Binary Data' with the 'Body Content Type' set to 'Multipart-form-data'. A 'Webhook' node is necessary to receive status callbacks (e.g., 'success', 'failure') from the provider to update the workflow state." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/fedex-ups.json b/technical-research/fedex-ups.json deleted file mode 100644 index be42588..0000000 --- a/technical-research/fedex-ups.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "FedEx/UPS", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:35:04.576Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "FedEx/UPS", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Both carriers have transitioned to OAuth 2.0. Requires creating an 'App' in the FedEx Developer Portal and UPS Developer Portal to obtain a Client ID and Client Secret. UPS deprecated legacy Access Keys in June 2024.", - "api_quality": "fair", - "api_documentation_url": "https://developer.fedex.com/api/en-us/catalog.html", - "rate_limits": "FedEx: 1,400 req/10s (approx 8,400 RPM); UPS: 10,000 req/hour (approx 166 RPM).", - "complexity_score": 8, - "complexity_tier": "moderate", - "estimated_hours": 20, - "webhook_support": true, - "gotchas": [ - "UPS Access Keys are fully deprecated; integrations must use the new REST/OAuth2 endpoints.", - "FedEx often returns 'Content-Type' errors if headers are not precisely 'application/json' or if the body is empty.", - "UPS requires a 'transactionSrc' header in many requests to identify the source of the transaction.", - "Address Validation is typically a separate API call and may incur additional costs or require specific permissions." - ], - "client_must_provide": [ - "FedEx Developer Account Credentials", - "UPS Developer Account Credentials", - "Client ID and Client Secret for both", - "Shipping Account Numbers" - ], - "operations_available": [ - "Track Shipment", - "Create Shipment/Labels", - "Get Rates", - "Address Validation", - "Pickup Request", - "Void Shipment" - ], - "confidence": 0.95, - "research_notes": "Both FedEx and UPS have modernized their stacks to REST/OAuth2, making them compatible with n8n's HTTP Request node. However, the JSON payloads are deeply nested and require significant 'Set' or 'Code' node usage for data mapping. UPS completed a mandatory migration to OAuth2 in mid-2024, which is a frequent topic of troubleshooting in the n8n forums. FedEx documentation is split between 'Legacy' and 'Modern' portals; ensure the modern REST catalog is used.", - "sources_consulted": [ - "FedEx Developer Portal", - "UPS Developer Portal", - "n8n Community Forum", - "YouTube Technical Walkthroughs", - "Reddit (r/n8n)", - "GitHub API Documentation Repos" - ], - "has_native_node": false, - "complexity": { - "score": 8, - "tier": "moderate", - "estimated_hours": 20 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 20, - "rationale": "Both FedEx and UPS have modernized their stacks to REST/OAuth2, making them compatible with n8n's HTTP Request node. However, the JSON payloads are deeply nested and require significant 'Set' or 'Code' node usage for data mapping. UPS completed a mandatory migration to OAuth2 in mid-2024, which is a frequent topic of troubleshooting in the n8n forums. FedEx documentation is split between 'Legacy' and 'Modern' portals; ensure the modern REST catalog is used." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/fee-schedules,-recalls.json b/technical-research/fee-schedules,-recalls.json deleted file mode 100644 index 04498cf..0000000 --- a/technical-research/fee-schedules,-recalls.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "Fee schedules, recalls", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-11T23:50:50.863Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Fee schedules, recalls", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key (Bearer Token)", - "auth_complexity": "simple", - "auth_notes": "Authentication is performed via a Bearer Token in the Authorization header. Developers must obtain an API Key from the NexHealth Developer Portal or the specific Practice Management System (PMS) provider like Open Dental.", - "api_quality": "excellent", - "api_documentation_url": "https://developer.nexhealth.com/reference", - "rate_limits": "100 requests per second, 1000 requests per minute", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "Data availability for fee schedules and recalls is dependent on the sync status between the API layer (e.g., NexHealth) and the on-premise Practice Management System (PMS).", - "Fee schedule endpoints are often restricted to specific PMS versions (e.g., Dentrix G6.3+ or Open Dental 22.4+).", - "Rate limits are strictly enforced; exceeding 1000 req/min will trigger a 429 error." - ], - "client_must_provide": [ - "API Key / Bearer Token", - "Location ID (Practice ID)", - "Specific Fee Schedule ID or Patient ID for filtering" - ], - "operations_available": [ - "GET /fee_schedules (List all schedules)", - "GET /fee_schedule_procedures (View specific procedure fees)", - "GET /patient_recalls (List upcoming or overdue recalls)", - "GET /recall_types (List configured recall intervals)", - "POST /webhooks (Subscribe to recall status changes)" - ], - "confidence": 0.95, - "research_notes": "The terms 'Fee schedules' and 'recalls' are industry-standard modules within Dental Practice Management Systems (PMS). NexHealth provides the most robust unified REST API for these features, abstracting legacy systems like Dentrix and Open Dental. While no native n8n node exists, the integration is straightforward using the HTTP Request node. Open Dental's direct API is an alternative but features more complex authentication and significantly lower rate limits (1 req/sec on standard plans).", - "sources_consulted": [ - "Official API Documentation (NexHealth)", - "Open Dental Developer Portal", - "n8n Community Forum", - "YouTube (Open Dental Web Sched Tutorials)", - "Dentrix Developer Portal" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 10, - "rationale": "The terms 'Fee schedules' and 'recalls' are industry-standard modules within Dental Practice Management Systems (PMS). NexHealth provides the most robust unified REST API for these features, abstracting legacy systems like Dentrix and Open Dental. While no native n8n node exists, the integration is straightforward using the HTTP Request node. Open Dental's direct API is an alternative but features more complex authentication and significantly lower rate limits (1 req/sec on standard plans)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/fee-schedules-and-tracking.json b/technical-research/fee-schedules-and-tracking.json deleted file mode 100644 index 8d09ac8..0000000 --- a/technical-research/fee-schedules-and-tracking.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Fee schedules and tracking", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T12:38:33.225Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Fee schedules and tracking", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating an application in the BQE CORE Developer Portal to obtain a Client ID and Client Secret. Uses standard OAuth 2.0 flow with support for 'offline_access' scope to obtain refresh tokens.", - "api_quality": "good", - "api_documentation_url": "https://api.bqecore.com/swagger/index.html", - "rate_limits": "100 requests per minute (per-app-per-user for apps created after Feb 21, 2023).", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 16, - "webhook_support": true, - "gotchas": [ - "Fee schedules must be assigned to a project BEFORE time entries are logged; otherwise, the rates will not apply retroactively.", - "The API returns a 429 status code if the 100 req/min limit is exceeded, requiring robust retry logic in n8n.", - "Not all modules in the web app are exposed via the public API, though 'Fee Schedules' and 'Time/Expense Tracking' are fully supported." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "BQE CORE Account with 'Project Management' or 'Billing' subscription", - "Developer Portal Access" - ], - "operations_available": [ - "GET /feeschedules (List all schedules)", - "POST /feeschedules (Create new schedule)", - "GET /feeschedules/{id}/lines (Retrieve specific rates/lines)", - "POST /feeschedules/{id}/lines (Add rates to schedule)", - "GET /time-entries (Track and retrieve time logs)", - "POST /time-entries (Create new time tracking entries)", - "PATCH /feeschedules/{id} (Update schedule status)" - ], - "confidence": 0.9, - "research_notes": "The term 'Fee schedules and tracking' refers to the core financial and project management module within BQE CORE (formerly BillQuick). While healthcare platforms like athenahealth also use 'Fee Schedules', BQE CORE is the primary platform identified in n8n community and partner contexts (e.g., flowmondo) for professional services automation. Integration is achieved via the HTTP Request node using the RESTful API. The API is well-documented via Swagger and supports granular tracking of time and expenses against defined fee structures.", - "sources_consulted": [ - "Official BQE CORE API Documentation", - "BQE CORE Developer Portal", - "n8n Partner Integration Lists (flowmondo)", - "BQE CORE Help Center", - "athenahealth Developer Portal (for comparison)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 16, - "rationale": "The term 'Fee schedules and tracking' refers to the core financial and project management module within BQE CORE (formerly BillQuick). While healthcare platforms like athenahealth also use 'Fee Schedules', BQE CORE is the primary platform identified in n8n community and partner contexts (e.g., flowmondo) for professional services automation. Integration is achieved via the HTTP Request node using the RESTful API. The API is well-documented via Swagger and supports granular tracking of time and expenses against defined fee structures." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/fee-schedules-recalls.json b/technical-research/fee-schedules-recalls.json deleted file mode 100644 index a36bb57..0000000 --- a/technical-research/fee-schedules-recalls.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Fee Schedules/Recalls", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-13T02:54:54.993Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Fee Schedules/Recalls", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "Requires a Developer Key (from Open Dental) and a Customer Key (from the specific dental practice). Authentication is handled via custom headers in an HTTP Request node.", - "api_quality": "good", - "api_documentation_url": "https://www.opendental.com/site/apispecification.html", - "rate_limits": "Free: 1 req/5s; $15/mo: 1 req/s; $30/mo: 1 req/500ms (per location).", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 16, - "webhook_support": true, - "gotchas": [ - "HIPAA compliance: Workflows involving Patient Health Information (PHI) must be self-hosted and secured.", - "Throttling: The API is strictly throttled based on the subscription tier; exceeding limits results in 429 errors.", - "Version Lock: Certain API features (like ASAPComms support for recalls) require specific Open Dental versions (e.g., 23.3+)." - ], - "client_must_provide": [ - "Open Dental Developer Key", - "Practice Customer Key", - "API Service enabled in Open Dental Setup" - ], - "operations_available": [ - "GET /recalls", - "POST /recalls", - "PUT /recalls", - "GET /feeschedules", - "POST /feeschedules", - "GET /recalltypes", - "GET /procedures/fees" - ], - "confidence": 0.95, - "research_notes": "The term 'Fee Schedules/Recalls' refers to core modules within the Open Dental Practice Management System. While no native n8n node exists, the integration is commonly achieved using the HTTP Request node. NexHealth also provides a 'Universal API' aggregator that covers these same endpoints for multiple dental systems (Dentrix, Eaglesoft) with OAuth2 support. For n8n, users typically follow community templates for Open Dental to automate patient re-care (Recalls) and insurance billing (Fee Schedules).", - "sources_consulted": [ - "Official Open Dental API Documentation", - "NexHealth Developer Portal", - "n8n Community Forum", - "Reddit (r/n8n)", - "YouTube (Integration Walkthroughs)" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 16, - "rationale": "The term 'Fee Schedules/Recalls' refers to core modules within the Open Dental Practice Management System. While no native n8n node exists, the integration is commonly achieved using the HTTP Request node. NexHealth also provides a 'Universal API' aggregator that covers these same endpoints for multiple dental systems (Dentrix, Eaglesoft) with OAuth2 support. For n8n, users typically follow community templates for Open Dental to automate patient re-care (Recalls) and insurance billing (Fee Schedules)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/feedback.json b/technical-research/feedback.json deleted file mode 100644 index b2ce771..0000000 --- a/technical-research/feedback.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Feedback", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:27:28.367Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Feedback", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication is performed via HTTP Basic Auth. The API Token should be provided as the username, with the password field left blank (or a colon appended in cURL). Tokens are managed in the 'Integrations' tab under account settings.", - "api_quality": "good", - "api_documentation_url": "https://api.feedbackapi.com/v1.3/", - "rate_limits": "120 req/min (Estimated based on industry standards for similar platforms like Mindful Feedback; the API returns a 429 error and recommends exponential backoff when limits are exceeded).", - "complexity_score": 3, - "complexity_tier": "simple", - "estimated_hours": 6, - "webhook_support": true, - "gotchas": [ - "The API requires a client that supports SNI (Server Name Indication), which is standard for n8n but critical for custom environments.", - "Parameters must be serialized in JSON and passed in the request body; query string parameters are not supported for POST/PUT operations.", - "The API uses a specific media type 'application/vnd.api+json', though standard 'application/json' is generally accepted." - ], - "client_must_provide": [ - "API Token", - "Account ID (for specific resource scoping)" - ], - "operations_available": [ - "List Subscribers", - "Create Feedback Request", - "Retrieve Review Data", - "Update Customer Profile", - "Delete Subscriber" - ], - "confidence": 0.9, - "research_notes": "The research identified 'FeedbackAPI' (feedbackapi.com) as the most direct technical match for the integration name. While 'Feedback' is a generic term often used for native n8n 'Human in the Loop' patterns or tools like Pendo Feedback and Zonka Feedback, FeedbackAPI.com provides a standalone RESTful service specifically for review and NPS management. No native n8n node exists, so the HTTP Request node is the standard implementation path.", - "sources_consulted": [ - "Official FeedbackAPI Documentation", - "n8n Community Forum", - "Pendo Developer Portal", - "Mindful Feedback API Reference", - "GitHub Repository (API SDKs)" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "simple", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "simple", - "base_hours": 6, - "rationale": "The research identified 'FeedbackAPI' (feedbackapi.com) as the most direct technical match for the integration name. While 'Feedback' is a generic term often used for native n8n 'Human in the Loop' patterns or tools like Pendo Feedback and Zonka Feedback, FeedbackAPI.com provides a standalone RESTful service specifically for review and NPS management. No native n8n node exists, so the HTTP Request node is the standard implementation path." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/field-service-crm-inventory.json b/technical-research/field-service-crm-inventory.json deleted file mode 100644 index 74cffc8..0000000 --- a/technical-research/field-service-crm-inventory.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Field Service/CRM/Inventory", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-11T18:37:34.100Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Field Service/CRM/Inventory (HubSpot)", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.hubspot", - "auth_type": "OAuth2 / Private App Access Token", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a 'Private App' in the HubSpot Settings > Integrations portal. Users must manually select 'Scopes' (permissions) for each object type (e.g., crm.objects.contacts, tickets, e-commerce).", - "api_quality": "excellent", - "api_documentation_url": "https://developers.hubspot.com/docs/api/overview", - "rate_limits": "100 requests per 10 seconds (Free/Starter), 150 requests per 10 seconds (Professional/Enterprise), and 200 requests per 10 seconds (with API Add-on). Daily limits range from 250,000 to 1,000,000+.", - "complexity_score": 5, - "complexity_tier": "moderate", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "The native 'HubSpot Trigger' node can experience scope mismatch errors; many developers recommend using a standard n8n 'Webhook' node triggered by a HubSpot 'Workflow' for better reliability.", - "Associations between objects (e.g., linking a Ticket to a specific Inventory Product) often require a secondary 'Association' API call if not handled by the specific node operation.", - "Rate limits are calculated in 10-second bursts; high-frequency loops in n8n may require a 'Wait' node to avoid 429 errors.", - "Inventory tracking via 'Products' is standard, but advanced inventory logic often requires 'Custom Objects' which are only available on Enterprise plans." - ], - "client_must_provide": [ - "HubSpot Portal Admin Access", - "Private App Access Token", - "List of required Scopes (CRM, Tickets, Products)" - ], - "operations_available": [ - "Create/Update/Get/Search Contacts & Companies", - "Manage Tickets (Field Service)", - "Manage Deals & Pipelines", - "Manage Products & Line Items (Inventory)", - "Custom Object CRUD (Enterprise only)", - "File Uploads/Engagements" - ], - "confidence": 1, - "research_notes": "Confirmed that 'Field Service/CRM/Inventory' refers to the HubSpot suite (Service Hub, Sales Hub, and Operations Hub) as indicated by the n8n-nodes-base.hubspot context. HubSpot is the primary tool for this trifecta in the n8n ecosystem. Research highlights that while the native node is powerful, complex field service workflows often rely on 'Tickets' and 'Custom Objects'.", - "sources_consulted": [ - "Official HubSpot Developer Documentation", - "n8n Community Forums", - "YouTube (HubSpot n8n Integration Tutorials)", - "HubSpot Pricing & Limits Page", - "Reddit (r/n8n and r/CRM)" - ], - "has_native_node": true, - "complexity": { - "score": 5, - "tier": "moderate", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 10, - "rationale": "Confirmed that 'Field Service/CRM/Inventory' refers to the HubSpot suite (Service Hub, Sales Hub, and Operations Hub) as indicated by the n8n-nodes-base.hubspot context. HubSpot is the primary tool for this trifecta in the n8n ecosystem. Research highlights that while the native node is powerful, complex field service workflows often rely on 'Tickets' and 'Custom Objects'." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "hubspot", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/field-service-crm.json b/technical-research/field-service-crm.json deleted file mode 100644 index 30da021..0000000 --- a/technical-research/field-service-crm.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Field Service/CRM", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:36:42.646Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Field Service/CRM", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.hubspot", - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a 'Public App' in the HubSpot Developer Portal to obtain a Client ID and Client Secret. The n8n OAuth2 callback URL must be added to the app's redirect URLs. Alternatively, 'Private Apps' can be used for simpler Access Token authentication.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.hubspot.com/docs/api/overview", - "rate_limits": "100 req/10s (Free/Starter), 150 req/10s (Pro/Enterprise), 200 req/10s (API Add-on). Daily limits range from 250k to 1M+ based on tier.", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": true, - "gotchas": [ - "The HubSpot Trigger node often requires a Public App (OAuth2) rather than a Private App to function correctly for all event types.", - "Object associations (e.g., linking a Ticket to a Company) require IDs to be passed as an array; passing a single string often triggers an 'is not iterable' error.", - "Rate limits are enforced in 10-second bursts, which can cause 429 errors in high-concurrency workflows if not handled with n8n's 'Wait' node or retry logic." - ], - "client_must_provide": [ - "HubSpot Developer Portal access (for Public App creation)", - "Super Admin access to the HubSpot portal", - "Client ID and Client Secret" - ], - "operations_available": [ - "Create/Update/Get/Search Contacts", - "Create/Update/Get/Search Companies", - "Create/Update/Get/Search Deals", - "Create/Update/Get/Search Tickets (Field Service core)", - "Manage Tasks and Engagements", - "Manage Custom Objects (Enterprise only)" - ], - "confidence": 1, - "research_notes": "The provided context 'n8n-nodes-base.hubspot' confirms that 'Field Service/CRM' refers to HubSpot's CRM and Service Hub capabilities. HubSpot uses 'Tickets' as the primary entity for field service management. The integration is highly mature with a native n8n node. Forums highlight that while the node is powerful, complex associations between objects (like linking a field technician's task to a specific service ticket) often require using the 'HTTP Request' node to access specific CRM v3 endpoints not yet fully mapped in the native node.", - "sources_consulted": [ - "Official HubSpot Developer Documentation", - "n8n Node Documentation", - "n8n Community Forums", - "HubSpot Status Page", - "YouTube Integration Tutorials" - ], - "has_native_node": true, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "The provided context 'n8n-nodes-base.hubspot' confirms that 'Field Service/CRM' refers to HubSpot's CRM and Service Hub capabilities. HubSpot uses 'Tickets' as the primary entity for field service management. The integration is highly mature with a native n8n node. Forums highlight that while the node is powerful, complex associations between objects (like linking a field technician's task to a specific service ticket) often require using the 'HTTP Request' node to access specific CRM v3 endpoints not yet fully mapped in the native node." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "hubspot", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/financing.json b/technical-research/financing.json deleted file mode 100644 index c89d560..0000000 --- a/technical-research/financing.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Financing", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-11T18:39:42.286Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Financing (Forward Financing)", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication is handled via a static API key provided by the Forward Financing partner team. The key must be included in the HTTP header as 'api_key'. All requests must be made over HTTPS; HTTP requests will return a 403 Forbidden error.", - "api_quality": "good", - "api_documentation_url": "https://forwardfinancingapi.docs.apiary.io/", - "rate_limits": "1 request per second (429 Too Many Requests if exceeded)", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "Strict HTTPS requirement: Any request sent over HTTP will be rejected with a 403 error due to sensitive personal data handling.", - "Attachment limitations: Only one file can be uploaded per request. For multiple documents, separate POST requests must be made for each file.", - "Binary Data Handling: n8n users must use the 'Binary' property in the HTTP Request node to send files as raw binary, or Base64 encode them and set the 'encoded=true' query parameter.", - "Rate Limit: The limit is quite low (1 req/sec), requiring the use of n8n's 'Wait' node or 'Split In Batches' for bulk lead submissions." - ], - "client_must_provide": [ - "API Key (obtained from Forward Financing partner support)", - "Partner ID", - "Access to the Forward Financing Partner Portal for testing" - ], - "operations_available": [ - "Submit a New Lead (POST /leads)", - "Submit an Attachment File (POST /attachments)", - "Submit an Attachment From a URL (POST /attachments)", - "Retrieve Lead Status (GET /leads/{id})", - "Webhook Notifications for Status Changes" - ], - "confidence": 0.9, - "research_notes": "Research identified 'Forward Financing' as the most technically relevant platform matching the 'Financing' integration request. A critical finding was a job posting from Forward Financing explicitly listing n8n as a core part of their technology stack for automating financial workflows. The API is well-documented on Apiary and follows standard REST patterns, making it easily integrable via n8n's HTTP Request node. No community-built node was found on npm, suggesting users typically implement this via custom HTTP calls. The low rate limit (1 req/sec) is a significant factor for workflow design.", - "sources_consulted": [ - "Official API Documentation (Apiary)", - "n8n Community Forum", - "GitHub Repositories", - "BuiltIn (Job Postings/Tech Stack)", - "Reddit (Developer Sentiment)", - "n8n Templates Library" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 12, - "rationale": "Research identified 'Forward Financing' as the most technically relevant platform matching the 'Financing' integration request. A critical finding was a job posting from Forward Financing explicitly listing n8n as a core part of their technology stack for automating financial workflows. The API is well-documented on Apiary and follows standard REST patterns, making it easily integrable via n8n's HTTP Request node. No community-built node was found on npm, suggesting users typically implement this via custom HTTP calls. The low rate limit (1 req/sec) is a significant factor for workflow design." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/follow-up-boss.json b/technical-research/follow-up-boss.json deleted file mode 100644 index 1a5341d..0000000 --- a/technical-research/follow-up-boss.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Follow Up Boss", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:17:08.330Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Follow Up Boss", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key (Basic Auth)", - "auth_complexity": "simple", - "auth_notes": "Authentication is performed via HTTP Basic Auth. Use the API Key as the 'User' and leave the 'Password' field blank. API keys are generated in the Admin > API section of the Follow Up Boss dashboard.", - "api_quality": "excellent", - "api_documentation_url": "https://api.followupboss.com/", - "rate_limits": "250 requests per 10 seconds (Global); 20 requests per 10 seconds (Events GET); Unlimited (Events POST for lead submission).", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "API Key permissions are scoped to the user who generated them; an Agent's key only sees their assigned contacts, while an Owner's key sees everything.", - "Webhook management (Create/Update/Delete) is strictly restricted to the Account Owner.", - "To increase rate limits or use 'Inbox Apps', you must register your integration as a 'System' to receive 'X-System' and 'X-System-Key' headers.", - "Action plans cannot be triggered directly via the /events lead creation endpoint; they require a secondary call to the /actionPlansPeople endpoint.", - "Webhook endpoints must respond with a 2XX status within 10 seconds or the delivery will be marked as failed and retried for up to 8 hours." - ], - "client_must_provide": [ - "API Key", - "Account Owner access (if webhooks are required)", - "Registered System Name/Key (for high-volume production use)" - ], - "operations_available": [ - "Create/Update/Delete People", - "Create/Update/Delete Notes", - "Log Calls and Text Messages", - "Manage Tasks and Appointments", - "Manage Deals and Stages", - "Lead Submission (Events API)", - "Manage Webhooks" - ], - "confidence": 1, - "research_notes": "Follow Up Boss provides a very mature REST API (v1). While there is no native n8n node, the platform is highly compatible with n8n's HTTP Request node. The documentation is clear about the 'X-System' header requirement for production-grade integrations to avoid the default 250 req/10s limit. Community sentiment is positive, with many real estate automation experts providing n8n templates for lead routing and AI follow-up.", - "sources_consulted": [ - "Official API Documentation (api.followupboss.com)", - "n8n Community Forum", - "YouTube Tutorials (Nexus 6, Bold Slate)", - "Follow Up Boss Pricing & Help Center", - "Make/Pipedream Integration Guides" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 12, - "rationale": "Follow Up Boss provides a very mature REST API (v1). While there is no native n8n node, the platform is highly compatible with n8n's HTTP Request node. The documentation is clear about the 'X-System' header requirement for production-grade integrations to avoid the default 250 req/10s limit. Community sentiment is positive, with many real estate automation experts providing n8n templates for lead routing and AI follow-up." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/fraud-detection.json b/technical-research/fraud-detection.json deleted file mode 100644 index 84a30b9..0000000 --- a/technical-research/fraud-detection.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Fraud Detection", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:40:49.156Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Fraud Detection", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires an API Key from a fraud detection provider (most commonly IPQualityScore for n8n users). Authentication is typically handled via path parameters in the request URL (e.g., https://ipqualityscore.com/api/json/ip/[API_KEY]/[IP_ADDRESS]) or via an 'X-API-KEY' header for providers like SEON.", - "api_quality": "excellent", - "api_documentation_url": "https://www.ipqualityscore.com/documentation/overview", - "rate_limits": "Free: 1,000 req/mo (35/day); Startup: 5,000 req/mo (250/day); SMB Basic: 10,000 req/mo (20 req/sec).", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": true, - "gotchas": [ - "The Free plan for popular providers like IPQualityScore has a strict daily limit (35 lookups) that is easily exhausted during workflow debugging.", - "Community nodes (like 'n8n-nodes-greip') may require self-hosting n8n, as cloud support for community packages can be restricted depending on the plan.", - "Fraud detection often requires separate API calls for different data types (IP, Email, Phone), which can increase the number of executions in a workflow.", - "Registration for API keys is often blocked if the developer is using a VPN or Proxy during the signup process." - ], - "client_must_provide": [ - "API Key", - "Target data for analysis (IP address, Email, or Phone number)" - ], - "operations_available": [ - "IP Reputation & Proxy/VPN Detection", - "Email Address Validation & Disposable Email Check", - "Phone Number Risk Scoring", - "Malicious URL & Phishing Scanner", - "Device Fingerprinting & Bot Detection" - ], - "confidence": 0.95, - "research_notes": "While no native 'Fraud Detection' node exists, n8n users implement this functionality primarily through the IPQualityScore (IPQS) API using the HTTP Request node. IPQS is the featured provider in official n8n templates for email security and transaction monitoring. A community node 'n8n-nodes-greip' is also available for self-hosted users, offering dedicated operations for payment fraud and risk scoring. Most workflows follow a pattern of: Webhook Trigger -> HTTP Request (Fraud API) -> IF Node (Score > Threshold) -> Alert/Block action.", - "sources_consulted": [ - "Official IPQualityScore Documentation", - "n8n Official Template Library", - "n8n Community Forum", - "NPM Registry (n8n-nodes-greip)", - "SEON Developer Portal", - "Sift API Documentation" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "While no native 'Fraud Detection' node exists, n8n users implement this functionality primarily through the IPQualityScore (IPQS) API using the HTTP Request node. IPQS is the featured provider in official n8n templates for email security and transaction monitoring. A community node 'n8n-nodes-greip' is also available for self-hosted users, offering dedicated operations for payment fraud and risk scoring. Most workflows follow a pattern of: Webhook Trigger -> HTTP Request (Fraud API) -> IF Node (Score > Threshold) -> Alert/Block action." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/frontend.json b/technical-research/frontend.json deleted file mode 100644 index b803d11..0000000 --- a/technical-research/frontend.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "integration": "Frontend", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:03:58.712Z", - "model_used": "gemini-3-flash-preview", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/fsm-crm.json b/technical-research/fsm-crm.json deleted file mode 100644 index 58ca0b2..0000000 --- a/technical-research/fsm-crm.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "FSM/CRM", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-13T00:55:38.000Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "FSM/CRM", - "has_native_n8n_node": true, - "native_node_name": "HubSpot", - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a Public App in the HubSpot Developer Portal to obtain a Client ID and Client Secret. The Redirect URL from n8n must be configured exactly in the HubSpot app settings. Alternatively, Private App Access Tokens can be used for internal integrations, though the native HubSpot Trigger node often requires OAuth2 for full functionality.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.hubspot.com/docs/api/overview", - "rate_limits": "100 requests per 10 seconds (burst) for Public Apps; 150 requests per 10 seconds for Professional/Enterprise. Daily limits range from 250,000 to 1,000,000 calls based on the HubSpot plan tier. The Search API is specifically limited to 4 requests per second.", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "The Search API is limited to 4 requests per second, which is significantly lower than the general API limit and can cause bottlenecks in high-volume workflows.", - "Lifecycle Stage updates are restrictive; you cannot move a contact backwards in the lifecycle (e.g., from Customer to Lead) without first clearing the property value in a separate API call.", - "The HubSpot Trigger node (polling) requires a Public App (OAuth2) setup to function correctly; Private Apps are easier to set up but are primarily intended for actions rather than triggers." - ], - "client_must_provide": [ - "HubSpot Developer Account access (for OAuth2 app creation)", - "Super Admin access to the target HubSpot Portal", - "Client ID and Client Secret", - "List of required Scopes (e.g., crm.objects.contacts.read, crm.objects.deals.write)" - ], - "operations_available": [ - "Create/Update/Delete/Get Contacts", - "Manage Companies, Deals, and Tickets", - "Search CRM Objects with filters", - "Manage Custom Objects", - "Trigger on Contact/Deal/Ticket creation or property change" - ], - "confidence": 1, - "research_notes": "The integration is identified as HubSpot based on the provided n8n context (n8n-nodes-base.hubspot). While 'FSM/CRM' is a generic category (Field Service Management / CRM), HubSpot is the primary tool used in this context. HubSpot serves as an FSM solution through its Service Hub and custom object capabilities. Research confirms that HubSpot has deprecated API Keys in favor of OAuth2 and Private Apps. Rate limits are strictly enforced and vary by plan tier, with specific 'burst' windows that developers must handle using retry logic or n8n's built-in error handling.", - "sources_consulted": [ - "Official HubSpot API Documentation", - "n8n Integration Docs", - "n8n Community Forum", - "YouTube Technical Walkthroughs", - "HubSpot Developer Blog" - ], - "has_native_node": true, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 10, - "rationale": "The integration is identified as HubSpot based on the provided n8n context (n8n-nodes-base.hubspot). While 'FSM/CRM' is a generic category (Field Service Management / CRM), HubSpot is the primary tool used in this context. HubSpot serves as an FSM solution through its Service Hub and custom object capabilities. Research confirms that HubSpot has deprecated API Keys in favor of OAuth2 and Private Apps. Rate limits are strictly enforced and vary by plan tier, with specific 'burst' windows that developers must handle using retry logic or n8n's built-in error handling." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "hubspot", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/fuel.json b/technical-research/fuel.json deleted file mode 100644 index e7bfb00..0000000 --- a/technical-research/fuel.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "integration": "Fuel", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:22:03.251Z", - "model_used": "gemini-3-flash-preview", - "api_documentation_url": "https://docs.fuel.network/docs/graphql/overview/", - "rate_limits": { - "public_endpoint_complexity_limit": 20000, - "testnet_complexity_limit": 80000, - "third_party_provider_limits": { - "ankr_premium": "90,000 requests per minute", - "quicknode_starter": "50 requests per second", - "stability_protocol_free": "60 requests per minute" - } - }, - "auth_notes": "Public Fuel Network endpoints (mainnet.fuel.network and testnet.fuel.network) do not require an API key or HTTP authentication for GraphQL queries. However, all state-changing operations (transactions) must be cryptographically signed using a private key via the Fuel SDKs (Rust or TypeScript). Third-party RPC providers such as QuickNode, Ankr, and Alchemy require standard API keys or Bearer tokens for access. Note: Do not confuse with 'fuelapi.com', which is an unrelated automotive data service requiring Basic Auth.", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/funeral-management.json b/technical-research/funeral-management.json deleted file mode 100644 index f043159..0000000 --- a/technical-research/funeral-management.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Funeral Management", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:02:50.321Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Funeral Management", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key / OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Authentication typically requires contacting the software provider (e.g., Passare, SRS Computing) to obtain an API Key or Client Credentials. Passare specifically uses a Public API key system that must be enabled by their support team.", - "api_quality": "good", - "api_documentation_url": "https://passare.com/api-documentation/", - "rate_limits": "100 requests per minute (standard for enterprise funeral SaaS; specific limits vary by provider and plan)", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "Many funeral management APIs (like Passare) require manual approval or support intervention to activate the developer portal.", - "Data fields are often highly industry-specific (e.g., 'vitals', 'first call', 'obituary sync'), requiring careful mapping in n8n.", - "Webhooks may only trigger on specific lifecycle events like 'Case Created' or 'Obituary Synced'." - ], - "client_must_provide": [ - "API Key or Client ID/Secret", - "Organization ID", - "Administrative access to the funeral management dashboard" - ], - "operations_available": [ - "Create Case", - "Update Case Vitals", - "Sync Obituary to Website", - "Get Case Documents", - "List Staff/Directors", - "Manage Financial Invoices" - ], - "confidence": 0.9, - "research_notes": "Funeral Management is a category dominated by platforms like Passare, SRS Computing, and Halcyon. Passare is the most 'API-forward' with a public developer portal and webhook support. While no native n8n node exists, these platforms are frequently integrated via the HTTP Request node. Users in forums often discuss syncing obituaries to WordPress or exporting financial data to QuickBooks/Xero. SRS Computing also offers a cloud API but often requires custom configuration for on-premise installations.", - "sources_consulted": [ - "Official Passare Developer Portal", - "n8n Community Forums", - "SourceForge Software Comparisons", - "YouTube Product Walkthroughs", - "G2/GetApp Technical Reviews" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Funeral Management is a category dominated by platforms like Passare, SRS Computing, and Halcyon. Passare is the most 'API-forward' with a public developer portal and webhook support. While no native n8n node exists, these platforms are frequently integrated via the HTTP Request node. Users in forums often discuss syncing obituaries to WordPress or exporting financial data to QuickBooks/Xero. SRS Computing also offers a cloud API but often requires custom configuration for on-premise installations." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/fx-platform.json b/technical-research/fx-platform.json deleted file mode 100644 index 039616a..0000000 --- a/technical-research/fx-platform.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "FX Platform", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:27:05.211Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "FX Platform", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key & Client ID (Token-based)", - "auth_complexity": "moderate", - "auth_notes": "Requires a Client ID and API Key (accessible via the Verto account profile under 'API Credentials'). Users must first call the /authorization or /login endpoint to exchange these credentials for a Bearer Token, which is valid for 60 minutes.", - "api_quality": "good", - "api_documentation_url": "https://vertofx.com/api-docs", - "rate_limits": "60 req/min", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "Bearer Tokens expire every 60 minutes, requiring a logic-based refresh or a 'Get Token' step at the beginning of every n8n workflow execution.", - "Sandbox and Production environments use entirely different base URLs (api-v3-sandbox.vertofx.com vs api.vertofx.com) and separate API keys.", - "Webhooks have a built-in retry mechanism (up to 10 attempts with exponential backoff), meaning the n8n webhook listener must be idempotent to handle potential duplicate events." - ], - "client_must_provide": [ - "Client ID", - "API Key", - "Verto FX Business Account Access" - ], - "operations_available": [ - "Create FX Trade", - "Get FX Rate", - "Get FX Order Details", - "List Beneficiaries", - "Create Payments", - "Check Wallet Balance" - ], - "confidence": 0.95, - "research_notes": "The 'FX Platform' refers to the Verto FX Platform (VertoFX), a cross-border payment and foreign exchange solution for businesses. Research identified a dedicated 'Verto FX Platform API' with specific technical constraints. While no native n8n node exists, the RESTful architecture is well-suited for the n8n HTTP Request node. The primary integration challenge is the 60-minute token expiration, which is common in financial APIs but requires careful workflow design in n8n.", - "sources_consulted": [ - "Official VertoFX API Documentation", - "Verto Help Center (API Collections)", - "VertoFX Service Level Agreement (SLA) via Scribd", - "Fintech Review (Verto Atlas Analysis)", - "Royalti.io API Integration Guides" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 8, - "rationale": "The 'FX Platform' refers to the Verto FX Platform (VertoFX), a cross-border payment and foreign exchange solution for businesses. Research identified a dedicated 'Verto FX Platform API' with specific technical constraints. While no native n8n node exists, the RESTful architecture is well-suited for the n8n HTTP Request node. The primary integration challenge is the 60-minute token expiration, which is common in financial APIs but requires careful workflow design in n8n." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/google-voice.json b/technical-research/google-voice.json deleted file mode 100644 index 9932530..0000000 --- a/technical-research/google-voice.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Google Voice", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:18:15.408Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Google Voice", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "complex", - "auth_notes": "Authentication is handled through the Google Cloud Console. Since no direct Google Voice API exists, users must authenticate via the Google Workspace Admin SDK (for management) or the BigQuery API (for log access). This requires creating a GCP Project, configuring an OAuth Consent Screen, and enabling specific scopes like 'https://www.googleapis.com/auth/admin.reports.usage.readonly'.", - "api_quality": "poor", - "api_documentation_url": "https://support.google.com/a/answer/9035990", - "rate_limits": "2,400 requests per minute (Standard Google Workspace API quota)", - "complexity_score": 9, - "complexity_tier": "complex", - "estimated_hours": 30, - "webhook_support": false, - "gotchas": [ - "There is no official public REST API for Google Voice telephony (SMS/Calls).", - "Automated SMS is only possible via the 'Email-to-SMS' gateway (@txt.voice.google.com) using the Gmail API, which requires an existing conversation thread.", - "Real-time triggers are not supported; call/SMS logs are exported to BigQuery with a delay (often 24 hours).", - "Unofficial libraries like 'pygooglevoice' are currently broken due to Google's authentication changes.", - "Access to programmatic logs requires a Google Workspace 'Premier' tier subscription." - ], - "client_must_provide": [ - "Google Workspace Premier License", - "GCP Project with BigQuery enabled", - "OAuth2 Credentials (Client ID & Secret)", - "Service Account with Domain-Wide Delegation (for Admin SDK access)" - ], - "operations_available": [ - "List/Manage Users & Numbers (via Admin SDK)", - "Query Call/SMS/Voicemail Logs (via BigQuery Export)", - "Send SMS (via Gmail API workaround)", - "Export Voice Activity to BigQuery" - ], - "confidence": 1, - "research_notes": "Deep research across n8n forums, Reddit, and official Google documentation confirms that Google Voice does not offer a developer API for its core telephony features. The only official programmatic path is through Google Workspace data integrations, which allow 'Premier' users to export logs to BigQuery. For n8n users, this means 'integrating' Google Voice usually involves the 'Google BigQuery' node for reading data or the 'Gmail' node for sending SMS via the email gateway. No community nodes currently provide a direct bridge to Google Voice telephony.", - "sources_consulted": [ - "Official Google Workspace Admin Documentation", - "Google Cloud BigQuery Export Guide", - "n8n Community Forums", - "GitHub (pygooglevoice, voice.js repositories)", - "NPM Registry", - "YouTube Technical Tutorials" - ], - "has_native_node": false, - "complexity": { - "score": 9, - "tier": "complex", - "estimated_hours": 30 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 30, - "rationale": "Deep research across n8n forums, Reddit, and official Google documentation confirms that Google Voice does not offer a developer API for its core telephony features. The only official programmatic path is through Google Workspace data integrations, which allow 'Premier' users to export logs to BigQuery. For n8n users, this means 'integrating' Google Voice usually involves the 'Google BigQuery' node for reading data or the 'Gmail' node for sending SMS via the email gateway. No community nodes currently provide a direct bridge to Google Voice telephony." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/gorgias.json b/technical-research/gorgias.json deleted file mode 100644 index 23186ed..0000000 --- a/technical-research/gorgias.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Gorgias", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-28T19:34:36.148Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Gorgias", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires the user's Gorgias email address and an API Key generated under Settings -> REST API. For public apps, OAuth2 is supported but requires app registration in the Gorgias Partner portal.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.gorgias.com/", - "rate_limits": "40 req/20s (API Key) | 80 req/20s (OAuth2)", - "complexity_score": 5, - "complexity_tier": "moderate", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "Leaky Bucket Algorithm: Requests are processed at a steady rate; sudden bursts may trigger 429 errors even if the total limit isn't hit.", - "Ticket Creation Requirement: A ticket cannot be created without a 'messages' object in the initial POST request.", - "Auto-Reply Suppression: Gorgias auto-reply rules do not trigger for tickets created via API if the channel is explicitly set to 'api'.", - "Rate Limit Headers: Developers should monitor 'X-Gorgias-Account-Api-Call-Limit' and 'Retry-After' headers to handle pacing dynamically." - ], - "client_must_provide": [ - "Gorgias Subdomain (e.g., your-store.gorgias.com)", - "Admin Email Address", - "API Key" - ], - "operations_available": [ - "Create/Update/Retrieve/List/Delete Tickets", - "Create/Update/Retrieve/List/Delete Customers", - "Create/Update/Retrieve/List/Delete Messages", - "Manage Tags and Teams", - "Retrieve Macros and Rules", - "Search for Resources (Tickets, Customers, etc.)" - ], - "confidence": 0.95, - "research_notes": "Gorgias lacks a native n8n node, requiring the use of the 'HTTP Request' node. A community node (n8n-nodes-gorgias) exists on npm but is not officially maintained by n8n. The API is highly RESTful and well-documented. Webhook support is robust, configured via 'HTTP Integrations' in the Gorgias UI to send data to n8n's Webhook URL. Implementation is straightforward for standard CRUD operations but requires care with the 'leaky bucket' rate limiting for high-volume syncs.", - "sources_consulted": [ - "Official Gorgias Developer Portal", - "n8n Community Forum", - "npm Registry (n8n-nodes-gorgias)", - "Gorgias Help Center (HTTP Integrations)", - "YouTube (Gorgias API Walkthroughs)" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "moderate", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 10, - "rationale": "Gorgias lacks a native n8n node, requiring the use of the 'HTTP Request' node. A community node (n8n-nodes-gorgias) exists on npm but is not officially maintained by n8n. The API is highly RESTful and well-documented. Webhook support is robust, configured via 'HTTP Integrations' in the Gorgias UI to send data to n8n's Webhook URL. Implementation is straightforward for standard CRUD operations but requires care with the 'leaky bucket' rate limiting for high-volume syncs." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/gps-fleet.json b/technical-research/gps-fleet.json deleted file mode 100644 index a5251ae..0000000 --- a/technical-research/gps-fleet.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "GPS/Fleet", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-11T18:38:42.256Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "GPS/Fleet", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication is handled by passing an 'apikey' parameter directly in the URL query string for all requests.", - "api_quality": "good", - "api_documentation_url": "https://gps-manuals.atlassian.net/wiki/spaces/GPS/pages/1015810/GPS+Fleet+Software+API", - "rate_limits": "Not publicly disclosed; standard request throttling and flood protection are implemented server-side.", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "The API key is passed as a query parameter (apikey=...), which may be logged in server logs or browser history.", - "Time formats for parameters like 'start_ts' must strictly follow the 'yyyyMMddhhmmss' format.", - "Webhooks (inbound) are supported but typically require configuration within the GPS Fleet / Fleetwaro portal interface." - ], - "client_must_provide": [ - "API Key (apikey)", - "Asset IDs (assetid)", - "Person IDs (personid) for time tracking operations" - ], - "operations_available": [ - "getLastTimeRecord", - "getAssets_by_assetkey", - "getActivityTypes", - "insertpos (Update vehicle position)", - "set_operating_hours", - "start_time_record", - "insert_complete_time_record", - "getDynDataValues (Custom fields)" - ], - "confidence": 0.9, - "research_notes": "The integration refers to 'GPS Fleet Software' (gps.at), a prominent European fleet management platform. While no native n8n node exists, the API is a straightforward REST-like service that can be easily integrated using the n8n HTTP Request node. The documentation is hosted on a public Atlassian Confluence wiki, providing clear endpoint definitions and parameter requirements. Webhook support is confirmed via the associated 'Fleetwaro' AI module.", - "sources_consulted": [ - "Official API Documentation (Atlassian/Confluence)", - "Official Product Website (gps.at)", - "n8n Community Forum", - "Software Review Sites (Slashdot, SourceForge, GetApp)", - "Developer Blogs (ValueCoders, DataSpeaks)" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "The integration refers to 'GPS Fleet Software' (gps.at), a prominent European fleet management platform. While no native n8n node exists, the API is a straightforward REST-like service that can be easily integrated using the n8n HTTP Request node. The documentation is hosted on a public Atlassian Confluence wiki, providing clear endpoint definitions and parameter requirements. Webhook support is confirmed via the associated 'Fleetwaro' AI module." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/gpt-4.json b/technical-research/gpt-4.json deleted file mode 100644 index 4b18489..0000000 --- a/technical-research/gpt-4.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "integration": "GPT-4", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T03:36:39.344Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "GPT-4", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key (Bearer Token)", - "auth_complexity": "simple", - "auth_notes": "Requires an OpenAI API Key. In n8n, use 'Header Auth' with Name: 'Authorization' and Value: 'Bearer YOUR_API_KEY'.", - "api_quality": "excellent", - "api_documentation_url": "https://platform.openai.com/docs/api-reference", - "rate_limits": "Tier-based limits; Tier 1 typically allows 3,500 RPM and 60,000 TPM for GPT-4 models.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": false, - "gotchas": [ - "Context window limits: Exceeding token counts will result in 400 Bad Request errors.", - "Timeouts: GPT-4 responses can be slow; the HTTP Request node timeout may need to be increased beyond the default.", - "JSON Mode: If requesting JSON output, the prompt must explicitly contain the word 'json' to avoid API errors." - ], - "client_must_provide": [ - "OpenAI API Key", - "OpenAI Organization ID (optional)", - "OpenAI Project ID (optional)" - ], - "operations_available": [ - "Chat Completions", - "Embeddings", - "Fine-tuning", - "Image Generation (DALL-E 3)", - "Model List" - ], - "similar_integrations": [ - "Anthropic", - "Google Gemini", - "Mistral AI" - ], - "confidence": 0.95, - "research_notes": "The integration requires the HTTP Request node using POST to 'https://api.openai.com/v1/chat/completions'. The body must be raw JSON containing the 'model' (e.g., gpt-4-turbo) and a 'messages' array. Users must manually handle the response JSON path, typically 'data.choices[0].message.content'.", - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "The integration requires the HTTP Request node using POST to 'https://api.openai.com/v1/chat/completions'. The body must be raw JSON containing the 'model' (e.g., gpt-4-turbo) and a 'messages' array. Users must manually handle the response JSON path, typically 'data.choices[0].message.content'." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/greenhouse.json b/technical-research/greenhouse.json deleted file mode 100644 index 5242912..0000000 --- a/technical-research/greenhouse.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Greenhouse", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T22:42:43.494Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Greenhouse", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "Basic Auth", - "auth_complexity": "moderate", - "auth_notes": "Authentication uses Basic Auth over HTTPS. The API Key (generated in the Greenhouse Dev Center) serves as the username, and the password field must be left blank. Note: API keys are 'binary'—they either have full access to an endpoint or none at all.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.greenhouse.io/harvest.html", - "rate_limits": "Header-based; typically 50-75 requests per 10-second window (varies by endpoint and partner status; check X-RateLimit-Limit header).", - "complexity_score": 6, - "complexity_tier": "standard", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "Binary Permissions: Access to data in the Harvest API is all-or-nothing per endpoint; you cannot restrict access to specific fields within an endpoint.", - "Ephemeral URLs: Document attachments (resumes, etc.) are provided via signed S3 URLs that expire quickly; they must be downloaded immediately after the request.", - "On-Behalf-Of Header: Many POST/PATCH operations require an 'On-Behalf-Of' header containing a valid Greenhouse User ID for auditing purposes.", - "Manual Webhook Setup: There is no API to programmatically create or manage webhooks; they must be configured manually in the Greenhouse Dev Center UI." - ], - "client_must_provide": [ - "Harvest API Key", - "Greenhouse User ID (for On-Behalf-Of header)", - "Specific endpoint permissions enabled in Dev Center" - ], - "operations_available": [ - "List/Retrieve/Create/Update Candidates", - "Advance/Move/Reject/Hire Applications", - "List/Retrieve Jobs and Job Stages", - "Add Attachments to Candidates", - "Retrieve User and Hiring Team data" - ], - "confidence": 0.95, - "research_notes": "Greenhouse lacks a native n8n node, requiring the use of the 'HTTP Request' node. The Harvest API is the primary integration point for ATS data. Documentation is highly detailed and includes a change log. While webhooks are robust, the lack of a management API for them means initial setup is more manual than other modern platforms.", - "sources_consulted": [ - "Official Greenhouse Developer Portal", - "n8n Community Forum", - "Greenhouse Support Center", - "GitHub (API Docs Repository)", - "n8n Workflow Templates" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "standard", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 10, - "rationale": "Greenhouse lacks a native n8n node, requiring the use of the 'HTTP Request' node. The Harvest API is the primary integration point for ATS data. Documentation is highly detailed and includes a change log. While webhooks are robust, the lack of a management API for them means initial setup is more manual than other modern platforms." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/gym-management.json b/technical-research/gym-management.json deleted file mode 100644 index d6120e2..0000000 --- a/technical-research/gym-management.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Gym Management", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:47:38.069Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Gym Management (GymMaster)", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key / Basic Auth", - "auth_complexity": "simple", - "auth_notes": "Authentication varies by API: The 'Gatekeeper API' uses Basic Auth (Username and API Key found in Settings > Integrations). The 'Member Portal API' requires a POST /login request using an API Key or credentials to receive a short-lived Bearer Token (valid for 1 hour).", - "api_quality": "good", - "api_documentation_url": "https://www.gymmaster.com/gatekeeper-api/", - "rate_limits": "Not explicitly defined in public documentation; however, high-traffic endpoints (e.g., class schedules and room availability) utilize a mandatory 5-minute server-side cache.", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "API access often requires manual activation by contacting support (feedback@gymmaster.com) to obtain a specific Base URL.", - "The system distinguishes between 'Staff' and 'Member' API keys; using the wrong key for specific endpoints will result in 401 Unauthorized errors.", - "Webhooks are primarily supported through the 'Zapier' integration or custom 'Webhook' actions within the GymMaster workflow builder, which can be pointed to an n8n Webhook node." - ], - "client_must_provide": [ - "API Key (Staff or Member)", - "GymMaster Site Name (Subdomain)", - "API Base URL (provided by support)" - ], - "operations_available": [ - "Get Members", - "Create/Cancel Class Booking", - "Retrieve Class Schedule", - "Process Access Swipe (Gatekeeper)", - "Get Membership Types", - "Update Member Measurements", - "Retrieve Payment/Invoice Status" - ], - "confidence": 0.9, - "research_notes": "While 'Gym Management' is a category, the domain gymmanagement.com redirects to GymMaster, making it the primary technical target. Research confirms no native n8n node exists, requiring the HTTP Request node. A niche 'Gym Management' add-on for Dash SaaS (WorkDo) also exists with n8n-specific webhook triggers, but GymMaster is the enterprise-standard platform. Integration is straightforward via REST, but requires careful handling of the 1-hour token expiration for member-facing operations.", - "sources_consulted": [ - "Official GymMaster Developer Portal", - "GymMaster User Manual", - "Zapier Integration Directory", - "n8n Community Forum", - "WorkDo.io Integration Docs", - "YouTube Technical Walkthroughs" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 10, - "rationale": "While 'Gym Management' is a category, the domain gymmanagement.com redirects to GymMaster, making it the primary technical target. Research confirms no native n8n node exists, requiring the HTTP Request node. A niche 'Gym Management' add-on for Dash SaaS (WorkDo) also exists with n8n-specific webhook triggers, but GymMaster is the enterprise-standard platform. Integration is straightforward via REST, but requires careful handling of the 1-hour token expiration for member-facing operations." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/hosting.json b/technical-research/hosting.json deleted file mode 100644 index 9cec00c..0000000 --- a/technical-research/hosting.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "integration": "Hosting", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T03:36:25.245Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Hosting.de", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key (JSON Body)", - "auth_complexity": "moderate", - "auth_notes": "Authentication is performed by passing an 'authToken' inside the JSON request body for most POST operations, rather than using standard HTTP headers like Bearer or Basic auth.", - "api_quality": "good", - "api_documentation_url": "https://www.hosting.de/api/", - "rate_limits": "10 requests per second", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 14, - "webhook_support": true, - "gotchas": [ - "Authentication token must be included in the request body, making standard n8n 'Header' credentials insufficient for simple setup.", - "The API uses a specific 'owner' or 'accountId' context that must be explicitly defined in the payload.", - "Response data is often deeply nested within a 'value' object, requiring complex expressions in n8n." - ], - "client_must_provide": [ - "API Key", - "Account ID" - ], - "operations_available": [ - "Create/Update DNS Records", - "List and Manage Virtual Servers", - "Order/Renew SSL Certificates", - "Domain Availability Checks" - ], - "similar_integrations": [ - "DigitalOcean", - "Hetzner Cloud", - "Vultr" - ], - "confidence": 0.9, - "research_notes": "Integration requires the HTTP Request node. Because the authToken is part of the JSON body, you cannot use the standard 'Header' auth in n8n; instead, you must include the key directly in the JSON body or use an n8n expression to pull it from a generic credential. The API is strictly versioned in the URL (e.g., /api/dns/v1/json/zoneConfigsFind).", - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 14 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 14, - "rationale": "Integration requires the HTTP Request node. Because the authToken is part of the JSON body, you cannot use the standard 'Header' auth in n8n; instead, you must include the key directly in the JSON body or use an n8n expression to pull it from a generic credential. The API is strictly versioned in the URL (e.g., /api/dns/v1/json/zoneConfigsFind)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/human-sdr-team.json b/technical-research/human-sdr-team.json deleted file mode 100644 index 54ea1e0..0000000 --- a/technical-research/human-sdr-team.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Human SDR team", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:12:37.441Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Human SDR team", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key / OAuth2 (via CRM/Slack)", - "auth_complexity": "moderate", - "auth_notes": "Since 'Human SDR team' is a functional role rather than a standalone software product, integration is typically achieved by connecting n8n to the communication tools (Slack, Microsoft Teams) or CRM platforms (Salesforce, HubSpot) used by the human team. Authentication requires API keys or OAuth2 credentials for these specific platforms.", - "api_quality": "excellent", - "api_documentation_url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/", - "rate_limits": "Varies by communication platform (e.g., Slack: 1 req/sec; Salesforce: 100,000+ per 24h depending on edition).", - "complexity_score": 5, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "Human latency: Workflows must account for non-instant response times (hours or days).", - "State management: Using the 'Wait' node in n8n requires a persistent execution environment to avoid losing the workflow state during long pauses.", - "Data Silos: If the human team performs actions outside the CRM, the automated workflow may lose track of the lead status." - ], - "client_must_provide": [ - "Slack/Teams Webhook URL or Bot Token", - "CRM API Access (Salesforce/HubSpot)", - "Defined 'Handoff' triggers (e.g., Lead Score > 80)" - ], - "operations_available": [ - "Send Notification to SDR", - "Wait for Human Approval", - "Update Lead Status in CRM", - "Assign Task to SDR", - "Log Human Interaction" - ], - "confidence": 0.9, - "research_notes": "Research confirms 'Human SDR team' is not a software product but a functional group. Technical integration in n8n is performed using the 'Human-in-the-loop' (HITL) pattern. This involves using the 'Wait' node or 'Webhook' node to pause automation until a human performs an action in a connected tool like Slack or a CRM. Many n8n users are currently building workflows to 'replace' or 'augment' these teams using AI agents (e.g., via the LangChain node), but the 'integration' with the human team itself remains a matter of task routing and notification.", - "sources_consulted": [ - "n8n Official Documentation", - "n8n Community Forum", - "YouTube (SDR Automation Guides)", - "Reddit (r/n8n)", - "Salesforce Agentforce Documentation", - "CIENCE/SalesHive Service Overviews" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Research confirms 'Human SDR team' is not a software product but a functional group. Technical integration in n8n is performed using the 'Human-in-the-loop' (HITL) pattern. This involves using the 'Wait' node or 'Webhook' node to pause automation until a human performs an action in a connected tool like Slack or a CRM. Many n8n users are currently building workflows to 'replace' or 'augment' these teams using AI agents (e.g., via the LangChain node), but the 'integration' with the human team itself remains a matter of task routing and notification." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/imaging.json b/technical-research/imaging.json deleted file mode 100644 index da5f67f..0000000 --- a/technical-research/imaging.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "integration": "Imaging", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:04:35.819Z", - "model_used": "gemini-3-flash-preview", - "category": "Imaging", - "providers": [ - { - "name": "Stability AI", - "api_documentation_url": "https://platform.stability.ai/docs/api-reference", - "rate_limits": "150 requests per 10 seconds (900 RPM). Exceeding this limit triggers a 429 error and a mandatory 60-second timeout.", - "auth_notes": "Requires a Stability API key. Authentication is handled via the 'Authorization' header using the Bearer token scheme (e.g., 'Authorization: Bearer sk-abc123...'). Keys are managed in the Stability AI Developer Platform dashboard." - }, - { - "name": "OpenAI (DALL-E)", - "api_documentation_url": "https://platform.openai.com/docs/api-reference/images", - "rate_limits": "Varies by usage tier. Tier 1 (Standard) is limited to 5 images per minute (IPM) for DALL-E 3. Tier 5 allows up to 50 IPM. DALL-E 2 limits are typically 50 requests per minute (RPM).", - "auth_notes": "Uses API keys for authentication. The key must be included in the 'Authorization' header as 'Bearer OPENAI_API_KEY'. Organizations with multiple projects can also pass 'OpenAI-Organization' and 'OpenAI-Project' headers to scope requests." - }, - { - "name": "Google Cloud Imagen (Vertex AI)", - "api_documentation_url": "https://cloud.google.com/vertex-ai/docs/generative-ai/image/generate-images", - "rate_limits": "Standard quota is 20 requests per minute (RPM) for Imagen 3 models. Higher tiers or specific project approvals can increase this to 1,800 RPM for general Vision API features.", - "auth_notes": "Requires Google Cloud IAM authentication. Typically uses OAuth 2.0 access tokens generated via service accounts or the gcloud CLI ('Authorization: Bearer $(gcloud auth print-access-token)'). Project ID and Location must be specified in the request URL." - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/indeed.json b/technical-research/indeed.json deleted file mode 100644 index 441597f..0000000 --- a/technical-research/indeed.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Indeed", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T03:07:13.834Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Indeed", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth 2.0", - "auth_complexity": "complex", - "auth_notes": "Requires OAuth 2.0 Authorization Code Grant. Developers must register an application in the Indeed Developer Portal to obtain a Client ID and Client Secret. Access to specific APIs (like Job Search or Employer APIs) often requires manual approval from Indeed.", - "api_quality": "good", - "api_documentation_url": "https://developer.indeed.com/docs", - "rate_limits": "Varies by endpoint and application tier; standard limits are often around 100 requests per minute but are subject to specific partner agreements.", - "complexity_score": 7, - "complexity_tier": "complex", - "estimated_hours": 20, - "webhook_support": true, - "gotchas": [ - "Strict approval process: Many API features are restricted to 'Partners' and require a business review before keys are activated.", - "The Job Search API is highly restricted and often unavailable for general third-party tool integration without a specific partnership.", - "OAuth implementation in n8n requires manual configuration of the Authorization and Token URLs which can be finicky with Indeed's specific redirect requirements." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "Indeed Developer Account access", - "Approved API Scopes" - ], - "operations_available": [ - "Search Jobs (Partner only)", - "Retrieve Job Details", - "Candidate Management (ATS)", - "Post/Update Job Listings", - "Candidate Status Webhooks" - ], - "similar_integrations": [ - "LinkedIn", - "Greenhouse", - "Lever" - ], - "confidence": 0.9, - "research_notes": "Integration must be performed via the HTTP Request node. You must configure 'Generic OAuth2 API' credentials in n8n. The Authorization URL is https://secure.indeed.com/oauth/v2/authorize and the Access Token URL is https://secure.indeed.com/oauth/v2/tokens. Ensure the redirect URI in the Indeed portal matches your n8n instance exactly.", - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "complex", - "estimated_hours": 20 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 20, - "rationale": "Integration must be performed via the HTTP Request node. You must configure 'Generic OAuth2 API' credentials in n8n. The Authorization URL is https://secure.indeed.com/oauth/v2/authorize and the Access Token URL is https://secure.indeed.com/oauth/v2/tokens. Ensure the redirect URI in the Indeed portal matches your n8n instance exactly." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/industry-standard.json b/technical-research/industry-standard.json deleted file mode 100644 index 94150b2..0000000 --- a/technical-research/industry-standard.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "Industry standard", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:43:13.976Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Industry standard", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2 / API Key", - "auth_complexity": "moderate", - "auth_notes": "Research failed to identify a specific software product or platform named 'Industry standard'. The term is a generic descriptor for protocols like REST, GraphQL, and OAuth2. In n8n, these are typically implemented via the HTTP Request node using standard authentication headers or OAuth2 credentials.", - "api_quality": "excellent", - "api_documentation_url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/", - "rate_limits": "Varies by service (Industry standards typically range from 60 to 600 requests per minute for SaaS platforms).", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": true, - "gotchas": [ - "The term 'Industry standard' is a generic phrase and does not refer to a specific API or service.", - "Users often confuse 'Industry standard' with specific implementations like OpenAPI (Swagger) or Standard Webhooks.", - "Integration requires manual configuration of the HTTP Request node if no specific community node exists for the target service." - ], - "client_must_provide": [ - "Base API URL", - "Authentication Credentials (API Key, Client ID/Secret)", - "OpenAPI/Swagger Specification (optional but recommended)" - ], - "operations_available": [ - "GET (Fetch data)", - "POST (Create resource)", - "PUT (Update resource)", - "DELETE (Remove resource)", - "PATCH (Partial update)" - ], - "confidence": 0.95, - "research_notes": "Research failed to find a specific integration or platform named 'Industry standard'. The term is universally used as a descriptor for protocols (REST, GraphQL), security (OAuth2, JWT), and documentation (OpenAPI/Swagger). In n8n, 'Industry standard' integrations are handled using the HTTP Request node or by importing OpenAPI specifications to auto-generate requests. Snippets from n8n and developer forums confirm that n8n is designed to support any API that adheres to these industry-standard practices.", - "sources_consulted": [ - "Official n8n Documentation", - "n8n Community Forum", - "OpenAPI Initiative (openapis.org)", - "Developer Portals (Tyk, Swagger, Postman)", - "Technical Blogs (Medium, ZenML)" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "Research failed to find a specific integration or platform named 'Industry standard'. The term is universally used as a descriptor for protocols (REST, GraphQL), security (OAuth2, JWT), and documentation (OpenAPI/Swagger). In n8n, 'Industry standard' integrations are handled using the HTTP Request node or by importing OpenAPI specifications to auto-generate requests. Snippets from n8n and developer forums confirm that n8n is designed to support any API that adheres to these industry-standard practices." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/insurance-verification.json b/technical-research/insurance-verification.json deleted file mode 100644 index ddb0806..0000000 --- a/technical-research/insurance-verification.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "Insurance Verification", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T12:48:28.618Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Insurance Verification", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires generating an API key in the developer portal (e.g., Stedi or Eligible). For Stedi, the key is passed in the 'Authorization' header of every request.", - "api_quality": "excellent", - "api_documentation_url": "https://www.stedi.com/docs/api-reference", - "rate_limits": "25 concurrent requests (default inbound concurrency limit for Stedi; real-time endpoints share a pool).", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "Insurance discovery checks require specific 'transaction enrollment' for the provider (e.g., enrolling with the 'DISCOVERY' payer ID in Stedi).", - "Data enrichment is often necessary; clearinghouses may not return all financial details, requiring secondary checks via multi-payer portals like Availity.", - "HIPAA compliance is critical: avoid logging full request/response payloads in n8n execution history if they contain PHI (Protected Health Information)." - ], - "client_must_provide": [ - "API Key", - "Provider NPI (National Provider Identifier)", - "Patient Demographics (Name, DOB, Member ID)" - ], - "operations_available": [ - "Real-time Eligibility Check (270/271)", - "Insurance Discovery Check (Find coverage without Member ID)", - "Coordination of Benefits Check", - "Claim Status Check" - ], - "confidence": 0.95, - "research_notes": "Insurance verification in n8n is typically handled via the HTTP Request node using modern clearinghouse APIs like Stedi, Availity, or Eligible. Stedi is highly recommended for n8n developers as it abstracts legacy X12 EDI transactions into clean JSON. A common workflow pattern involves capturing patient data via a form (e.g., Typeform/Jotform), sending a POST request to the Eligibility API, and branching the workflow based on the 'active' or 'inactive' status returned. Research indicates that while native nodes are missing, the HTTP Request pattern is well-documented in the n8n community for healthcare automation.", - "sources_consulted": [ - "Official Stedi API Documentation", - "n8n Community Forum", - "n8n Workflow Templates (Healthcare Blueprints)", - "GitHub (n8n-money insurance demo)", - "Developer Blogs (Ciphernutz, Topflight Apps)", - "Reddit (r/n8n)" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 10, - "rationale": "Insurance verification in n8n is typically handled via the HTTP Request node using modern clearinghouse APIs like Stedi, Availity, or Eligible. Stedi is highly recommended for n8n developers as it abstracts legacy X12 EDI transactions into clean JSON. A common workflow pattern involves capturing patient data via a form (e.g., Typeform/Jotform), sending a POST request to the Eligibility API, and branching the workflow based on the 'active' or 'inactive' status returned. Research indicates that while native nodes are missing, the HTTP Request pattern is well-documented in the n8n community for healthcare automation." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/insurance.json b/technical-research/insurance.json deleted file mode 100644 index 6b3d337..0000000 --- a/technical-research/insurance.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "Insurance", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:42:55.122Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Insurance", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication is handled via an API Key (X-RapidAPI-Key) provided through the RapidAPI platform or via HTTP Basic Auth for direct enterprise connections to the Underground Elephant marketplace.", - "api_quality": "good", - "api_documentation_url": "https://rapidapi.com/underground-elephant-underground-elephant-default/api/insurance-exchange/", - "rate_limits": "Varies by plan; typically 1,000 requests per month on the Free tier and up to 1,000 requests per minute on enterprise tiers.", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": false, - "gotchas": [ - "The integration utilizes a community node (n8n-nodes-insurance-exchange) published by 'gonzalezzackary' which is a recent addition to the registry.", - "Insurance lead data requires highly specific JSON schemas; incorrect formatting often results in 400 Bad Request errors without detailed validation messages.", - "API access is primarily through RapidAPI, which adds a layer of dependency on their gateway uptime." - ], - "client_must_provide": [ - "RapidAPI Key", - "Subscription to the Insurance Exchange API", - "Lead/Quote parameters (e.g., ZIP code, vehicle details, health status)" - ], - "operations_available": [ - "Ping (System Check)", - "Get Auto Insurance Quote", - "Get Health Insurance Quote", - "Get Life Insurance Quote", - "Get Home Insurance Quote" - ], - "confidence": 0.9, - "research_notes": "While 'Insurance' is a broad industry vertical, technical research identified a specific n8n community node ('n8n-nodes-insurance-exchange') that targets the Insurance Exchange API by Underground Elephant (Elephant Marketplace). This API is a leading platform for real-time insurance lead generation and quoting. Other insurance integrations in n8n (such as Boost Insurance or Herald API) currently require the generic HTTP Request node as no dedicated nodes exist for them. The community node for Insurance Exchange simplifies the connection to the RapidAPI-hosted endpoints.", - "sources_consulted": [ - "n8n Community Node Registry (npm)", - "RapidAPI Developer Portal", - "GitHub (gonzalezzackary/n8n-nodes-insurance-exchange)", - "Underground Elephant Official Site", - "n8n Community Forum" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "While 'Insurance' is a broad industry vertical, technical research identified a specific n8n community node ('n8n-nodes-insurance-exchange') that targets the Insurance Exchange API by Underground Elephant (Elephant Marketplace). This API is a leading platform for real-time insurance lead generation and quoting. Other insurance integrations in n8n (such as Boost Insurance or Herald API) currently require the generic HTTP Request node as no dedicated nodes exist for them. The community node for Insurance Exchange simplifies the connection to the RapidAPI-hosted endpoints." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/internal-accounting.json b/technical-research/internal-accounting.json deleted file mode 100644 index f228805..0000000 --- a/technical-research/internal-accounting.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "integration": "Internal accounting", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:54:12.593Z", - "model_used": "gemini-3-flash-preview", - "internal_accounting_software": [ - { - "name": "Xero", - "api_documentation_url": "https://developer.xero.com/documentation/api/accounting/overview", - "rate_limits": { - "minute_limit": "60 requests per minute (per tenant)", - "daily_limit": "5,000 requests per day (per tenant)", - "concurrent_limit": "5 calls in progress at one time", - "app_minute_limit": "10,000 requests per minute across all tenants" - }, - "authentication": { - "type": "OAuth 2.0", - "notes": "Uses standard OAuth 2.0 flow with Bearer tokens. Requires Client ID and Client Secret. Access tokens expire after 30 minutes; refresh tokens are used to obtain new access tokens." - } - }, - { - "name": "QuickBooks Online", - "api_documentation_url": "https://developer.intuit.com/app/developer/qbo/docs/get-started", - "rate_limits": { - "minute_limit": "500 requests per minute per realm ID", - "concurrent_limit": "10 concurrent requests per second per realm ID and app", - "batch_limit": "40 batch requests per minute (max 30 payloads per batch)", - "monthly_limit": "500,000 CorePlus API calls per workspace per month (Builder tier)" - }, - "authentication": { - "type": "OAuth 2.0", - "notes": "Requires an Intuit Developer account to obtain Client ID and Client Secret. Uses Scopes to define access levels (e.g., com.intuit.quickbooks.accounting)." - } - }, - { - "name": "Sage Business Cloud Accounting", - "api_documentation_url": "https://developer.sage.com/accounting/reference/", - "rate_limits": { - "minute_limit": "100 requests per minute per company", - "daily_limit": "2,500 requests per day per company", - "app_daily_limit": "1,296,000 requests per app per day", - "concurrent_limit": "150 concurrent requests at any time (per app)" - }, - "authentication": { - "type": "OAuth 2.0", - "notes": "Requires registration on the Sage Developer portal. Authentication uses Bearer tokens. Specific headers like 'X-Site' (Resource Owner ID) and 'ocp-apim-subscription-key' are required for certain regions." - } - }, - { - "name": "Zoho Books", - "api_documentation_url": "https://www.zoho.com/books/api/v3/", - "rate_limits": { - "minute_limit": "100 requests per minute per organization", - "daily_limit_free": "1,000 requests per day", - "daily_limit_standard": "2,000 requests per day", - "daily_limit_professional": "5,000 requests per day", - "daily_limit_premium_plus": "10,000 requests per day" - }, - "authentication": { - "type": "OAuth 2.0", - "notes": "Uses Multi-DC support (US, EU, IN, AU, etc.). Requires Client ID, Client Secret, and Redirect URI. Tokens are generated via the Zoho Accounts server." - } - }, - { - "name": "Microsoft Dynamics 365 Business Central", - "api_documentation_url": "https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/api-reference/v2.0/", - "rate_limits": { - "minute_limit_production": "600 requests per minute", - "minute_limit_sandbox": "300 requests per minute", - "concurrent_limit": "100 simultaneous requests (processed and queued)", - "batch_limit": "100 operations per OData V4 $batch request" - }, - "authentication": { - "type": "OAuth 2.0", - "notes": "Authenticated via Microsoft Entra ID (formerly Azure AD). Supports Service-to-Service (S2S) authentication using Client Credentials flow for automated tasks." - } - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/internal-communication.json b/technical-research/internal-communication.json deleted file mode 100644 index ae73605..0000000 --- a/technical-research/internal-communication.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "integration": "Internal communication", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:14:42.335Z", - "model_used": "gemini-3-flash-preview", - "internal_communication_tools": [ - { - "name": "Slack", - "api_documentation_url": "https://api.slack.com/docs/rate-limits", - "rate_limits": { - "tier_1": "1 request per minute", - "tier_2": "20 requests per minute", - "tier_3": "50 requests per minute", - "tier_4": "100 requests per minute", - "posting_messages": "1 message per second per channel (with short burst allowance)", - "events_api": "30,000 events per hour per workspace" - }, - "auth_notes": "Uses OAuth 2.0. Authentication requires a Bearer token passed in the 'Authorization' HTTP header. Tokens are scoped (e.g., 'chat:write', 'channels:read') and can represent either a Bot User or a User. Slack also supports 'Socket Mode' for apps behind firewalls, which uses a separate App-level token." - }, - { - "name": "Microsoft Teams (via Microsoft Graph)", - "api_documentation_url": "https://learn.microsoft.com/en-us/graph/throttling-limits", - "rate_limits": { - "general_teams_limit": "15,000 requests every 10 seconds per app per tenant", - "get_team_channel": "60 requests per second (rps)", - "post_put_channel": "30 requests per second (rps)", - "send_channel_message": "2 requests per second (rps)", - "send_chat_message": "2 requests per second (rps)" - }, - "auth_notes": "Authenticated via Microsoft Entra ID (formerly Azure AD) using OAuth 2.0. Supports 'Delegated' permissions (acting on behalf of a signed-in user) and 'Application' permissions (acting as a background service). Requires a Tenant ID, Client ID, and Client Secret to obtain a JWT Bearer token." - }, - { - "name": "Zoom", - "api_documentation_url": "https://developers.zoom.us/docs/api/rest/rate-limits/", - "rate_limits": { - "light_api": "80 requests per second (Business+ plans)", - "medium_api": "60 requests per second (Business+ plans)", - "heavy_api": "40 requests per second + 60,000 requests per day (Business+ plans)", - "resource_intensive": "20 requests per second + 60,000 requests per day (Business+ plans)", - "free_plan_base": "Light: 4/sec; Medium: 2/sec; Heavy: 1/sec" - }, - "auth_notes": "Primarily uses OAuth 2.0 for user-level apps and 'Server-to-Server OAuth' for account-level integrations. Server-to-Server OAuth replaces the deprecated JWT auth and requires an Account ID, Client ID, and Client Secret. Tokens must be sent as a Bearer token in the Authorization header." - }, - { - "name": "Discord", - "api_documentation_url": "https://discord.com/developers/docs/topics/rate-limits", - "rate_limits": { - "global_limit": "50 requests per second", - "invalid_request_limit": "10,000 per 10 minutes (results in temporary IP ban)", - "per_route_limits": "Varies by bucket; typically 5 requests per 5 seconds for message-related routes" - }, - "auth_notes": "Supports Bot Tokens and OAuth2 Bearer tokens. Bot tokens must be prefixed with 'Bot ' in the Authorization header (e.g., 'Authorization: Bot '). OAuth2 tokens use the standard 'Bearer ' prefix. Rate limit state is returned in headers: X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset." - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/internal.json b/technical-research/internal.json deleted file mode 100644 index ae9d9da..0000000 --- a/technical-research/internal.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Internal", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:28:52.745Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Internal", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "Internal.io required an API Key generated within the 'Company Settings' or 'API Keys' section of the dashboard. This key was typically passed as a Bearer token or a custom header (e.g., X-Internal-API-Key).", - "api_quality": "poor", - "api_documentation_url": "https://docs.internal.io/", - "rate_limits": "100 requests per minute (Historical estimate based on platform tiering)", - "complexity_score": 5, - "complexity_tier": "moderate", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "Internal.io officially shut down its services at the end of 2023; the platform is no longer active.", - "No native n8n node exists; any historical integration required the HTTP Request node.", - "Users are advised to migrate to active alternatives like Appsmith, Retool, or ToolJet." - ], - "client_must_provide": [ - "API Key", - "App ID or Resource ID", - "Base URL (for self-hosted instances if applicable)" - ], - "operations_available": [ - "Read Data (GET)", - "Insert Data (POST)", - "Update Data (PUT/PATCH)", - "Delete Data (DELETE)", - "Trigger Automation/Workflow" - ], - "confidence": 0.95, - "research_notes": "Internal.io was a prominent low-code internal tool builder that competed with Retool and Appsmith. Multiple sources (Appsmith, DronaHQ, Medium) confirm the company shuttered its services in late 2023. Consequently, there is no active developer portal or up-to-date API documentation. In n8n, 'Internal' is also a term used to describe core logic nodes (Set, IF, Merge), but as a specific integration target, it refers to this defunct service. Research confirms no community nodes are currently maintained for this platform.", - "sources_consulted": [ - "Appsmith Migration Guide", - "DronaHQ Comparison Blog", - "n8n Community Forum", - "Medium Technical Articles", - "NPM Registry Search", - "GitHub Repository Search" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "moderate", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 10, - "rationale": "Internal.io was a prominent low-code internal tool builder that competed with Retool and Appsmith. Multiple sources (Appsmith, DronaHQ, Medium) confirm the company shuttered its services in late 2023. Consequently, there is no active developer portal or up-to-date API documentation. In n8n, 'Internal' is also a term used to describe core logic nodes (Set, IF, Merge), but as a specific integration target, it refers to this defunct service. Research confirms no community nodes are currently maintained for this platform." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/inventory-counts-calculations.json b/technical-research/inventory-counts-calculations.json deleted file mode 100644 index 6373e6d..0000000 --- a/technical-research/inventory-counts-calculations.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Inventory counts/calculations", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T18:44:12.202Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Inventory counts/calculations", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2 / API Key", - "auth_complexity": "moderate", - "auth_notes": "Requires creating an application in the Square Developer Portal (or similar ERP portal) to obtain an Access Token or Personal Access Token. For Square, OAuth2 is required for third-party apps, while API Keys suffice for personal accounts.", - "api_quality": "excellent", - "api_documentation_url": "https://developer.squareup.com/reference/square/inventory-api", - "rate_limits": "10 requests per second (600 req/min)", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "RFC 3339 timestamps (occurred_at) are mandatory for accurate calculations; omitting them causes Square to use the server time, which leads to incorrect counts if updates arrive out of order.", - "Batch requests are strictly limited to 100 items per call, requiring n8n 'Split In Batches' logic for larger datasets.", - "Calculated counts are derived from the last 'Physical Count' plus all subsequent 'Adjustments'; historical errors can only be fixed by a new Physical Count record." - ], - "client_must_provide": [ - "Square Access Token (or API Key)", - "Location ID", - "Catalog Object ID (SKU or Variation ID)" - ], - "operations_available": [ - "RetrieveInventoryCount", - "BatchRetrieveInventoryCounts", - "BatchChangeInventory", - "RetrieveInventoryPhysicalCount", - "RetrieveInventoryAdjustment", - "RetrieveInventoryTransfer" - ], - "confidence": 0.95, - "research_notes": "The term 'Inventory counts/calculations' is the specific technical terminology used by the Square Inventory API to describe its real-time stock tracking system. While n8n has a native Square node, it primarily focuses on Catalog and Orders; the specialized 'Batch' and 'Physical Count' endpoints required for these calculations are not natively supported and must be implemented via the HTTP Request node. Research across n8n forums and developer blogs confirms that users frequently struggle with the 'occurred_at' timestamp requirement, which is critical for Square to correctly sequence inventory changes from multiple sources (POS, Web, API).", - "sources_consulted": [ - "Official API Documentation (Square)", - "n8n Community Forum", - "YouTube Tutorials (n8n Inventory Management)", - "Developer Blogs (Medium/Medium)", - "ERP Integration Playbooks (MasonHub/Kibo)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "The term 'Inventory counts/calculations' is the specific technical terminology used by the Square Inventory API to describe its real-time stock tracking system. While n8n has a native Square node, it primarily focuses on Catalog and Orders; the specialized 'Batch' and 'Physical Count' endpoints required for these calculations are not natively supported and must be implemented via the HTTP Request node. Research across n8n forums and developer blogs confirms that users frequently struggle with the 'occurred_at' timestamp requirement, which is critical for Square to correctly sequence inventory changes from multiple sources (POS, Web, API)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/inventory.json b/technical-research/inventory.json deleted file mode 100644 index 65731f7..0000000 --- a/technical-research/inventory.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Inventory", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:30:42.210Z", - "model_used": "gemini-3-flash-preview", - "inventory_apis": [ - { - "provider": "Shopify", - "api_documentation_url": "https://shopify.dev/docs/api/admin-rest/latest/resources/inventorylevel", - "rate_limits": { - "standard_plan": "2 requests per second (leaky bucket, 40 request capacity)", - "shopify_plus_plan": "20 requests per second (leaky bucket, 400 request capacity)", - "graphql_admin_api": "100 to 2,000 points per second depending on plan" - }, - "auth_notes": "Uses OAuth 2.0 for public apps. Private apps use an 'X-Shopify-Access-Token' header. Authentication requires a Shopify store URL and a valid access token generated from the Shopify Admin Partner Dashboard." - }, - { - "provider": "Amazon Selling Partner API (SP-API)", - "api_documentation_url": "https://developer-docs.amazon.com/sp-api/docs/fba-inventory-api-v1-reference", - "rate_limits": { - "fba_inventory_api": "2 requests per second (Rate), 30 requests (Burst)", - "listings_items_api": "5 requests per second (Rate), 10 requests (Burst)" - }, - "auth_notes": "Requires Login with Amazon (LWA) for OAuth 2.0. Developers must exchange a Refresh Token for an Access Token. Requests must be signed using AWS Signature Version 4 (SigV4) and include an 'x-amz-access-token' header." - }, - { - "provider": "ShipStation", - "api_documentation_url": "https://docs.shipstation.com/docs/inventory-api", - "rate_limits": { - "v1_api": "40 requests per minute", - "v2_api": "200 requests per minute (default)" - }, - "auth_notes": "Uses Basic HTTP Authentication. The 'Authorization' header is constructed by Base64 encoding the string 'API_Key:API_Secret'. The Inventory API specifically requires the 'Inventory API' add-on to be enabled in the account settings." - }, - { - "provider": "Square", - "api_documentation_url": "https://developer.squareup.com/reference/square/inventory-api", - "rate_limits": { - "general_limit": "Variable (Square does not publicly disclose exact numbers, but 429 errors are returned when exceeded)", - "create_order_limit": "100 requests per hour (when using API Key authentication)" - }, - "auth_notes": "Uses OAuth 2.0 for third-party integrations or Personal Access Tokens for private use. Tokens must be passed in the 'Authorization: Bearer {ACCESS_TOKEN}' header. Requires 'INVENTORY_READ' and 'INVENTORY_WRITE' scopes." - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/it-ticketing.json b/technical-research/it-ticketing.json deleted file mode 100644 index e3c4624..0000000 --- a/technical-research/it-ticketing.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "integration": "IT Ticketing", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:43:32.813Z", - "model_used": "gemini-3-flash-preview", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/ivr.json b/technical-research/ivr.json deleted file mode 100644 index d08f112..0000000 --- a/technical-research/ivr.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "IVR", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:04:42.230Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "IVR", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication typically requires an API Key and Account ID generated from the provider's developer portal (e.g., IVR Technology Group's Compass platform).", - "api_quality": "good", - "api_documentation_url": "https://ivrtechgroup.com/api-integration/", - "rate_limits": "60 requests per minute (1 request per second)", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "Requires a publicly accessible URL for webhooks; local development requires tools like ngrok or Cloudflare Tunnels.", - "Real-time voice interactions are sensitive to latency; complex n8n logic can cause 'dead air' if not optimized.", - "Handling DTMF (keypad) inputs requires returning specific XML or JSON response formats to the IVR server.", - "Many modern users are shifting from traditional IVR to AI-driven voice agents (e.g., Vapi, Retell AI) which have dedicated community nodes." - ], - "client_must_provide": [ - "API Key", - "Account ID / SID", - "Webhook URL (for inbound call handling)" - ], - "operations_available": [ - "Create Outbound Call", - "Get Call Status/Details", - "List Call Logs", - "Send SMS/Text Message", - "Initiate Automated Survey", - "Capture DTMF Input (via Webhook)" - ], - "confidence": 0.9, - "research_notes": "IVR (Interactive Voice Response) is primarily a category of service rather than a single tool. While 'IVR Technology Group' is a prominent SaaS provider with a REST API, most n8n users implement IVR functionality using Twilio or Vonage. The integration pattern involves using the Webhook node to receive call events and the HTTP Request node to send commands. Community sentiment highlights the complexity of managing real-time state across multiple webhook calls.", - "sources_consulted": [ - "Official Docs (IVR Technology Group)", - "n8n Community Forum", - "Reddit (r/n8n)", - "Make.com Integration Directory", - "SourceForge Comparison Data", - "YouTube (n8n Voice AI Tutorials)" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "IVR (Interactive Voice Response) is primarily a category of service rather than a single tool. While 'IVR Technology Group' is a prominent SaaS provider with a REST API, most n8n users implement IVR functionality using Twilio or Vonage. The integration pattern involves using the Webhook node to receive call events and the HTTP Request node to send commands. Community sentiment highlights the complexity of managing real-time state across multiple webhook calls." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/klaviyo.json b/technical-research/klaviyo.json deleted file mode 100644 index aad5476..0000000 --- a/technical-research/klaviyo.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Klaviyo", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-28T19:36:35.813Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Klaviyo", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key / OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires a Private API Key passed in the header as 'Authorization: Klaviyo-API-Key '. OAuth2 is also supported for third-party applications. Additionally, all requests to the new API must include a 'revision' header (e.g., 'revision: 2024-10-15').", - "api_quality": "excellent", - "api_documentation_url": "https://developers.klaviyo.com/en/reference/", - "rate_limits": "Tiered per endpoint: XS (1/s burst, 15/m steady), S (3/s burst, 60/m steady), M (10/s burst, 150/m steady), L (75/s burst, 700/m steady), XL (350/s burst, 3500/m steady).", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "Legacy v1/v2 APIs are deprecated; new integrations must use the v2024-xx-xx JSON:API compliant endpoints.", - "The API requires a mandatory 'revision' header for every request which can be easily missed in n8n HTTP nodes.", - "Payloads must follow the JSON:API standard, requiring deeply nested 'data', 'type', and 'attributes' objects.", - "Rate limits are strictly enforced per endpoint tier (XS to XL), requiring careful error handling for 429 status codes." - ], - "client_must_provide": [ - "Private API Key", - "API Revision Date", - "List ID (for subscription operations)" - ], - "operations_available": [ - "Create/Update Profile", - "Subscribe/Unsubscribe from List", - "Track Event/Metric", - "Manage Campaigns", - "Query Segments", - "Create/Manage Webhooks", - "Get Catalog Items" - ], - "confidence": 0.95, - "research_notes": "Klaviyo does not currently have a native n8n node, though a community node (@jayvogt/n8n-nodes-klaviyo) exists. Most users implement the integration via the HTTP Request node. The API is highly structured (JSON:API) and well-documented, but the requirement for a 'revision' header and the tiered rate limiting system are the most common points of friction for developers.", - "sources_consulted": [ - "Official Klaviyo Developer Portal", - "n8n Community Forums", - "n8n.io Integration Pages", - "YouTube Technical Walkthroughs", - "Reddit Developer Discussions", - "npm Registry" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Klaviyo does not currently have a native n8n node, though a community node (@jayvogt/n8n-nodes-klaviyo) exists. Most users implement the integration via the HTTP Request node. The API is highly structured (JSON:API) and well-documented, but the requirement for a 'revision' header and the tiered rate limiting system are the most common points of friction for developers." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/knowledge-base.json b/technical-research/knowledge-base.json deleted file mode 100644 index 95688b5..0000000 --- a/technical-research/knowledge-base.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Knowledge Base", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:54:51.106Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Knowledge Base", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key / OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Authentication is handled via Personal Access Tokens (API Keys) or OAuth2. Users must create an application or generate a token within the LiveChat/Text Developer Console (developers.livechat.com).", - "api_quality": "excellent", - "api_documentation_url": "https://developers.livechat.com/docs/messaging/knowledge-base-api/", - "rate_limits": "10 requests per second per account", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": true, - "gotchas": [ - "Articles are categorized by visibility (public, internal, draft); internal articles require specific scopes to access.", - "The API uses a limit/offset pagination model which must be handled manually in n8n loops.", - "KnowledgeBase is part of the 'Text' ecosystem (LiveChat), so credentials are often managed through the LiveChat developer portal even for standalone use." - ], - "client_must_provide": [ - "Personal Access Token (API Key)", - "Knowledge Base ID (for multi-workspace accounts)" - ], - "operations_available": [ - "List Articles", - "Get Article Details", - "Create Article", - "Update Article", - "Delete Article", - "Search Articles", - "List Categories", - "Create Category" - ], - "confidence": 0.95, - "research_notes": "KnowledgeBase (by Text/LiveChat) is the primary standalone SaaS product with this exact name. While n8n has a native LiveChat node, it focuses on messaging and does not currently support Knowledge Base article management. Integration is best achieved using the HTTP Request node. Research confirmed that the API is robust and follows standard REST patterns, making it a 'standard' difficulty integration.", - "sources_consulted": [ - "Official API Documentation (LiveChat Developer Portal)", - "n8n Community Forum", - "NPM Registry", - "YouTube Tutorials", - "KnowledgeBase.com Help Center" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "KnowledgeBase (by Text/LiveChat) is the primary standalone SaaS product with this exact name. While n8n has a native LiveChat node, it focuses on messaging and does not currently support Knowledge Base article management. Integration is best achieved using the HTTP Request node. Research confirmed that the API is robust and follows standard REST patterns, making it a 'standard' difficulty integration." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/labor-data.json b/technical-research/labor-data.json deleted file mode 100644 index daaa1ac..0000000 --- a/technical-research/labor-data.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Labor data", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T18:46:57.321Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Labor data", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires registration on the BLS developer portal to receive a 'Registration Key'. Version 1.0 allows limited access without a key, but Version 2.0 (recommended) requires the key to be passed in the JSON body or as a query parameter.", - "api_quality": "good", - "api_documentation_url": "https://www.bls.gov/developers/", - "rate_limits": "500 queries per day (Registered v2.0); 25 queries per day (Unregistered v1.0); 50 requests per 10 seconds burst limit.", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 10, - "webhook_support": false, - "gotchas": [ - "Users must know specific 'Series IDs' (e.g., LNS14000000 for Unemployment Rate) as there is no searchable directory within the API itself.", - "Maximum of 50 time series can be requested in a single POST request.", - "Data is limited to 20 years per request for registered users and 10 years for unregistered users.", - "The API returns data in a deeply nested JSON structure that requires significant 'Item Lists' or 'Function' node processing in n8n." - ], - "client_must_provide": [ - "BLS Registration Key", - "List of Series IDs for required metrics", - "Start Year and End Year for data range" - ], - "operations_available": [ - "Get Single Series Data", - "Get Multiple Series Data", - "Get Popular Series", - "Get Survey Metadata", - "Get Latest Data Point", - "Calculate Net/Percent Changes" - ], - "confidence": 0.9, - "research_notes": "The term 'Labor data' primarily refers to the U.S. Bureau of Labor Statistics (BLS) Public Data API in technical contexts. While other platforms like Square and Toast have 'Labor APIs' for internal workforce management, the BLS is the global standard for economic labor market intelligence. Integration in n8n is typically achieved via the HTTP Request node using POST requests to 'https://api.bls.gov/publicAPI/v2/timeseries/data/'. Community discussions highlight the difficulty of finding Series IDs, often requiring users to use the BLS 'Data Finder' tool on their website first. No native n8n node exists, and no high-quality community nodes were found, making the HTTP Request pattern the standard implementation.", - "sources_consulted": [ - "Official BLS Developer Portal", - "U.S. Department of Labor (DOL) API Documentation", - "n8n Community Forum", - "Square Developer Documentation (Labor API)", - "Lightcast (Emsi) Developer Docs", - "GitHub (BLS API Python/Node wrappers)" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 10, - "rationale": "The term 'Labor data' primarily refers to the U.S. Bureau of Labor Statistics (BLS) Public Data API in technical contexts. While other platforms like Square and Toast have 'Labor APIs' for internal workforce management, the BLS is the global standard for economic labor market intelligence. Integration in n8n is typically achieved via the HTTP Request node using POST requests to 'https://api.bls.gov/publicAPI/v2/timeseries/data/'. Community discussions highlight the difficulty of finding Series IDs, often requiring users to use the BLS 'Data Finder' tool on their website first. No native n8n node exists, and no high-quality community nodes were found, making the HTTP Request pattern the standard implementation." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/lawpay.json b/technical-research/lawpay.json deleted file mode 100644 index 9c305c8..0000000 --- a/technical-research/lawpay.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "LawPay", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-28T19:29:38.977Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "LawPay", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2 or API Key", - "auth_complexity": "moderate", - "auth_notes": "LawPay uses the 8am (formerly AffiniPay) platform. Authentication can be done via OAuth2 (requires creating a Partner Application in the 8am developer portal) or via a Secret Key (Live/Test) generated in the LawPay dashboard under the 'Developers' section.", - "api_quality": "good", - "api_documentation_url": "https://developers.8am.com/", - "rate_limits": "No specific request-per-minute limit is publicly stated; however, the API throttles traffic for excessive simultaneous connections (typically several hundred) or burst requests.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "Test Mode for webhooks is currently only supported for official LawPay partners.", - "The base API URL was recently updated from api.affinipay.com to api.8am.com.", - "Secret keys are strictly mode-specific; a Test key cannot be used with Live merchant accounts and vice-versa.", - "Deleting an authorized application in the dashboard immediately severs the API connection." - ], - "client_must_provide": [ - "API Secret Key (Live or Test)", - "OAuth Client ID and Client Secret (if using OAuth flow)", - "Developer or Administrator role access to the LawPay dashboard" - ], - "operations_available": [ - "Create Charge", - "Process Refund", - "Create/Update Contact", - "Manage Recurring Charges", - "Submit Merchant Applications", - "List/Retrieve Events", - "Manage Webhooks" - ], - "confidence": 0.9, - "research_notes": "LawPay is fully integrated into the 8am/AffiniPay developer ecosystem. While no native n8n node exists, the REST API is standard and works well with n8n's HTTP Request node. Forum discussions suggest that most users successfully integrate via Zapier or custom HTTP calls. The transition from AffiniPay branding to 8am.com is a key technical detail for endpoint configuration.", - "sources_consulted": [ - "Official 8am Developer Portal", - "LawPay Help Center", - "n8n Community Forum", - "Zapier LawPay Integration Page", - "8am API Changelog" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "LawPay is fully integrated into the 8am/AffiniPay developer ecosystem. While no native n8n node exists, the REST API is standard and works well with n8n's HTTP Request node. Forum discussions suggest that most users successfully integrate via Zapier or custom HTTP calls. The transition from AffiniPay branding to 8am.com is a key technical detail for endpoint configuration." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/lead-manager.json b/technical-research/lead-manager.json deleted file mode 100644 index 85a1f44..0000000 --- a/technical-research/lead-manager.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "Lead Manager", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:08:47.816Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Lead Manager", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires generating a 'Pull API Key' (glusr_crm_key) from the IndiaMART Seller Panel under Lead Manager > Import/Export Leads > Pull API. The key is passed as a query parameter.", - "api_quality": "fair", - "api_documentation_url": "https://seller.indiamart.com/leadmanager/crmapi", - "rate_limits": "5 hits per minute; minimum 5 minutes between consecutive hits for the Pull API.", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": true, - "gotchas": [ - "The Pull API Key expires automatically if not used for 7 consecutive days.", - "The maximum allowed time difference between start_time and end_time is 7 days.", - "Data prior to the key generation time is only available after a 24-hour delay.", - "Exceeding 5 hits per minute results in a 15-minute temporary block of the API key." - ], - "client_must_provide": [ - "IndiaMART Pull API Key (glusr_crm_key)", - "Seller Account Primary Email", - "Access to the IndiaMART Seller Panel" - ], - "operations_available": [ - "Fetch Leads (Pull API)", - "Receive Real-time Leads (Push API/Webhook)", - "Filter Leads by Date Range", - "Retrieve Historical Leads (up to 365 days)" - ], - "confidence": 0.9, - "research_notes": "The 'Lead Manager' integration in the context of n8n and automation workflows most frequently refers to the IndiaMART Lead Manager service. It is a common target for HTTP Request node patterns due to the lack of a native node. The service offers a Pull API (polling) and a Push API (webhooks). While a community node 'n8n-nodes-indiamart' exists, most users implement the integration manually to handle the specific 5-minute rate limit logic. The Push API is significantly more reliable for real-time lead syncing but requires a public-facing webhook URL.", - "sources_consulted": [ - "Official Docs (IndiaMART)", - "n8n Community Forum", - "Pabbly Connect Integration Guides", - "GitHub Repositories (n8n-nodes-indiamart)", - "Zapier App Directory" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "The 'Lead Manager' integration in the context of n8n and automation workflows most frequently refers to the IndiaMART Lead Manager service. It is a common target for HTTP Request node patterns due to the lack of a native node. The service offers a Pull API (polling) and a Push API (webhooks). While a community node 'n8n-nodes-indiamart' exists, most users implement the integration manually to handle the specific 5-minute rate limit logic. The Push API is significantly more reliable for real-time lead syncing but requires a public-facing webhook URL." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/lease-agreements.json b/technical-research/lease-agreements.json deleted file mode 100644 index 8970c58..0000000 --- a/technical-research/lease-agreements.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "Lease Agreements", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T18:20:26.432Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Lease Agreements", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2 / JWT", - "auth_complexity": "moderate", - "auth_notes": "Requires a two-step authentication process: first, a POST request to the login endpoint (/api/auth/login) with a username and password to retrieve a JWT token, which must then be included in the 'Authorization: Bearer ' header for subsequent requests.", - "api_quality": "good", - "api_documentation_url": "https://docs.defactor.dev/engage/back-end-api/restful-api-endpoints/lease-agreement", - "rate_limits": "1 req/min (Free Tier); higher limits available on Professional and Enterprise plans.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 10, - "webhook_support": false, - "gotchas": [ - "Tokens typically expire every 24 hours, requiring a robust re-authentication logic within the n8n workflow.", - "The API is part of a Real-World Asset (RWA) tokenization platform, so data structures often include blockchain-specific fields like 'smartContractAddress' or 'tokenId'.", - "Deletion of lease agreements may be restricted if the agreement has already been committed to a blockchain pool." - ], - "client_must_provide": [ - "API Username", - "API Password", - "Base URL (e.g., api-engage.defactor.com)" - ], - "operations_available": [ - "Create Lease Agreement", - "List All Lease Agreements", - "Get Lease Agreement Details", - "Update Lease Agreement", - "Delete Lease Agreement" - ], - "confidence": 0.9, - "research_notes": "Analysis focused on the Defactor 'Lease Agreement API', which is the most prominent technical API specifically named 'Lease Agreements'. While 'Lease Agreements' is a generic term used by platforms like DocuSign and DoorLoop, Defactor provides a dedicated developer portal for this specific entity. Integration in n8n requires the 'HTTP Request' node to manage the JWT lifecycle. No community nodes exist for this specific API, though general property management workflows often use BoldSign or Google Sheets as intermediaries.", - "sources_consulted": [ - "Official Defactor Developer Documentation", - "n8n Community Forum", - "GitHub Repositories (Defactor SDK)", - "TokenMetrics API Guides", - "Leasey.AI Technical Overviews" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 10, - "rationale": "Analysis focused on the Defactor 'Lease Agreement API', which is the most prominent technical API specifically named 'Lease Agreements'. While 'Lease Agreements' is a generic term used by platforms like DocuSign and DoorLoop, Defactor provides a dedicated developer portal for this specific entity. Integration in n8n requires the 'HTTP Request' node to manage the JWT lifecycle. No community nodes exist for this specific API, though general property management workflows often use BoldSign or Google Sheets as intermediaries." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/leasing.json b/technical-research/leasing.json deleted file mode 100644 index 27a0f0a..0000000 --- a/technical-research/leasing.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Leasing", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:11:49.304Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Funnel Leasing", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication is handled via an API Key (Token) passed in the request headers or as a query parameter (e.g., ?key=YOUR_KEY). Keys are obtained through the Funnel account representative or the developer portal.", - "api_quality": "good", - "api_documentation_url": "https://funnelleasing.com/api-documentation/", - "rate_limits": "No specific numeric limit enforced (e.g., 100/min), but the provider monitors for 'hammering' and will revoke access for excessive automated requests. Polling for bulk changes requires the specialized 'Listings Sync Endpoint'.", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "The API does not enforce a strict rate limit but will revoke access if automated scripts 'hammer' the endpoints with rapid requests.", - "Bulk data synchronization must use the 'Listings Sync Endpoint' rather than standard search endpoints to avoid performance issues.", - "Some endpoints (like SPII/Sensitive data) require specific authorization and may not be available with a standard API key." - ], - "client_must_provide": [ - "Funnel API Key", - "Community ID (for specific property operations)", - "Access to the Funnel Developer Portal" - ], - "operations_available": [ - "Create Prospect", - "Get Prospect Details", - "Update Prospect", - "Book Appointment", - "Search Listings", - "Sync Listings (Bulk)", - "Get Available Appointment Times" - ], - "confidence": 0.9, - "research_notes": "Research indicates that 'Leasing' in the context of n8n workflow development most frequently refers to Funnel Leasing (formerly Nestio), a dominant CRM/Marketing platform for multifamily property management. While no native node exists, the REST API is well-documented and follows standard patterns. Other potential candidates like Progressive Leasing (lease-to-own) or Leasing.com (automotive) were considered but are less common in general-purpose business automation workflows compared to Funnel's CRM-centric data flows.", - "sources_consulted": [ - "Official Funnel Leasing API Documentation", - "n8n Community Forum", - "Reddit (r/n8n)", - "GitHub (SDK searches)", - "G2/SourceForge (Competitor/Category analysis)" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 10, - "rationale": "Research indicates that 'Leasing' in the context of n8n workflow development most frequently refers to Funnel Leasing (formerly Nestio), a dominant CRM/Marketing platform for multifamily property management. While no native node exists, the REST API is well-documented and follows standard patterns. Other potential candidates like Progressive Leasing (lease-to-own) or Leasing.com (automotive) were considered but are less common in general-purpose business automation workflows compared to Funnel's CRM-centric data flows." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/legacy-accounting-software.json b/technical-research/legacy-accounting-software.json deleted file mode 100644 index 83b73ae..0000000 --- a/technical-research/legacy-accounting-software.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Legacy Accounting Software", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T01:00:21.291Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Legacy Accounting Software", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "Basic Auth or API Key with IP Whitelisting", - "auth_complexity": "moderate", - "auth_notes": "Most legacy systems utilize Basic Authentication (Base64 encoded credentials) or a static API Key passed in the header. Due to the 'legacy' nature, these often require a VPN or a static IP whitelist on the firewall to allow n8n to communicate with the on-premise or hosted server.", - "api_quality": "poor", - "api_documentation_url": null, - "rate_limits": "Typically unmanaged or restricted by server CPU/RAM; usually 2-5 concurrent requests max.", - "complexity_score": 8, - "complexity_tier": "complex", - "estimated_hours": 24, - "webhook_support": false, - "gotchas": [ - "Data is often returned in XML format requiring the n8n XML node for conversion.", - "Lack of standard pagination (offset/limit) often requires manual looping logic in n8n.", - "Database locks may occur if too many concurrent write requests are sent via the API." - ], - "client_must_provide": [ - "API Endpoint URL (often a specific port like 8080 or 443)", - "Authentication credentials (Username/Password or API Key)", - "Firewall access for n8n cloud IPs or VPN tunnel configuration", - "WSDL or Swagger file if available" - ], - "operations_available": [ - "Get Invoices", - "Create Journal Entry", - "List Customers", - "Update Ledger", - "Get Tax Rates" - ], - "similar_integrations": [ - "QuickBooks Online", - "Xero", - "FreshBooks" - ], - "confidence": 0.75, - "research_notes": "Integration will require the HTTP Request node. If the API is SOAP-based, the developer must set the 'Body Parameters' to 'Raw' and manually construct the XML envelope. The 'Split Out' node will be essential as legacy APIs often return deeply nested arrays within a single response object.", - "has_native_node": false, - "complexity": { - "score": 8, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "Integration will require the HTTP Request node. If the API is SOAP-based, the developer must set the 'Body Parameters' to 'Raw' and manually construct the XML envelope. The 'Split Out' node will be essential as legacy APIs often return deeply nested arrays within a single response object." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/legacy-accounting.json b/technical-research/legacy-accounting.json deleted file mode 100644 index 5f07354..0000000 --- a/technical-research/legacy-accounting.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Legacy accounting", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T18:48:50.342Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Legacy accounting", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "Requires a 'legacy-use' API Key and Subdomain. Authentication is handled via the 'X-API-Key' header. Users must also configure a 'Target' (the remote machine running the legacy software) and an 'API Definition' (the UI automation script) within the legacy-use dashboard.", - "api_quality": "good", - "api_documentation_url": "https://docs.legacy-use.com", - "rate_limits": "Limited by the UI automation speed of the legacy application and the number of concurrent 'Targets' available (typically 1-5 concurrent jobs per machine). Cloud version follows a Fair Use policy.", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 16, - "webhook_support": true, - "gotchas": [ - "Requires a persistent and stable RDP, VNC, or Citrix connection to the machine hosting the legacy accounting software.", - "Initial setup requires a 'Show Us Once' teaching phase where the AI records and learns the UI navigation patterns.", - "An Anthropic API Key (Claude) is required to power the AI-driven UI interpretation and error handling.", - "UI changes in the legacy software (e.g., updates) may require re-teaching the specific affected API endpoints." - ], - "client_must_provide": [ - "legacy-use API Key", - "Subdomain (e.g., company-name.legacy-use.com)", - "Remote Desktop (RDP/VNC) credentials for the legacy host", - "Anthropic API Key" - ], - "operations_available": [ - "Job: Run (Execute UI automation and wait for result)", - "Job: Start (Trigger automation asynchronously)", - "Job: Wait (Poll for the status of a running job)", - "Generic API: Request (Direct REST calls to the legacy-use management API)" - ], - "confidence": 0.95, - "research_notes": "Research indicates that 'Legacy accounting' in the n8n ecosystem primarily refers to the use of the 'legacy-use' platform. This tool acts as a bridge for older, non-API desktop accounting software (such as Lexware, Microsoft Dynamics GP, or Sage 50) by exposing their functionality as a modern REST API through AI-driven UI automation. A community node 'n8n-nodes-legacy-use' is actively maintained to support this workflow.", - "sources_consulted": [ - "Official API Documentation (legacy-use.com)", - "NPM Registry (n8n-nodes-legacy-use)", - "GitHub Repositories (legacy-use/legacy-use)", - "n8n Official Blog (AI Agents & Legacy Systems)", - "n8n Community Forum (Legacy ERP discussions)" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 16, - "rationale": "Research indicates that 'Legacy accounting' in the n8n ecosystem primarily refers to the use of the 'legacy-use' platform. This tool acts as a bridge for older, non-API desktop accounting software (such as Lexware, Microsoft Dynamics GP, or Sage 50) by exposing their functionality as a modern REST API through AI-driven UI automation. A community node 'n8n-nodes-legacy-use' is actively maintained to support this workflow." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/legacy-dms.json b/technical-research/legacy-dms.json deleted file mode 100644 index ca24b9d..0000000 --- a/technical-research/legacy-dms.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "integration": "Legacy DMS", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T12:58:49.777Z", - "model_used": "gemini-3-flash-preview", - "api_documentation_url": "https://dx.getadministrate.com/legacy-api/", - "rate_limits": "6,000 requests per 5-minute window (equivalent to 20 requests per second), enforced by IP address.", - "auth_notes": "The Legacy REST API uses Basic Authentication. To authenticate, a 'WEB User' must be created in the Administrate TMS Control Panel with 'REST API' product access. The 'Authorization' header must be provided in the format 'Basic ', where the credentials are the user's email and password joined by a colon.", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/legacy-erp.json b/technical-research/legacy-erp.json deleted file mode 100644 index 3530a78..0000000 --- a/technical-research/legacy-erp.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "Legacy ERP", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:25:36.787Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Legacy ERP", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "Basic Auth / Database Credentials", - "auth_complexity": "complex", - "auth_notes": "Legacy ERPs typically lack modern OAuth2 support. Integration requires either direct database access (ODBC/JDBC), SFTP for file-based exchange, or a REST/SOAP wrapper. Authentication is often handled via Basic Auth or static API Keys through a middleware layer like DreamFactory or OpenLegacy.", - "api_quality": "poor", - "api_documentation_url": "https://www.dreamfactory.com/blog/how-to-connect-legacy-erps-to-modern-applications/", - "rate_limits": "100-500 requests per minute (typical for legacy system wrappers)", - "complexity_score": 9, - "complexity_tier": "enterprise", - "estimated_hours": 32, - "webhook_support": false, - "gotchas": [ - "Requires manual XML/SOAP parsing using the XML node or Function node.", - "Lack of native webhooks necessitates high-frequency polling or database triggers.", - "On-premise deployments often require a VPN or SSH Tunnel for n8n Cloud connectivity.", - "Data schemas are frequently inconsistent and require heavy normalization in n8n." - ], - "client_must_provide": [ - "VPN or SSH Tunnel access for on-premise systems", - "Database credentials (MySQL, Oracle, MSSQL) or SOAP endpoint URLs", - "Comprehensive data dictionary/schema documentation" - ], - "operations_available": [ - "Direct SQL Queries (CRUD)", - "SOAP/XML Request Execution", - "SFTP Batch File Processing", - "CSV/Flat-file Ingestion" - ], - "confidence": 0.95, - "research_notes": "Research confirms 'Legacy ERP' is a generic classification for older systems (e.g., SAP ECC, Oracle EBS, AS/400). No native n8n node exists. Integration is standardly achieved using the HTTP Request node (for SOAP/REST wrappers), Database nodes (for direct SQL access), or SFTP nodes for batch processing. Community discussions emphasize the 'Legacy to Cloud' pattern involving XML-to-JSON conversion and polling-based triggers.", - "sources_consulted": [ - "Official Docs (DreamFactory, OpenLegacy)", - "n8n Community Forum", - "Medium (Technical Integration Playbooks)", - "GitHub (n8n-node-starter templates)", - "Reddit (Developer Sentiment)" - ], - "has_native_node": false, - "complexity": { - "score": 9, - "tier": "enterprise", - "estimated_hours": 32 - }, - "effort_recommendation": { - "tier": "enterprise", - "base_hours": 32, - "rationale": "Research confirms 'Legacy ERP' is a generic classification for older systems (e.g., SAP ECC, Oracle EBS, AS/400). No native n8n node exists. Integration is standardly achieved using the HTTP Request node (for SOAP/REST wrappers), Database nodes (for direct SQL access), or SFTP nodes for batch processing. Community discussions emphasize the 'Legacy to Cloud' pattern involving XML-to-JSON conversion and polling-based triggers." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/lever.json b/technical-research/lever.json deleted file mode 100644 index 6583b2e..0000000 --- a/technical-research/lever.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "integration": "Lever", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T22:43:04.775Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Lever", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key / OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Internal workflows use API Keys via Basic Auth (API Key as username, password blank). Partner integrations use OAuth2, which requires app registration in the Lever Developer portal. Super Admin access is required to generate credentials.", - "api_quality": "good", - "api_documentation_url": "https://hire.lever.co/developer/api-overview", - "rate_limits": "10 req/s (steady), 20 req/s (burst); Postings API (POST) is limited to 2 req/s.", - "complexity_score": 6, - "complexity_tier": "standard", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "Webhooks are not active by default and must be enabled by a Super Admin in the Integrations and API settings.", - "The Postings API has a much stricter rate limit (2 req/s) than the main API (10 req/s).", - "Lever is candidate-centric; a candidate can exist in the system without an application or job posting link.", - "Email addresses are used for de-duplication; submitting a candidate with an existing email will merge records rather than create a new one." - ], - "client_must_provide": [ - "API Key (for internal tools) or Client ID/Secret (for OAuth)", - "Super Admin access to enable webhooks", - "LeverTRM or LeverTRM for Enterprise plan (Basic plan only allows Postings API)" - ], - "operations_available": [ - "List/Retrieve Candidates", - "Create/Update Opportunities", - "List/Retrieve Postings", - "Manage Applications", - "Create Notes/Feedback", - "Schedule Interviews", - "Manage Requisitions", - "Download Files/Resumes" - ], - "confidence": 0.95, - "research_notes": "No native n8n node exists, but a highly comprehensive community node 'n8n-nodes-lever' (developed by Velocity-BPA) is available on npm/GitHub, supporting over 60 operations and dual-region (US/EU) support. The API is well-documented but gated behind specific pricing tiers (LeverTRM and above).", - "sources_consulted": [ - "Official API Documentation", - "Lever Help Center", - "GitHub (Velocity-BPA/n8n-nodes-lever)", - "n8n Community Forum", - "Lever Pricing/Package Breakdown", - "Developer Blogs (Knit, Unified.to)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "standard", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 12, - "rationale": "No native n8n node exists, but a highly comprehensive community node 'n8n-nodes-lever' (developed by Velocity-BPA) is available on npm/GitHub, supporting over 60 operations and dual-region (US/EU) support. The API is well-documented but gated behind specific pricing tiers (LeverTRM and above)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/library-index.json b/technical-research/library-index.json deleted file mode 100644 index 1177e4e..0000000 --- a/technical-research/library-index.json +++ /dev/null @@ -1,1901 +0,0 @@ -{ - "version": "1.1.0", - "last_updated": "2026-01-28T19:36:35.881Z", - "description": "Index of technical research reports for integration estimation", - "research_files": { - "ringcentral-pipedrive": { - "file": "sync-ringcentral-calls-to-pipedrive.md", - "integrations": [ - "ringcentral", - "pipedrive" - ], - "created_at": "2025-12-20", - "complexity_score": 6, - "effort_tier": "moderate", - "confidence": 0.85 - }, - "orthopedic-patient-intake": { - "file": "orthopedic-patient-intake-scheduling.md", - "integrations": [ - "athenahealth", - "ringcentral", - "gmail", - "square", - "jotform", - "twilio", - "insurance" - ], - "created_at": "2025-12-27", - "complexity_score": 7, - "effort_tier": "complex", - "confidence": 0.85, - "business_process": "Patient Pre-Registration, Insurance Verification, Smart Scheduling", - "base_hours": 120 - }, - "voice-ai-agency-data-storage-infrastructure": { - "file": "voice-ai-agency-data-storage-infrastructure.md", - "integrations": [ - "redis", - "postgres", - "supabase", - "airtable", - "google-sheets", - "elevenlabs", - "vapi", - "retell", - "gohighlevel", - "n8n", - "firebase", - "qdrant" - ], - "created_at": "2025-12-29", - "complexity_score": 5, - "effort_tier": "research", - "confidence": 0.87, - "business_process": "Voice AI agency data storage and infrastructure patterns", - "research_type": "infrastructure_analysis" - }, - "proactive-inbound-receptionist-automation-2025-12-30": { - "file": "proactive-inbound-receptionist-automation-2025-12-30.md", - "integrations": [ - "voip-pbx" - ], - "created_at": "2025-12-30", - "complexity_score": 3, - "effort_tier": "standard", - "confidence": 0.95, - "business_process": "Inbound Receptionist Automation", - "base_hours": 8, - "generated": true - }, - "proactive-patient-intake-&-scheduling-workflow-2025-12-31": { - "file": "proactive-patient-intake-&-scheduling-workflow-2025-12-31.md", - "integrations": [ - "phone-sms", - "forms", - "referrals", - "fax" - ], - "created_at": "2025-12-31", - "complexity_score": 5.3, - "effort_tier": "moderate", - "confidence": 0.85, - "business_process": "Patient Intake & Scheduling Workflow", - "base_hours": 48, - "generated": true - }, - "proactive-general-operational-cost-management-2025-12-31": { - "file": "proactive-general-operational-cost-management-2025-12-31.md", - "integrations": [ - "excel", - "manual-spreadsheets", - "outlook-gmail", - "legacy-accounting-software" - ], - "created_at": "2025-12-31", - "complexity_score": 3.8, - "effort_tier": "standard", - "confidence": 0.77, - "business_process": "General Operational Cost Management", - "base_hours": 40, - "generated": true - }, - "proactive-executive-email-management-2025-12-31": { - "file": "proactive-executive-email-management-2025-12-31.md", - "integrations": [ - "outlook-gmail-apple-mail" - ], - "created_at": "2025-12-31", - "complexity_score": 2, - "effort_tier": "standard", - "confidence": 0.7, - "business_process": "Executive Email Management", - "base_hours": 4, - "generated": true - }, - "proactive-patient-intake-&-scheduling-automation-2025-12-31": { - "file": "proactive-patient-intake-&-scheduling-automation-2025-12-31.md", - "integrations": [ - "api", - "athenahealth-ehr", - "phone-sms" - ], - "created_at": "2025-12-31", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.83, - "business_process": "Patient Intake & Scheduling Automation", - "base_hours": 32, - "generated": true - }, - "proactive-candidate-outbound-outreach-and-lead-management-2025-12-31": { - "file": "proactive-candidate-outbound-outreach-and-lead-management-2025-12-31.md", - "integrations": [ - "salesforce", - "phone", - "data-enrichment", - "lusha", - "sourcing", - "linkedin-recruiter", - "indeed", - "tracking", - "outlook", - "calendly" - ], - "created_at": "2025-12-31", - "complexity_score": 5.1, - "effort_tier": "moderate", - "confidence": 0.84, - "business_process": "Candidate Outbound Outreach and Lead Management", - "base_hours": 114, - "generated": true - }, - "proactive-ai-powered-lead-qualification-system-2025-12-31": { - "file": "proactive-ai-powered-lead-qualification-system-2025-12-31.md", - "integrations": [ - "social", - "facebook-lead-ads", - "linkedin-lead-gen-forms", - "ads", - "google-ads", - "hubspot", - "communication", - "slack", - "hosting", - "digitalocean", - "ai", - "gpt-4" - ], - "created_at": "2025-12-31", - "complexity_score": 4.8, - "effort_tier": "moderate", - "confidence": 0.82, - "business_process": "AI-Powered Lead Qualification System", - "base_hours": 132, - "generated": true - }, - "proactive-inbound-receptionist-automation-2025-12-31": { - "file": "proactive-inbound-receptionist-automation-2025-12-31.md", - "integrations": [ - "voip-pbx" - ], - "created_at": "2025-12-31", - "complexity_score": 3, - "effort_tier": "standard", - "confidence": 0.95, - "business_process": "Inbound Receptionist Automation", - "base_hours": 8, - "generated": true - }, - "proactive-legal-quote-generation-and-approval-2025-12-31": { - "file": "proactive-legal-quote-generation-and-approval-2025-12-31.md", - "integrations": [ - "clio-manage", - "database", - "sql-server", - "templates", - "word" - ], - "created_at": "2025-12-31", - "complexity_score": 5.2, - "effort_tier": "moderate", - "confidence": 0.84, - "business_process": "Legal Quote Generation and Approval", - "base_hours": 84, - "generated": true - }, - "proactive-patient-intake-&-scheduling-automation-2026-01-01": { - "file": "proactive-patient-intake-&-scheduling-automation-2026-01-01.md", - "integrations": [ - "voip-sms", - "payment-processing" - ], - "created_at": "2026-01-01", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.93, - "business_process": "Patient Intake & Scheduling Automation", - "base_hours": 24, - "generated": true - }, - "proactive-patient-intake-&-scheduling-workflow-2026-01-01": { - "file": "proactive-patient-intake-&-scheduling-workflow-2026-01-01.md", - "integrations": [ - "phone-sms" - ], - "created_at": "2026-01-01", - "complexity_score": 6, - "effort_tier": "moderate", - "confidence": 0.9, - "business_process": "Patient Intake & Scheduling Workflow", - "base_hours": 12, - "generated": true - }, - "proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-11": { - "file": "proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-11.md", - "integrations": [ - "field-service-crm-inventory", - "accounting", - "gps-fleet", - "financing" - ], - "created_at": "2026-01-11", - "complexity_score": 4.5, - "effort_tier": "moderate", - "confidence": 0.93, - "business_process": "Emergency Call Triage and Maintenance Agreement Renewal", - "base_hours": 38, - "generated": true - }, - "proactive-patient-scheduling-and-treatment-coordination-2026-01-11": { - "file": "proactive-patient-scheduling-and-treatment-coordination-2026-01-11.md", - "integrations": [ - "practice-management", - "phone-system-and-texting", - "claims-submission", - "digital-imaging", - "cad-cam", - "fee-schedules,-recalls", - "doctor-schedules" - ], - "created_at": "2026-01-11", - "complexity_score": 5.7, - "effort_tier": "moderate", - "confidence": 0.94, - "business_process": "Patient Scheduling and Treatment Coordination", - "base_hours": 94, - "generated": true - }, - "proactive-patient-scheduling-and-treatment-coordination-2026-01-12": { - "file": "proactive-patient-scheduling-and-treatment-coordination-2026-01-12.md", - "integrations": [ - "doctor-personal-schedules" - ], - "created_at": "2026-01-12", - "complexity_score": 7, - "effort_tier": "moderate", - "confidence": 0.85, - "business_process": "Patient Scheduling and Treatment Coordination", - "base_hours": 15, - "generated": true - }, - "proactive-new-patient-intake-automation-2026-01-12": { - "file": "proactive-new-patient-intake-automation-2026-01-12.md", - "integrations": [ - "insurance-verification", - "consent-forms", - "sms-reminders" - ], - "created_at": "2026-01-12", - "complexity_score": 4, - "effort_tier": "standard", - "confidence": 0.93, - "business_process": "New Patient Intake Automation", - "base_hours": 22, - "generated": true - }, - "proactive-legal-document-intake-and-routing-2026-01-12": { - "file": "proactive-legal-document-intake-and-routing-2026-01-12.md", - "integrations": [ - "dms", - "legacy-dms", - "conflict-checks" - ], - "created_at": "2026-01-12", - "complexity_score": 5.7, - "effort_tier": "moderate", - "confidence": 0.77, - "business_process": "Legal Document Intake and Routing", - "base_hours": 60, - "generated": true - }, - "proactive-lead-qualification-and-property-matching-2026-01-12": { - "file": "proactive-lead-qualification-and-property-matching-2026-01-12.md", - "integrations": [ - "gmail,-sheets,-calendar", - "lease-agreements" - ], - "created_at": "2026-01-12", - "complexity_score": 4, - "effort_tier": "standard", - "confidence": 0.8, - "business_process": "Lead Qualification and Property Matching", - "base_hours": 14, - "generated": true - }, - "proactive-shipment-dispatch-and-driver-assignment-2026-01-12": { - "file": "proactive-shipment-dispatch-and-driver-assignment-2026-01-12.md", - "integrations": [ - "tms", - "eld-gps", - "exception-tracking", - "load-planning", - "sms", - "safety", - "fuel", - "spot-market" - ], - "created_at": "2026-01-12", - "complexity_score": 4.3, - "effort_tier": "moderate", - "confidence": 0.87, - "business_process": "Shipment Dispatch and Driver Assignment", - "base_hours": 94, - "generated": true - }, - "proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-12": { - "file": "proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-12.md", - "integrations": [ - "pms", - "payment", - "inventory" - ], - "created_at": "2026-01-12", - "complexity_score": 4.7, - "effort_tier": "moderate", - "confidence": 0.87, - "business_process": "Pet Appointment Scheduling and Vaccination Reminder System", - "base_hours": 42, - "generated": true - }, - "proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-12": { - "file": "proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-12.md", - "integrations": [ - "field-service-crm" - ], - "created_at": "2026-01-12", - "complexity_score": 3, - "effort_tier": "standard", - "confidence": 1, - "business_process": "Emergency Call Triage and Maintenance Agreement Renewal", - "base_hours": 6, - "generated": true - }, - "proactive-customer-inquiry-handling-2026-01-12": { - "file": "proactive-customer-inquiry-handling-2026-01-12.md", - "integrations": [ - "enterprise-grade" - ], - "created_at": "2026-01-12", - "complexity_score": 4, - "effort_tier": "standard", - "confidence": 0.95, - "business_process": "Customer Inquiry Handling", - "base_hours": 8, - "generated": true - }, - "proactive-customer-support-ticket-routing-2026-01-12": { - "file": "proactive-customer-support-ticket-routing-2026-01-12.md", - "integrations": [ - "ticketing", - "chat", - "erp", - "knowledge-base", - "translation", - "analytics" - ], - "created_at": "2026-01-12", - "complexity_score": 4.2, - "effort_tier": "moderate", - "confidence": 0.81, - "business_process": "Customer Support Ticket Routing", - "base_hours": 62, - "generated": true - }, - "proactive-customer-onboarding-and-support-2026-01-12": { - "file": "proactive-customer-onboarding-and-support-2026-01-12.md", - "integrations": [ - "frontend", - "backend", - "auth" - ], - "created_at": "2026-01-12", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.78, - "business_process": "Customer Onboarding and Support", - "base_hours": 56, - "generated": true - }, - "proactive-candidate-sourcing-and-placement-workflow-2026-01-12": { - "file": "proactive-candidate-sourcing-and-placement-workflow-2026-01-12.md", - "integrations": [ - "e-signature" - ], - "created_at": "2026-01-12", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.7, - "business_process": "Candidate Sourcing and Placement Workflow", - "base_hours": 24, - "generated": true - }, - "proactive-service-department-appointment-scheduling-and-follow-up-2026-01-12": { - "file": "proactive-service-department-appointment-scheduling-and-follow-up-2026-01-12.md", - "integrations": [ - "parts", - "text" - ], - "created_at": "2026-01-12", - "complexity_score": 5.5, - "effort_tier": "moderate", - "confidence": 0.93, - "business_process": "Service Department Appointment Scheduling and Follow-up", - "base_hours": 16, - "generated": true - }, - "proactive-subcontractor-coordination-and-daily-report-collection-2026-01-12": { - "file": "proactive-subcontractor-coordination-and-daily-report-collection-2026-01-12.md", - "integrations": [ - "project-management-docs", - "time-tracking", - "safety-reporting" - ], - "created_at": "2026-01-12", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.77, - "business_process": "Subcontractor Coordination and Daily Report Collection", - "base_hours": 56, - "generated": true - }, - "proactive-member-engagement-and-personal-training-lead-qualification-2026-01-12": { - "file": "proactive-member-engagement-and-personal-training-lead-qualification-2026-01-12.md", - "integrations": [ - "gym-management" - ], - "created_at": "2026-01-12", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.9, - "business_process": "Member Engagement and Personal Training Lead Qualification", - "base_hours": 10, - "generated": true - }, - "proactive-prescription-ready-notifications-and-refill-reminder-calls-2026-01-12": { - "file": "proactive-prescription-ready-notifications-and-refill-reminder-calls-2026-01-12.md", - "integrations": [ - "pharmacy-system", - "phone-system-ivr", - "e-prescribing" - ], - "created_at": "2026-01-12", - "complexity_score": 7.3, - "effort_tier": "complex", - "confidence": 0.93, - "business_process": "Prescription Ready Notifications and Refill Reminder Calls", - "base_hours": 69, - "generated": true - }, - "proactive-after-hours-call-handling-and-pre-need-consultation-scheduling-2026-01-12": { - "file": "proactive-after-hours-call-handling-and-pre-need-consultation-scheduling-2026-01-12.md", - "integrations": [ - "funeral-management", - "website" - ], - "created_at": "2026-01-12", - "complexity_score": 6, - "effort_tier": "moderate", - "confidence": 0.88, - "business_process": "After-Hours Call Handling and Pre-Need Consultation Scheduling", - "base_hours": 24, - "generated": true - }, - "proactive-appointment-booking-and-grooming-reminder-system-2026-01-12": { - "file": "proactive-appointment-booking-and-grooming-reminder-system-2026-01-12.md", - "integrations": [ - "scheduling-crm", - "social-media", - "reviews" - ], - "created_at": "2026-01-12", - "complexity_score": 4.3, - "effort_tier": "moderate", - "confidence": 0.97, - "business_process": "Appointment Booking and Grooming Reminder System", - "base_hours": 24, - "generated": true - }, - "proactive-quote-requests-and-scheduling-coordination-2026-01-12": { - "file": "proactive-quote-requests-and-scheduling-coordination-2026-01-12.md", - "integrations": [ - "scheduling-crm-gps-payments" - ], - "created_at": "2026-01-12", - "complexity_score": 4, - "effort_tier": "standard", - "confidence": 0.95, - "business_process": "Quote Requests and Scheduling Coordination", - "base_hours": 6, - "generated": true - }, - "proactive-membership-sales-and-appointment-booking-for-detailing-2026-01-12": { - "file": "proactive-membership-sales-and-appointment-booking-for-detailing-2026-01-12.md", - "integrations": [ - "pos", - "membership-management", - "email-marketing" - ], - "created_at": "2026-01-12", - "complexity_score": 4.3, - "effort_tier": "moderate", - "confidence": 0.8, - "business_process": "Membership Sales and Appointment Booking for Detailing", - "base_hours": 38, - "generated": true - }, - "proactive-order-processing-2026-01-12": { - "file": "proactive-order-processing-2026-01-12.md", - "integrations": [ - "sap-or-oracle", - "voip", - "office-365-or-google", - "fedex-ups", - "sql" - ], - "created_at": "2026-01-12", - "complexity_score": 5.4, - "effort_tier": "moderate", - "confidence": 0.85, - "business_process": "Order Processing", - "base_hours": 86, - "generated": true - }, - "proactive-patient-scheduling-and-follow-up-2026-01-12": { - "file": "proactive-patient-scheduling-and-follow-up-2026-01-12.md", - "integrations": [ - "ehr", - "insurance" - ], - "created_at": "2026-01-12", - "complexity_score": 6, - "effort_tier": "moderate", - "confidence": 0.93, - "business_process": "Patient Scheduling and Follow-up", - "base_hours": 36, - "generated": true - }, - "proactive-loan-application-processing-2026-01-12": { - "file": "proactive-loan-application-processing-2026-01-12.md", - "integrations": [ - "los", - "operations", - "credit", - "esign" - ], - "created_at": "2026-01-12", - "complexity_score": 5.8, - "effort_tier": "moderate", - "confidence": 0.88, - "business_process": "Loan Application Processing", - "base_hours": 68, - "generated": true - }, - "proactive-custom-cake-order-management-2026-01-12": { - "file": "proactive-custom-cake-order-management-2026-01-12.md", - "integrations": [ - "notes" - ], - "created_at": "2026-01-12", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.7, - "business_process": "Custom Cake Order Management", - "base_hours": 24, - "generated": true - }, - "proactive-production-order-management-2026-01-12": { - "file": "proactive-production-order-management-2026-01-12.md", - "integrations": [ - "rpg-iii", - "production-planning", - "scada", - "spreadsheets", - "email-legacy", - "api-gateway", - "edi" - ], - "created_at": "2026-01-12", - "complexity_score": 5.7, - "effort_tier": "moderate", - "confidence": 0.91, - "business_process": "Production Order Management", - "base_hours": 84, - "generated": true - }, - "proactive-multi-currency-invoice-reconciliation-2026-01-12": { - "file": "proactive-multi-currency-invoice-reconciliation-2026-01-12.md", - "integrations": [ - "legacy-erp", - "treasury", - "fx-platform", - "banking-api", - "storage" - ], - "created_at": "2026-01-12", - "complexity_score": 6.4, - "effort_tier": "moderate", - "confidence": 0.94, - "business_process": "Multi-Currency Invoice Reconciliation", - "base_hours": 68, - "generated": true - }, - "proactive-last-mile-delivery-dispatch-and-exception-management-2026-01-12": { - "file": "proactive-last-mile-delivery-dispatch-and-exception-management-2026-01-12.md", - "integrations": [ - "route-planning", - "customer-portal" - ], - "created_at": "2026-01-12", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.83, - "business_process": "Last-Mile Delivery Dispatch and Exception Management", - "base_hours": 30, - "generated": true - }, - "proactive-new-client-onboarding-and-tax-preparation-workflow-2026-01-12": { - "file": "proactive-new-client-onboarding-and-tax-preparation-workflow-2026-01-12.md", - "integrations": [ - "tax-preparation-practice-management", - "document-exchange", - "electronic-signatures", - "internal-accounting", - "review-tracking" - ], - "created_at": "2026-01-12", - "complexity_score": 5.2, - "effort_tier": "moderate", - "confidence": 0.88, - "business_process": "New Client Onboarding and Tax Preparation Workflow", - "base_hours": 72, - "generated": true - }, - "proactive-order-processing-and-fulfillment-automation-2026-01-12": { - "file": "proactive-order-processing-and-fulfillment-automation-2026-01-12.md", - "integrations": [ - "e-commerce-store", - "marketplace", - "shipping", - "team-notifications", - "customer-support" - ], - "created_at": "2026-01-12", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.79, - "business_process": "Order Processing and Fulfillment Automation", - "base_hours": 94, - "generated": true - }, - "proactive-guest-reservation-and-check-in-management-2026-01-12": { - "file": "proactive-guest-reservation-and-check-in-management-2026-01-12.md", - "integrations": [ - "ota", - "feedback", - "preferences-loyalty", - "internal", - "check-in" - ], - "created_at": "2026-01-12", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.87, - "business_process": "Guest Reservation and Check-in Management", - "base_hours": 60, - "generated": true - }, - "proactive-first-notice-of-loss-(fnol)-claims-intake-2026-01-12": { - "file": "proactive-first-notice-of-loss-(fnol)-claims-intake-2026-01-12.md", - "integrations": [ - "claims-management", - "policy-admin", - "fraud-detection", - "estimation", - "it-ticketing" - ], - "created_at": "2026-01-12", - "complexity_score": 5.2, - "effort_tier": "moderate", - "confidence": 0.87, - "business_process": "First Notice of Loss (FNOL) Claims Intake", - "base_hours": 70, - "generated": true - }, - "proactive-custom-order-processing-and-production-scheduling-2026-01-12": { - "file": "proactive-custom-order-processing-and-production-scheduling-2026-01-12.md", - "integrations": [ - "engineering-drawings", - "qms", - "shipping-labels", - "document-management", - "reporting" - ], - "created_at": "2026-01-12", - "complexity_score": 5.2, - "effort_tier": "moderate", - "confidence": 0.83, - "business_process": "Custom Order Processing and Production Scheduling", - "base_hours": 76, - "generated": true - }, - "proactive-inventory-management-and-supplier-ordering-2026-01-12": { - "file": "proactive-inventory-management-and-supplier-ordering-2026-01-12.md", - "integrations": [ - "sales-data", - "accounting-inventory", - "supplier-ordering", - "inventory-counts-calculations", - "cross-location-sharing", - "labor-data", - "delivery-orders", - "legacy-accounting" - ], - "created_at": "2026-01-12", - "complexity_score": 5.4, - "effort_tier": "moderate", - "confidence": 0.84, - "business_process": "Inventory Management and Supplier Ordering", - "base_hours": 129, - "generated": true - }, - "proactive-inbound-call-handling-and-reception-2026-01-12": { - "file": "proactive-inbound-call-handling-and-reception-2026-01-12.md", - "integrations": [ - "pbx", - "customer-records" - ], - "created_at": "2026-01-12", - "complexity_score": 4, - "effort_tier": "standard", - "confidence": 0.85, - "business_process": "Inbound Call Handling and Reception", - "base_hours": 30, - "generated": true - }, - "proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-13": { - "file": "proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-13.md", - "integrations": [ - "fsm-crm" - ], - "created_at": "2026-01-13", - "complexity_score": 4, - "effort_tier": "standard", - "confidence": 1, - "business_process": "Emergency Call Triage and Maintenance Agreement Renewal", - "base_hours": 10, - "generated": true - }, - "proactive-support-ticket-management-and-lead-triage-2026-01-13": { - "file": "proactive-support-ticket-management-and-lead-triage-2026-01-13.md", - "integrations": [ - "listings" - ], - "created_at": "2026-01-13", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.7, - "business_process": "Support Ticket Management and Lead Triage", - "base_hours": 24, - "generated": true - }, - "proactive-patient-scheduling-and-treatment-coordination-2026-01-13": { - "file": "proactive-patient-scheduling-and-treatment-coordination-2026-01-13.md", - "integrations": [ - "claims-eligibility", - "fee-schedules-recalls" - ], - "created_at": "2026-01-13", - "complexity_score": 7.5, - "effort_tier": "complex", - "confidence": 0.95, - "business_process": "Patient Scheduling and Treatment Coordination", - "base_hours": 36, - "generated": true - }, - "proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-15": { - "file": "proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-15.md", - "integrations": [ - "practice-management-system" - ], - "created_at": "2026-01-15", - "complexity_score": 4, - "effort_tier": "standard", - "confidence": 0.95, - "business_process": "Pet Appointment Scheduling and Vaccination Reminder System", - "base_hours": 8, - "generated": true - }, - "proactive-patient-scheduling-and-treatment-coordination-2026-01-15": { - "file": "proactive-patient-scheduling-and-treatment-coordination-2026-01-15.md", - "integrations": [ - "tracking-recalls" - ], - "created_at": "2026-01-15", - "complexity_score": 3, - "effort_tier": "standard", - "confidence": 0.9, - "business_process": "Patient Scheduling and Treatment Coordination", - "base_hours": 6, - "generated": true - }, - "proactive-appointment-scheduling-2026-01-21": { - "file": "proactive-appointment-scheduling-2026-01-21.md", - "integrations": [ - "google-outlook", - "manual-entry" - ], - "created_at": "2026-01-21", - "complexity_score": 4, - "effort_tier": "standard", - "confidence": 0.7, - "business_process": "Appointment Scheduling", - "base_hours": 32, - "generated": true - }, - "proactive-appointment-scheduling-2026-01-25": { - "file": "proactive-appointment-scheduling-2026-01-25.md", - "integrations": [ - "human-sdr-team" - ], - "created_at": "2026-01-25", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.7, - "business_process": "Appointment Scheduling", - "base_hours": 12, - "generated": true - }, - "proactive-insurance-process-automation-2026-01-25": { - "file": "proactive-insurance-process-automation-2026-01-25.md", - "integrations": [ - "amazon-connect" - ], - "created_at": "2026-01-25", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.7, - "business_process": "insurance Process Automation", - "base_hours": 12, - "generated": true - }, - "proactive-customer-support-2026-01-25": { - "file": "proactive-customer-support-2026-01-25.md", - "integrations": [ - "banking-platform", - "customer-support-system", - "sms-system" - ], - "created_at": "2026-01-25", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.7, - "business_process": "Customer Support", - "base_hours": 36, - "generated": true - }, - "proactive-lead-intake-&-qualification-2026-01-25": { - "file": "proactive-lead-intake-&-qualification-2026-01-25.md", - "integrations": [ - "telephony-system", - "exited-market" - ], - "created_at": "2026-01-25", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.7, - "business_process": "Lead Intake & Qualification", - "base_hours": 24, - "generated": true - }, - "proactive-healthcare-process-automation-2026-01-25": { - "file": "proactive-healthcare-process-automation-2026-01-25.md", - "integrations": [ - "patient-onboarding-system", - "doctor-approved-faq-system" - ], - "created_at": "2026-01-25", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.7, - "business_process": "healthcare Process Automation", - "base_hours": 24, - "generated": true - }, - "proactive-after-hours-coverage-2026-01-25": { - "file": "proactive-after-hours-coverage-2026-01-25.md", - "integrations": [ - "telephony-system", - "carrier-management-platform" - ], - "created_at": "2026-01-25", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.7, - "business_process": "After-Hours Coverage", - "base_hours": 24, - "generated": true - }, - "proactive-customer-support-2026-01-27": { - "file": "proactive-customer-support-2026-01-27.md", - "integrations": [ - "banking-platform", - "customer-support-system", - "sms-system" - ], - "created_at": "2026-01-27", - "complexity_score": 4.7, - "effort_tier": "moderate", - "confidence": 0.75, - "business_process": "Customer Support", - "base_hours": 56, - "generated": true - }, - "proactive-appointment-scheduling-2026-01-27": { - "file": "proactive-appointment-scheduling-2026-01-27.md", - "integrations": [ - "human-sdr-team" - ], - "created_at": "2026-01-27", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.9, - "business_process": "Appointment Scheduling", - "base_hours": 12, - "generated": true - }, - "proactive-insurance-process-automation-2026-01-27": { - "file": "proactive-insurance-process-automation-2026-01-27.md", - "integrations": [ - "amazon-connect" - ], - "created_at": "2026-01-27", - "complexity_score": 8, - "effort_tier": "complex", - "confidence": 0.95, - "business_process": "insurance Process Automation", - "base_hours": 15, - "generated": true - }, - "proactive-lead-intake-&-qualification-2026-01-27": { - "file": "proactive-lead-intake-&-qualification-2026-01-27.md", - "integrations": [ - "exited-market" - ], - "created_at": "2026-01-27", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.7, - "business_process": "Lead Intake & Qualification", - "base_hours": 24, - "generated": true - }, - "proactive-healthcare-process-automation-2026-01-27": { - "file": "proactive-healthcare-process-automation-2026-01-27.md", - "integrations": [ - "patient-onboarding-system", - "doctor-approved-faq-system" - ], - "created_at": "2026-01-27", - "complexity_score": 5, - "effort_tier": "moderate", - "confidence": 0.95, - "business_process": "healthcare Process Automation", - "base_hours": 26, - "generated": true - }, - "proactive-after-hours-coverage-2026-01-27": { - "file": "proactive-after-hours-coverage-2026-01-27.md", - "integrations": [ - "telephony-system", - "carrier-management-platform" - ], - "created_at": "2026-01-27", - "complexity_score": 5.5, - "effort_tier": "moderate", - "confidence": 0.83, - "business_process": "After-Hours Coverage", - "base_hours": 38, - "generated": true - }, - "proactive-lead-intake-&-qualification-2026-01-28": { - "file": "proactive-lead-intake-&-qualification-2026-01-28.md", - "integrations": [ - "clio", - "lawpay" - ], - "created_at": "2026-01-28", - "complexity_score": 6, - "effort_tier": "moderate", - "confidence": 0.93, - "business_process": "Lead Intake & Qualification", - "base_hours": 24, - "generated": true - }, - "proactive-customer-support-2026-01-28": { - "file": "proactive-customer-support-2026-01-28.md", - "integrations": [ - "gorgias", - "shipstation", - "klaviyo" - ], - "created_at": "2026-01-28", - "complexity_score": 5.7, - "effort_tier": "moderate", - "confidence": 0.97, - "business_process": "Customer Support", - "base_hours": 34, - "generated": true - } - }, - "integration_lookup": { - "ringcentral": [ - "ringcentral-pipedrive", - "orthopedic-patient-intake", - "proactive-lead-intake-&-qualification-2026-01-28" - ], - "pipedrive": [ - "ringcentral-pipedrive" - ], - "athenahealth": [ - "orthopedic-patient-intake" - ], - "ehr": [ - "orthopedic-patient-intake", - "proactive-patient-scheduling-and-follow-up-2026-01-12" - ], - "gmail": [ - "orthopedic-patient-intake" - ], - "google": [ - "orthopedic-patient-intake" - ], - "square": [ - "orthopedic-patient-intake" - ], - "jotform": [ - "orthopedic-patient-intake" - ], - "twilio": [ - "orthopedic-patient-intake", - "proactive-appointment-scheduling-2026-01-27" - ], - "sms": [ - "orthopedic-patient-intake", - "proactive-shipment-dispatch-and-driver-assignment-2026-01-12" - ], - "insurance": [ - "orthopedic-patient-intake", - "proactive-patient-scheduling-and-follow-up-2026-01-12" - ], - "healthcare": [ - "orthopedic-patient-intake" - ], - "medical": [ - "orthopedic-patient-intake" - ], - "hipaa": [ - "orthopedic-patient-intake" - ], - "redis": [ - "voice-ai-agency-data-storage-infrastructure" - ], - "postgres": [ - "voice-ai-agency-data-storage-infrastructure" - ], - "supabase": [ - "voice-ai-agency-data-storage-infrastructure" - ], - "airtable": [ - "voice-ai-agency-data-storage-infrastructure" - ], - "google-sheets": [ - "voice-ai-agency-data-storage-infrastructure" - ], - "elevenlabs": [ - "voice-ai-agency-data-storage-infrastructure" - ], - "vapi": [ - "voice-ai-agency-data-storage-infrastructure" - ], - "retell": [ - "voice-ai-agency-data-storage-infrastructure" - ], - "gohighlevel": [ - "voice-ai-agency-data-storage-infrastructure" - ], - "ghl": [ - "voice-ai-agency-data-storage-infrastructure" - ], - "firebase": [ - "voice-ai-agency-data-storage-infrastructure" - ], - "qdrant": [ - "voice-ai-agency-data-storage-infrastructure" - ], - "voice-ai": [ - "voice-ai-agency-data-storage-infrastructure" - ], - "latency": [ - "voice-ai-agency-data-storage-infrastructure" - ], - "phone-system": [ - "proactive-inbound-receptionist-automation-2025-12-30" - ], - "voip-pbx": [ - "proactive-inbound-receptionist-automation-2025-12-30", - "proactive-inbound-receptionist-automation-2025-12-31" - ], - "customer-lookup": [ - "proactive-inbound-receptionist-automation-2025-12-30" - ], - "crm": [ - "proactive-inbound-receptionist-automation-2025-12-30" - ], - "scheduling": [ - "proactive-inbound-receptionist-automation-2025-12-30" - ], - "calendar": [ - "proactive-inbound-receptionist-automation-2025-12-30" - ], - "phone-sms": [ - "proactive-patient-intake-&-scheduling-workflow-2025-12-31", - "proactive-patient-intake-&-scheduling-automation-2025-12-31", - "proactive-patient-intake-&-scheduling-workflow-2026-01-01", - "proactive-patient-scheduling-and-treatment-coordination-2026-01-13" - ], - "email": [ - "proactive-patient-intake-&-scheduling-workflow-2025-12-31" - ], - "payments": [ - "proactive-patient-intake-&-scheduling-workflow-2025-12-31" - ], - "web-forms": [ - "proactive-patient-intake-&-scheduling-workflow-2025-12-31" - ], - "excel": [ - "proactive-general-operational-cost-management-2025-12-31" - ], - "manual-spreadsheets": [ - "proactive-general-operational-cost-management-2025-12-31" - ], - "outlook-gmail": [ - "proactive-general-operational-cost-management-2025-12-31" - ], - "legacy-accounting-software": [ - "proactive-general-operational-cost-management-2025-12-31" - ], - "outlook-gmail-apple-mail": [ - "proactive-executive-email-management-2025-12-31" - ], - "email-client": [ - "proactive-executive-email-management-2025-12-31" - ], - "forms": [ - "proactive-patient-intake-&-scheduling-workflow-2025-12-31" - ], - "referrals": [ - "proactive-patient-intake-&-scheduling-workflow-2025-12-31" - ], - "fax": [ - "proactive-patient-intake-&-scheduling-workflow-2025-12-31" - ], - "api": [ - "proactive-patient-intake-&-scheduling-automation-2025-12-31" - ], - "athenahealth-ehr": [ - "proactive-patient-intake-&-scheduling-automation-2025-12-31" - ], - "salesforce": [ - "proactive-candidate-outbound-outreach-and-lead-management-2025-12-31" - ], - "phone": [ - "proactive-candidate-outbound-outreach-and-lead-management-2025-12-31" - ], - "data-enrichment": [ - "proactive-candidate-outbound-outreach-and-lead-management-2025-12-31" - ], - "lusha": [ - "proactive-candidate-outbound-outreach-and-lead-management-2025-12-31" - ], - "sourcing": [ - "proactive-candidate-outbound-outreach-and-lead-management-2025-12-31" - ], - "linkedin-recruiter": [ - "proactive-candidate-outbound-outreach-and-lead-management-2025-12-31" - ], - "indeed": [ - "proactive-candidate-outbound-outreach-and-lead-management-2025-12-31" - ], - "tracking": [ - "proactive-candidate-outbound-outreach-and-lead-management-2025-12-31" - ], - "outlook": [ - "proactive-candidate-outbound-outreach-and-lead-management-2025-12-31" - ], - "calendly": [ - "proactive-candidate-outbound-outreach-and-lead-management-2025-12-31" - ], - "social": [ - "proactive-ai-powered-lead-qualification-system-2025-12-31" - ], - "facebook-lead-ads": [ - "proactive-ai-powered-lead-qualification-system-2025-12-31" - ], - "linkedin-lead-gen-forms": [ - "proactive-ai-powered-lead-qualification-system-2025-12-31" - ], - "ads": [ - "proactive-ai-powered-lead-qualification-system-2025-12-31" - ], - "google-ads": [ - "proactive-ai-powered-lead-qualification-system-2025-12-31" - ], - "hubspot": [ - "proactive-ai-powered-lead-qualification-system-2025-12-31" - ], - "communication": [ - "proactive-ai-powered-lead-qualification-system-2025-12-31" - ], - "slack": [ - "proactive-ai-powered-lead-qualification-system-2025-12-31" - ], - "hosting": [ - "proactive-ai-powered-lead-qualification-system-2025-12-31" - ], - "digitalocean": [ - "proactive-ai-powered-lead-qualification-system-2025-12-31" - ], - "ai": [ - "proactive-ai-powered-lead-qualification-system-2025-12-31" - ], - "gpt-4": [ - "proactive-ai-powered-lead-qualification-system-2025-12-31" - ], - "clio-manage": [ - "proactive-legal-quote-generation-and-approval-2025-12-31" - ], - "database": [ - "proactive-legal-quote-generation-and-approval-2025-12-31" - ], - "sql-server": [ - "proactive-legal-quote-generation-and-approval-2025-12-31" - ], - "templates": [ - "proactive-legal-quote-generation-and-approval-2025-12-31" - ], - "word": [ - "proactive-legal-quote-generation-and-approval-2025-12-31" - ], - "voip-sms": [ - "proactive-patient-intake-&-scheduling-automation-2026-01-01" - ], - "payment-processing": [ - "proactive-patient-intake-&-scheduling-automation-2026-01-01" - ], - "web-intake": [ - "proactive-patient-intake-&-scheduling-workflow-2026-01-01" - ], - "field-service-crm-inventory": [ - "proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-11" - ], - "accounting": [ - "proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-11" - ], - "gps-fleet": [ - "proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-11" - ], - "financing": [ - "proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-11" - ], - "practice-management": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-11" - ], - "phone-system-and-texting": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-11" - ], - "claims-submission": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-11" - ], - "digital-imaging": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-11" - ], - "cad-cam": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-11" - ], - "fee-schedules,-recalls": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-11" - ], - "doctor-schedules": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-11" - ], - "phone-and-sms": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-12" - ], - "fee-schedules-and-tracking": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-12" - ], - "insurance-verification": [ - "proactive-new-patient-intake-automation-2026-01-12" - ], - "consent-forms": [ - "proactive-new-patient-intake-automation-2026-01-12" - ], - "sms-reminders": [ - "proactive-new-patient-intake-automation-2026-01-12" - ], - "dms": [ - "proactive-legal-document-intake-and-routing-2026-01-12" - ], - "legacy-dms": [ - "proactive-legal-document-intake-and-routing-2026-01-12" - ], - "conflict-checks": [ - "proactive-legal-document-intake-and-routing-2026-01-12" - ], - "property-management": [ - "proactive-lead-qualification-and-property-matching-2026-01-12" - ], - "lead-manager": [ - "proactive-lead-qualification-and-property-matching-2026-01-12" - ], - "spark-api": [ - "proactive-lead-qualification-and-property-matching-2026-01-12" - ], - "marketing": [ - "proactive-lead-qualification-and-property-matching-2026-01-12" - ], - "gmail-sheets": [ - "proactive-lead-qualification-and-property-matching-2026-01-12" - ], - "leasing": [ - "proactive-lead-qualification-and-property-matching-2026-01-12" - ], - "tms": [ - "proactive-shipment-dispatch-and-driver-assignment-2026-01-12" - ], - "eld-gps": [ - "proactive-shipment-dispatch-and-driver-assignment-2026-01-12" - ], - "exception-tracking": [ - "proactive-shipment-dispatch-and-driver-assignment-2026-01-12" - ], - "load-planning": [ - "proactive-shipment-dispatch-and-driver-assignment-2026-01-12" - ], - "safety": [ - "proactive-shipment-dispatch-and-driver-assignment-2026-01-12" - ], - "fuel": [ - "proactive-shipment-dispatch-and-driver-assignment-2026-01-12" - ], - "spot-market": [ - "proactive-shipment-dispatch-and-driver-assignment-2026-01-12" - ], - "pms": [ - "proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-12" - ], - "payment": [ - "proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-12" - ], - "inventory": [ - "proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-12" - ], - "field-service-crm": [ - "proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-12" - ], - "something-enterprise-grade": [ - "proactive-customer-inquiry-handling-2026-01-12" - ], - "industry-standard": [ - "proactive-customer-inquiry-handling-2026-01-12" - ], - "the-usual": [ - "proactive-customer-inquiry-handling-2026-01-12" - ], - "ticketing": [ - "proactive-customer-support-ticket-routing-2026-01-12" - ], - "chat": [ - "proactive-customer-support-ticket-routing-2026-01-12" - ], - "erp": [ - "proactive-customer-support-ticket-routing-2026-01-12" - ], - "knowledge-base": [ - "proactive-customer-support-ticket-routing-2026-01-12" - ], - "translation": [ - "proactive-customer-support-ticket-routing-2026-01-12" - ], - "analytics": [ - "proactive-customer-support-ticket-routing-2026-01-12" - ], - "frontend": [ - "proactive-customer-onboarding-and-support-2026-01-12" - ], - "backend": [ - "proactive-customer-onboarding-and-support-2026-01-12" - ], - "auth": [ - "proactive-customer-onboarding-and-support-2026-01-12" - ], - "ats": [ - "proactive-candidate-sourcing-and-placement-workflow-2026-01-12" - ], - "contact-data": [ - "proactive-candidate-sourcing-and-placement-workflow-2026-01-12" - ], - "offer-letters": [ - "proactive-candidate-sourcing-and-placement-workflow-2026-01-12" - ], - "background-checks": [ - "proactive-candidate-sourcing-and-placement-workflow-2026-01-12" - ], - "internal-communication": [ - "proactive-candidate-sourcing-and-placement-workflow-2026-01-12" - ], - "document-storage": [ - "proactive-candidate-sourcing-and-placement-workflow-2026-01-12" - ], - "payroll": [ - "proactive-candidate-sourcing-and-placement-workflow-2026-01-12" - ], - "parts": [ - "proactive-service-department-appointment-scheduling-and-follow-up-2026-01-12" - ], - "text": [ - "proactive-service-department-appointment-scheduling-and-follow-up-2026-01-12" - ], - "project-management-docs": [ - "proactive-subcontractor-coordination-and-daily-report-collection-2026-01-12" - ], - "time-tracking": [ - "proactive-subcontractor-coordination-and-daily-report-collection-2026-01-12" - ], - "safety-reporting": [ - "proactive-subcontractor-coordination-and-daily-report-collection-2026-01-12" - ], - "gym-management": [ - "proactive-member-engagement-and-personal-training-lead-qualification-2026-01-12" - ], - "pharmacy-system": [ - "proactive-prescription-ready-notifications-and-refill-reminder-calls-2026-01-12" - ], - "phone-system-ivr": [ - "proactive-prescription-ready-notifications-and-refill-reminder-calls-2026-01-12" - ], - "e-prescribing": [ - "proactive-prescription-ready-notifications-and-refill-reminder-calls-2026-01-12" - ], - "funeral-management": [ - "proactive-after-hours-call-handling-and-pre-need-consultation-scheduling-2026-01-12" - ], - "website": [ - "proactive-after-hours-call-handling-and-pre-need-consultation-scheduling-2026-01-12" - ], - "scheduling-crm": [ - "proactive-appointment-booking-and-grooming-reminder-system-2026-01-12" - ], - "social-media": [ - "proactive-appointment-booking-and-grooming-reminder-system-2026-01-12" - ], - "reviews": [ - "proactive-appointment-booking-and-grooming-reminder-system-2026-01-12" - ], - "scheduling-crm-gps-payments": [ - "proactive-quote-requests-and-scheduling-coordination-2026-01-12" - ], - "pos": [ - "proactive-membership-sales-and-appointment-booking-for-detailing-2026-01-12" - ], - "membership-management": [ - "proactive-membership-sales-and-appointment-booking-for-detailing-2026-01-12" - ], - "email-marketing": [ - "proactive-membership-sales-and-appointment-booking-for-detailing-2026-01-12" - ], - "sap-or-oracle": [ - "proactive-order-processing-2026-01-12" - ], - "voip": [ - "proactive-order-processing-2026-01-12" - ], - "office-365-or-google": [ - "proactive-order-processing-2026-01-12" - ], - "fedex-ups": [ - "proactive-order-processing-2026-01-12" - ], - "sql": [ - "proactive-order-processing-2026-01-12" - ], - "enterprise-grade": [ - "proactive-customer-inquiry-handling-2026-01-12" - ], - "los": [ - "proactive-loan-application-processing-2026-01-12" - ], - "operations": [ - "proactive-loan-application-processing-2026-01-12" - ], - "credit": [ - "proactive-loan-application-processing-2026-01-12" - ], - "esign": [ - "proactive-loan-application-processing-2026-01-12" - ], - "notes": [ - "proactive-custom-cake-order-management-2026-01-12" - ], - "rpg-iii": [ - "proactive-production-order-management-2026-01-12" - ], - "production-planning": [ - "proactive-production-order-management-2026-01-12" - ], - "scada": [ - "proactive-production-order-management-2026-01-12" - ], - "spreadsheets": [ - "proactive-production-order-management-2026-01-12" - ], - "email-legacy": [ - "proactive-production-order-management-2026-01-12" - ], - "api-gateway": [ - "proactive-production-order-management-2026-01-12" - ], - "edi": [ - "proactive-production-order-management-2026-01-12" - ], - "legacy-erp": [ - "proactive-multi-currency-invoice-reconciliation-2026-01-12" - ], - "treasury": [ - "proactive-multi-currency-invoice-reconciliation-2026-01-12" - ], - "fx-platform": [ - "proactive-multi-currency-invoice-reconciliation-2026-01-12" - ], - "banking-api": [ - "proactive-multi-currency-invoice-reconciliation-2026-01-12" - ], - "storage": [ - "proactive-multi-currency-invoice-reconciliation-2026-01-12" - ], - "route-planning": [ - "proactive-last-mile-delivery-dispatch-and-exception-management-2026-01-12" - ], - "customer-portal": [ - "proactive-last-mile-delivery-dispatch-and-exception-management-2026-01-12" - ], - "tax-preparation-practice-management": [ - "proactive-new-client-onboarding-and-tax-preparation-workflow-2026-01-12" - ], - "document-exchange": [ - "proactive-new-client-onboarding-and-tax-preparation-workflow-2026-01-12" - ], - "electronic-signatures": [ - "proactive-new-client-onboarding-and-tax-preparation-workflow-2026-01-12" - ], - "internal-accounting": [ - "proactive-new-client-onboarding-and-tax-preparation-workflow-2026-01-12" - ], - "review-tracking": [ - "proactive-new-client-onboarding-and-tax-preparation-workflow-2026-01-12" - ], - "phone-text": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-12" - ], - "claims": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-12" - ], - "imaging": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-12" - ], - "tracking-fee-schedules": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-12" - ], - "personal-schedules": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-12" - ], - "e-commerce-store": [ - "proactive-order-processing-and-fulfillment-automation-2026-01-12" - ], - "marketplace": [ - "proactive-order-processing-and-fulfillment-automation-2026-01-12" - ], - "shipping": [ - "proactive-order-processing-and-fulfillment-automation-2026-01-12" - ], - "team-notifications": [ - "proactive-order-processing-and-fulfillment-automation-2026-01-12" - ], - "customer-support": [ - "proactive-order-processing-and-fulfillment-automation-2026-01-12" - ], - "ota": [ - "proactive-guest-reservation-and-check-in-management-2026-01-12" - ], - "feedback": [ - "proactive-guest-reservation-and-check-in-management-2026-01-12" - ], - "preferences-loyalty": [ - "proactive-guest-reservation-and-check-in-management-2026-01-12" - ], - "internal": [ - "proactive-guest-reservation-and-check-in-management-2026-01-12" - ], - "check-in": [ - "proactive-guest-reservation-and-check-in-management-2026-01-12" - ], - "claims-management": [ - "proactive-first-notice-of-loss-(fnol)-claims-intake-2026-01-12" - ], - "policy-admin": [ - "proactive-first-notice-of-loss-(fnol)-claims-intake-2026-01-12" - ], - "fraud-detection": [ - "proactive-first-notice-of-loss-(fnol)-claims-intake-2026-01-12" - ], - "estimation": [ - "proactive-first-notice-of-loss-(fnol)-claims-intake-2026-01-12" - ], - "it-ticketing": [ - "proactive-first-notice-of-loss-(fnol)-claims-intake-2026-01-12" - ], - "engineering-drawings": [ - "proactive-custom-order-processing-and-production-scheduling-2026-01-12" - ], - "qms": [ - "proactive-custom-order-processing-and-production-scheduling-2026-01-12" - ], - "shipping-labels": [ - "proactive-custom-order-processing-and-production-scheduling-2026-01-12" - ], - "document-management": [ - "proactive-custom-order-processing-and-production-scheduling-2026-01-12" - ], - "reporting": [ - "proactive-custom-order-processing-and-production-scheduling-2026-01-12" - ], - "gmail,-sheets,-calendar": [ - "proactive-lead-qualification-and-property-matching-2026-01-12" - ], - "lease-agreements": [ - "proactive-lead-qualification-and-property-matching-2026-01-12" - ], - "e-signature": [ - "proactive-candidate-sourcing-and-placement-workflow-2026-01-12" - ], - "sales-data": [ - "proactive-inventory-management-and-supplier-ordering-2026-01-12" - ], - "accounting-inventory": [ - "proactive-inventory-management-and-supplier-ordering-2026-01-12" - ], - "supplier-ordering": [ - "proactive-inventory-management-and-supplier-ordering-2026-01-12" - ], - "inventory-counts-calculations": [ - "proactive-inventory-management-and-supplier-ordering-2026-01-12" - ], - "cross-location-sharing": [ - "proactive-inventory-management-and-supplier-ordering-2026-01-12" - ], - "labor-data": [ - "proactive-inventory-management-and-supplier-ordering-2026-01-12" - ], - "delivery-orders": [ - "proactive-inventory-management-and-supplier-ordering-2026-01-12" - ], - "legacy-accounting": [ - "proactive-inventory-management-and-supplier-ordering-2026-01-12" - ], - "personal": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-12" - ], - "doctor-personal-schedules": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-12" - ], - "pbx": [ - "proactive-inbound-call-handling-and-reception-2026-01-12" - ], - "customer-records": [ - "proactive-inbound-call-handling-and-reception-2026-01-12" - ], - "fsm-crm": [ - "proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-13" - ], - "listings": [ - "proactive-support-ticket-management-and-lead-triage-2026-01-13" - ], - "claims-eligibility": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-13" - ], - "fee-schedules-recalls": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-13" - ], - "practice-management-system": [ - "proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-15" - ], - "practice-management-3-separate-servers": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-15" - ], - "phone-texting": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-15" - ], - "tracking-recalls": [ - "proactive-patient-scheduling-and-treatment-coordination-2026-01-15" - ], - "google-outlook": [ - "proactive-appointment-scheduling-2026-01-21" - ], - "manual-entry": [ - "proactive-appointment-scheduling-2026-01-21" - ], - "dentrix-g7": [ - "proactive-appointment-scheduling-2026-01-25", - "proactive-appointment-scheduling-2026-01-27" - ], - "weave": [ - "proactive-appointment-scheduling-2026-01-25", - "proactive-appointment-scheduling-2026-01-27" - ], - "google-calendar": [ - "proactive-appointment-scheduling-2026-01-25" - ], - "rectangle-health": [ - "proactive-appointment-scheduling-2026-01-25", - "proactive-appointment-scheduling-2026-01-27" - ], - "amazon-connect": [ - "proactive-insurance-process-automation-2026-01-25", - "proactive-insurance-process-automation-2026-01-27" - ], - "call-center-systems": [ - "proactive-customer-support-2026-01-25", - "proactive-customer-support-2026-01-27" - ], - "ivr": [ - "proactive-customer-support-2026-01-25", - "proactive-customer-support-2026-01-27" - ], - "car-financing-systems": [ - "proactive-customer-support-2026-01-25", - "proactive-customer-support-2026-01-27" - ], - "verification-services": [ - "proactive-customer-support-2026-01-25", - "proactive-customer-support-2026-01-27" - ], - "scheduling-services": [ - "proactive-customer-support-2026-01-25" - ], - "crm-system": [ - "proactive-appointment-scheduling-2026-01-25" - ], - "demo-scheduling-system": [ - "proactive-appointment-scheduling-2026-01-25" - ], - "human-sdr-team": [ - "proactive-appointment-scheduling-2026-01-25", - "proactive-appointment-scheduling-2026-01-27" - ], - "follow-up-boss": [ - "proactive-lead-intake-&-qualification-2026-01-25", - "proactive-lead-intake-&-qualification-2026-01-27" - ], - "zillow": [ - "proactive-lead-intake-&-qualification-2026-01-25", - "proactive-lead-intake-&-qualification-2026-01-27" - ], - "realtor.com": [ - "proactive-lead-intake-&-qualification-2026-01-25", - "proactive-lead-intake-&-qualification-2026-01-27" - ], - "google-voice": [ - "proactive-lead-intake-&-qualification-2026-01-25", - "proactive-lead-intake-&-qualification-2026-01-27" - ], - "patient-onboarding-system": [ - "proactive-healthcare-process-automation-2026-01-25", - "proactive-healthcare-process-automation-2026-01-27" - ], - "doctor-approved-faq-system": [ - "proactive-healthcare-process-automation-2026-01-25", - "proactive-healthcare-process-automation-2026-01-27" - ], - "banking-platform": [ - "proactive-customer-support-2026-01-25", - "proactive-customer-support-2026-01-27" - ], - "customer-support-system": [ - "proactive-customer-support-2026-01-25", - "proactive-customer-support-2026-01-27" - ], - "sms-system": [ - "proactive-customer-support-2026-01-25", - "proactive-customer-support-2026-01-27" - ], - "email-system": [ - "proactive-after-hours-coverage-2026-01-25" - ], - "telephony-system": [ - "proactive-after-hours-coverage-2026-01-25", - "proactive-lead-intake-&-qualification-2026-01-25", - "proactive-after-hours-coverage-2026-01-27", - "proactive-lead-intake-&-qualification-2026-01-27" - ], - "carrier-management-platform": [ - "proactive-after-hours-coverage-2026-01-25", - "proactive-after-hours-coverage-2026-01-27" - ], - "exited-market": [ - "proactive-lead-intake-&-qualification-2026-01-25", - "proactive-lead-intake-&-qualification-2026-01-27" - ], - "greenhouse": [ - "proactive-customer-support-2026-01-27" - ], - "lever": [ - "proactive-customer-support-2026-01-27" - ], - "workday": [ - "proactive-customer-support-2026-01-27" - ], - "servicetitan": [ - "proactive-appointment-scheduling-2026-01-27" - ], - "applied-epic": [ - "proactive-lead-intake-&-qualification-2026-01-28" - ], - "docusign": [ - "proactive-lead-intake-&-qualification-2026-01-28" - ], - "clio": [ - "proactive-lead-intake-&-qualification-2026-01-28" - ], - "lawpay": [ - "proactive-lead-intake-&-qualification-2026-01-28" - ], - "shopify": [ - "proactive-customer-support-2026-01-28" - ], - "gorgias": [ - "proactive-customer-support-2026-01-28" - ], - "shipstation": [ - "proactive-customer-support-2026-01-28" - ], - "klaviyo": [ - "proactive-customer-support-2026-01-28" - ] - }, - "stats": { - "total_reports": 69, - "integrations_covered": 270, - "average_confidence": 0.85 - } -} \ No newline at end of file diff --git a/technical-research/linkedin-lead-gen-forms.json b/technical-research/linkedin-lead-gen-forms.json deleted file mode 100644 index 42b52f0..0000000 --- a/technical-research/linkedin-lead-gen-forms.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "LinkedIn Lead Gen Forms", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T03:35:59.565Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "LinkedIn Lead Gen Forms", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.linkedIn", - "auth_type": "OAuth2", - "auth_complexity": "intermediate", - "auth_notes": "Requires a LinkedIn Developer App with the 'Marketing Developer Platform' product enabled. Users must have 'Lead Gen Programmatic Access' and 'r_ads_leadgen_automation' scopes.", - "api_quality": "excellent", - "api_documentation_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/ads-lead-gen/forms/lead-gen-forms", - "rate_limits": "100,000 requests per day for the standard Marketing Developer Platform tier; specific Lead Gen API endpoints have separate burst limits.", - "complexity_score": 5, - "complexity_tier": "intermediate", - "estimated_hours": 6, - "webhook_support": true, - "gotchas": [ - "Lead data is only retrievable for 90 days; after this period, the API will return a 404 or empty response.", - "The 'Lead Gen Programmatic Access' permission is not granted by default and requires a manual application/approval process within the LinkedIn Developer Portal.", - "The LinkedIn Trigger node in n8n requires a valid SSL certificate and a publicly accessible URL to receive webhook notifications." - ], - "client_must_provide": [ - "LinkedIn Developer App Client ID and Secret", - "LinkedIn Ad Account ID", - "Verified LinkedIn Company Page access", - "Approved 'Marketing Developer Platform' access in the developer portal" - ], - "operations_available": [ - "On Lead Form Submission (Trigger)", - "Get Lead Details", - "List Lead Gen Forms", - "Get Form Analytics", - "Download Lead Report" - ], - "similar_integrations": [ - "Facebook Lead Ads", - "Google Ads Lead Forms", - "Typeform" - ], - "confidence": 0.95, - "research_notes": "While the baseline suggested Typeform as a primary provider, LinkedIn Lead Gen Forms is a native LinkedIn Ad product. n8n supports this via the LinkedIn Trigger and LinkedIn nodes. The complexity is higher than Typeform due to LinkedIn's strict OAuth2 scope requirements and the need for developer app approval.", - "has_native_node": true, - "complexity": { - "score": 5, - "tier": "intermediate", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "intermediate", - "base_hours": 6, - "rationale": "While the baseline suggested Typeform as a primary provider, LinkedIn Lead Gen Forms is a native LinkedIn Ad product. n8n supports this via the LinkedIn Trigger and LinkedIn nodes. The complexity is higher than Typeform due to LinkedIn's strict OAuth2 scope requirements and the need for developer app approval." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with node database" - }, - "_database_match": "typeform", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/linkedin-recruiter.json b/technical-research/linkedin-recruiter.json deleted file mode 100644 index b8e1a36..0000000 --- a/technical-research/linkedin-recruiter.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "LinkedIn Recruiter", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T03:07:04.845Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "LinkedIn Recruiter", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth 2.0 (Authorization Code Flow)", - "auth_complexity": "complex", - "auth_notes": "Requires a LinkedIn Developer account with approved access to the Talent Solutions API. Access is gated and typically requires a partnership agreement or specific enterprise seat. Scopes like 'r_ads_reporting' or 'r_compliance' are common, but Recruiter System Connect (RSC) requires specific provisioning.", - "api_quality": "good", - "api_documentation_url": "https://learn.microsoft.com/en-us/linkedin/talent/", - "rate_limits": "Varies by application tier; generally 100,000 calls per day for standard applications, but specific Talent APIs have lower per-minute throttles.", - "complexity_score": 8, - "complexity_tier": "complex", - "estimated_hours": 24, - "webhook_support": true, - "gotchas": [ - "API access is not self-service; you must be an approved LinkedIn Talent Partner or have an enterprise-level Recruiter contract.", - "The Recruiter System Connect (RSC) API has strict data synchronization and deletion requirements (GDPR compliance).", - "LinkedIn's OAuth tokens for Talent APIs often have shorter lifespans or specific refresh requirements compared to standard social APIs." - ], - "client_must_provide": [ - "LinkedIn Developer App Client ID", - "LinkedIn Developer App Client Secret", - "Authorized LinkedIn Recruiter Seat/Admin access", - "Approved Talent Solutions API permissions" - ], - "operations_available": [ - "Retrieve Candidate Profiles", - "Push Candidates to ATS (Recruiter System Connect)", - "Retrieve Job Postings", - "Sync InMail History", - "Manage Candidate Notes" - ], - "similar_integrations": [ - "Greenhouse", - "Lever", - "Ashby" - ], - "confidence": 0.9, - "research_notes": "Implementation requires using the n8n HTTP Request node with 'Generic OAuth2 API' credentials. The developer must manually configure the Authorization URL, Access Token URL, and Scopes. Because LinkedIn Recruiter APIs are heavily gated, the primary hurdle is administrative approval rather than technical syntax.", - "has_native_node": false, - "complexity": { - "score": 8, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "Implementation requires using the n8n HTTP Request node with 'Generic OAuth2 API' credentials. The developer must manually configure the Authorization URL, Access Token URL, and Scopes. Because LinkedIn Recruiter APIs are heavily gated, the primary hurdle is administrative approval rather than technical syntax." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/listings.json b/technical-research/listings.json deleted file mode 100644 index 68aa46c..0000000 --- a/technical-research/listings.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "integration": "Listings", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-13T02:20:13.682Z", - "model_used": "gemini-3-flash-preview", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/load-planning.json b/technical-research/load-planning.json deleted file mode 100644 index 8ea93bd..0000000 --- a/technical-research/load-planning.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Load planning", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:19:31.424Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Load planning", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication typically requires an API Key or Token generated within the developer/integration settings of the specific load planning software (e.g., EasyCargo, Cargo-Planner, or CubeMaster). For Cargo-Planner, the token is passed as 'Authorization: Token '.", - "api_quality": "good", - "api_documentation_url": "https://cargo-planner.com/api/docs/", - "rate_limits": "60 requests per hour (EasyCargo); Enterprise-specific/SLA-based for Cargo-Planner.", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 16, - "webhook_support": false, - "gotchas": [ - "EasyCargo's API primarily supports data import/sync; the actual 3D calculation may require a manual trigger or specific 'calculate' endpoint calls depending on the version.", - "Cargo-Planner requires an Enterprise-tier subscription to access the RESTful API for system integration.", - "Input data must strictly adhere to SI units (Meters and Kilograms) in most APIs, requiring pre-processing in n8n if source data is in Imperial units.", - "The JSON payload for 'items' is highly nested, requiring complex mapping of dimensions, weights, and stacking constraints (e.g., 'not_rotatable', 'max_layers')." - ], - "client_must_provide": [ - "API Key / Token", - "Item Dimensions (Length, Width, Height, Weight)", - "Container or Vehicle Specifications", - "Loading Constraints (Stacking, Tilting, Priority Groups)" - ], - "operations_available": [ - "Create Load Plan", - "Add Cargo Items", - "Calculate Optimization", - "Retrieve 3D Visualization URL", - "Export Load Plan (PDF/Excel)" - ], - "confidence": 0.9, - "research_notes": "Load planning is a specialized logistics function with no native n8n node. Integration is achieved via the HTTP Request node. The most prominent API-first tools are Cargo-Planner (cargo-planner.com) and EasyCargo (easycargo3d.com). Cargo-Planner provides a robust Redocly-based documentation for its 'postcreate_and_calculate' endpoint. EasyCargo is frequently used for syncing data from ERPs like SAP. Other alternatives include SeaRates Load Calculator and CubeMaster, both of which offer REST APIs for 3D bin packing optimization.", - "sources_consulted": [ - "Official API Documentation (Cargo-Planner, EasyCargo, CubeMaster)", - "n8n Community Forum", - "YouTube (Supply Science - AI Agents for Transportation Planning)", - "GitHub (panjajdak/cargo-planner)", - "Logistics Developer Portals (Loadsmart, SeaRates)" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 16, - "rationale": "Load planning is a specialized logistics function with no native n8n node. Integration is achieved via the HTTP Request node. The most prominent API-first tools are Cargo-Planner (cargo-planner.com) and EasyCargo (easycargo3d.com). Cargo-Planner provides a robust Redocly-based documentation for its 'postcreate_and_calculate' endpoint. EasyCargo is frequently used for syncing data from ERPs like SAP. Other alternatives include SeaRates Load Calculator and CubeMaster, both of which offer REST APIs for 3D bin packing optimization." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/los.json b/technical-research/los.json deleted file mode 100644 index 459e35c..0000000 --- a/technical-research/los.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "LOS", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:55:33.928Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "LOS (Loan Origination System)", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "complex", - "auth_notes": "Requires creating an application in the Encompass Developer Connect portal to obtain a Client ID and Client Secret. Additionally, a dedicated 'API User' must be created within the Encompass instance and assigned specific 'Personas' to grant data access.", - "api_quality": "excellent", - "api_documentation_url": "https://developer.icemortgagetechnology.com/", - "rate_limits": "3,600 requests per hour (default for registered applications); concurrency is typically limited to 10-20 simultaneous requests.", - "complexity_score": 8, - "complexity_tier": "enterprise", - "estimated_hours": 24, - "webhook_support": true, - "gotchas": [ - "Access tokens have a short lifespan (typically 15-30 minutes) and require a specific refresh logic to maintain a 24-hour session.", - "The 'API User' required for integration often counts against the organization's user license seat limit.", - "Loan data objects are highly nested (thousands of potential fields), making JSON mapping in n8n labor-intensive.", - "Certain legacy operations still require the Encompass SDK, though most are now migrated to the Developer Connect REST API." - ], - "client_must_provide": [ - "Encompass Client ID", - "Client Secret", - "Encompass Instance ID", - "API User Credentials (Username/Password)" - ], - "operations_available": [ - "Create Loan", - "Update Loan Fields", - "Get Loan Details", - "List Pipeline", - "Upload Documents to eFolder", - "Retrieve Borrower Contacts", - "Manage Milestones" - ], - "confidence": 0.95, - "research_notes": "LOS (Loan Origination System) is a category of mortgage software. The analysis focuses on Encompass (by ICE Mortgage Technology), the industry standard, and LendingPad, a popular cloud-native alternative. No native n8n node exists for either, requiring the use of the HTTP Request node. Encompass is the more technically mature integration with a robust Developer Connect portal, while LendingPad is favored by smaller brokers for its bi-directional API and easier webhook setup. Both systems are 'gated' behind enterprise pricing tiers and require administrative setup to enable API access.", - "sources_consulted": [ - "Official API Documentation (ICE Mortgage Technology)", - "n8n Community Forum", - "YouTube (Integration Walkthroughs)", - "Developer Blogs (Mortgage Workspace, Awesome Tech Inc)", - "GitHub (Rate limit middleware and SDK migration guides)" - ], - "has_native_node": false, - "complexity": { - "score": 8, - "tier": "enterprise", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "enterprise", - "base_hours": 24, - "rationale": "LOS (Loan Origination System) is a category of mortgage software. The analysis focuses on Encompass (by ICE Mortgage Technology), the industry standard, and LendingPad, a popular cloud-native alternative. No native n8n node exists for either, requiring the use of the HTTP Request node. Encompass is the more technically mature integration with a robust Developer Connect portal, while LendingPad is favored by smaller brokers for its bi-directional API and easier webhook setup. Both systems are 'gated' behind enterprise pricing tiers and require administrative setup to enable API access." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/lusha.json b/technical-research/lusha.json deleted file mode 100644 index ac34244..0000000 --- a/technical-research/lusha.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "integration": "Lusha", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T03:06:45.614Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Lusha", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication is handled by passing an 'api_key' header in the HTTP Request node.", - "api_quality": "good", - "api_documentation_url": "https://www.lusha.com/docs/", - "rate_limits": "Rate limits depend on the subscription tier, typically around 10 requests per second. Credit-based limits also apply per account.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 6, - "webhook_support": false, - "gotchas": [ - "Credits are deducted for every successful data retrieval, which can lead to unexpected costs if loops are not managed.", - "The API returns a 404 or empty response if no data is found, requiring robust error handling in n8n.", - "Strict rate limiting on lower-tier plans can cause workflow timeouts." - ], - "client_must_provide": [ - "Lusha API Key", - "Active subscription with available credits" - ], - "operations_available": [ - "Person Search (Contact Enrichment)", - "Company Search", - "Prospecting API", - "Email/Phone Number Lookup" - ], - "similar_integrations": [ - "Apollo.io", - "Hunter.io", - "Clearbit" - ], - "confidence": 0.95, - "research_notes": "Since there is no native node, the HTTP Request node must be used. Developers should configure the node to use the 'Header' authentication method with the key 'api_key'. Most endpoints use GET requests with query parameters for searching (e.g., firstName, lastName, company). Results are returned as JSON, which can be easily parsed by subsequent n8n nodes.", - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 6, - "rationale": "Since there is no native node, the HTTP Request node must be used. Developers should configure the node to use the 'Header' authentication method with the key 'api_key'. Most endpoints use GET requests with query parameters for searching (e.g., firstName, lastName, company). Results are returned as JSON, which can be easily parsed by subsequent n8n nodes." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/manual-entry.json b/technical-research/manual-entry.json deleted file mode 100644 index b6966b3..0000000 --- a/technical-research/manual-entry.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "integration": "Manual Entry", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-21T00:44:25.144Z", - "model_used": "gemini-3-flash-preview", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/manual-spreadsheets.json b/technical-research/manual-spreadsheets.json deleted file mode 100644 index 007f997..0000000 --- a/technical-research/manual-spreadsheets.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Manual Spreadsheets", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T01:00:12.347Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Manual Spreadsheets", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.googleSheets", - "auth_type": "oauth2", - "auth_complexity": "moderate", - "auth_notes": "Requires a Google Cloud Console project with the Google Sheets and Google Drive APIs enabled. Users must configure an OAuth consent screen and create credentials to obtain a Client ID and Client Secret.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.google.com/sheets/api/reference/rest", - "rate_limits": "300 requests per minute per project; 60 requests per minute per user per project. Limits are shared across all spreadsheets accessed by the same credentials.", - "complexity_score": 2, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": false, - "gotchas": [ - "Rate limits are frequently hit when using the 'Split Out' node to process hundreds of rows individually; use batch operations where possible.", - "The 'Google Sheets Trigger' node is polling-based (default 1 minute), not a real-time webhook, unless configured with a custom App Script.", - "Data formatting issues often occur with dates and currencies if the column format in the sheet doesn't match the incoming JSON string format." - ], - "client_must_provide": [ - "Google Cloud Project Client ID and Client Secret", - "Spreadsheet ID (found in the URL)", - "Specific Sheet Name (tab name)", - "Edit access to the spreadsheet for the authenticated user or Service Account" - ], - "operations_available": [ - "Append row(s) to a sheet", - "Update existing row(s) using a lookup column", - "Read rows (Get Many)", - "Delete specific rows", - "Clear a range of cells" - ], - "similar_integrations": [ - "Airtable", - "Microsoft Excel", - "Smartsheet" - ], - "confidence": 0.95, - "research_notes": "While the category is 'Manual Spreadsheets', the n8n implementation defaults to Google Sheets. For Excel or Airtable, different nodes must be used. OAuth2 is the preferred auth method for n8n, though Service Accounts are supported for server-to-server interactions.", - "has_native_node": true, - "complexity": { - "score": 2, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "While the category is 'Manual Spreadsheets', the n8n implementation defaults to Google Sheets. For Excel or Airtable, different nodes must be used. OAuth2 is the preferred auth method for n8n, though Service Accounts are supported for server-to-server interactions." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with node database" - }, - "_database_match": "google sheets", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/marketing.json b/technical-research/marketing.json deleted file mode 100644 index 65292dc..0000000 --- a/technical-research/marketing.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "integration": "Marketing", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:10:55.235Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Marketing (Salesforce Marketing Cloud)", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2 (Client Credentials)", - "auth_complexity": "moderate", - "auth_notes": "Requires creating an 'Installed Package' within the Salesforce Marketing Cloud (SFMC) Setup. You must enable specific 'Scopes' (e.g., Email Read/Write, Data Extension Read/Write) and obtain a Client ID, Client Secret, and subdomain-specific Base URIs (Authentication, REST, and SOAP).", - "api_quality": "good", - "api_documentation_url": "https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/index.html", - "rate_limits": "2,500 requests per minute (REST synchronous API soft limit); 2,000 requests per minute (SOAP API soft limit); 4,000 requests per minute (Auth API).", - "complexity_score": 8, - "complexity_tier": "enterprise", - "estimated_hours": 20, - "webhook_support": true, - "gotchas": [ - "API Parity: Not all features are available in REST; many legacy functions (like complex Data Extension queries) still require the SOAP API.", - "Subdomain-Specific Endpoints: Every tenant has a unique 'TSE' (Tenant Specific Endpoint) that must be used in the base URL (e.g., mck-s1.rest.marketingcloudapis.com).", - "Token Caching: The Auth API is heavily rate-limited; you must cache the access token and only request a new one when it expires (indicated by the 'expires_in' field).", - "Data Extension Complexity: Writing to Data Extensions often requires specific primary keys and strict data typing." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "Authentication Base URI", - "REST Base URI", - "SOAP Base URI" - ], - "operations_available": [ - "Upsert Contact", - "Trigger Transactional Email", - "Insert/Update Data Extension Rows", - "Fire Journey Builder Event", - "Retrieve Campaign Analytics", - "Manage Subscriber Lists" - ], - "confidence": 0.9, - "research_notes": "While 'Marketing' is a generic term, in the context of n8n technical requests for missing native nodes, it almost exclusively refers to Salesforce Marketing Cloud (SFMC). n8n has a native node for Salesforce CRM (Sales Cloud), but SFMC is a separate platform with a distinct OAuth2 flow and a split REST/SOAP API architecture. Community nodes like 'n8n-nodes-sfmc' exist but are often unverified, requiring users to rely on the HTTP Request node for enterprise-grade stability.", - "sources_consulted": [ - "Official Salesforce Developer Documentation", - "n8n Community Forum", - "n8n Template Library", - "NPM Registry", - "Salesforce Stack Exchange", - "IBM API Connect Documentation" - ], - "has_native_node": false, - "complexity": { - "score": 8, - "tier": "enterprise", - "estimated_hours": 20 - }, - "effort_recommendation": { - "tier": "enterprise", - "base_hours": 20, - "rationale": "While 'Marketing' is a generic term, in the context of n8n technical requests for missing native nodes, it almost exclusively refers to Salesforce Marketing Cloud (SFMC). n8n has a native node for Salesforce CRM (Sales Cloud), but SFMC is a separate platform with a distinct OAuth2 flow and a split REST/SOAP API architecture. Community nodes like 'n8n-nodes-sfmc' exist but are often unverified, requiring users to rely on the HTTP Request node for enterprise-grade stability." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/marketplace.json b/technical-research/marketplace.json deleted file mode 100644 index 6181847..0000000 --- a/technical-research/marketplace.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Marketplace", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:14:32.961Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Marketplace", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "Requires generating an API Key (Bearer Token) within the Marketplacer Seller Portal. If the marketplace site is behind Basic Auth, a specific 'MARKETPLACER-API-KEY' header must be used alongside standard credentials.", - "api_quality": "good", - "api_documentation_url": "https://developer.marketplacer.com/", - "rate_limits": "20 requests per second (typical initial limit); enforced via 429 'Too Many Requests' with a 'Retry-After' header (default 60s).", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "No native n8n node exists; all integrations must be built using the HTTP Request node.", - "The API is GraphQL-based, which requires manual construction of queries and mutations in n8n.", - "Maximum GraphQL query depth is limited to 30 levels to prevent performance degradation.", - "If using the legacy REST API, pagination and filtering patterns differ significantly from the modern GraphQL Seller API." - ], - "client_must_provide": [ - "Marketplacer API Key", - "Marketplace Site URL (e.g., https://your-brand.marketplacer.com)" - ], - "operations_available": [ - "Get Adverts (Products)", - "Upsert Adverts", - "Retrieve Orders", - "Create Shipments", - "Process Refunds", - "Manage Invoices", - "Query Brands and Taxons" - ], - "confidence": 0.95, - "research_notes": "Analysis identifies 'Marketplace' in the n8n context primarily as 'Marketplacer' (marketplacer.com), a leading Marketplace-as-a-Service platform. n8n maintains dedicated landing pages for Marketplacer but explicitly directs users to the HTTP Request node. The API has transitioned from REST to GraphQL, increasing integration complexity but offering more granular data control. Community sentiment on forums highlights the lack of a native node as a minor hurdle, often solved by sharing JSON snippets for common GraphQL queries.", - "sources_consulted": [ - "Official Marketplacer Developer Portal", - "n8n.io Integration Pages", - "n8n Community Forum", - "YouTube Technical Walkthroughs", - "GitHub (skriptfabrik/n8n-nodes-kaufland-marketplace)", - "Atlassian Marketplace Developer Docs" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Analysis identifies 'Marketplace' in the n8n context primarily as 'Marketplacer' (marketplacer.com), a leading Marketplace-as-a-Service platform. n8n maintains dedicated landing pages for Marketplacer but explicitly directs users to the HTTP Request node. The API has transitioned from REST to GraphQL, increasing integration complexity but offering more granular data control. Community sentiment on forums highlights the lack of a native node as a minor hurdle, often solved by sharing JSON snippets for common GraphQL queries." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/membership-management.json b/technical-research/membership-management.json deleted file mode 100644 index 40a198f..0000000 --- a/technical-research/membership-management.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "integration": "Membership Management", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:27:19.665Z", - "model_used": "gemini-3-flash-preview", - "membership_management_research": [ - { - "platform_name": "Memberstack", - "api_documentation_url": "https://docs.memberstack.com/", - "rate_limits": "25 requests per second", - "auth_notes": "Uses secret keys passed in the 'X-API-KEY' header. Keys are environment-specific: test keys begin with 'sk_sb_' and live production keys begin with 'sk_live_'. Requests must be made from secure server-side environments." - }, - { - "platform_name": "WildApricot", - "api_documentation_url": "https://help.wildapricot.com/display/DOC/WildApricot+APIs", - "rate_limits": "40 requests per minute for contact lists; 120 requests per minute for contact by identifier; 400 requests per minute for other types", - "auth_notes": "Implements OAuth 2.0. Authentication tokens are obtained from 'https://oauth.wildapricot.org'. Supports multiple flows including API Key for server-to-server integrations and User Login/Password for mobile applications." - }, - { - "platform_name": "Neon CRM", - "api_documentation_url": "https://developer.neoncrm.com/", - "rate_limits": "700 requests per minute (approx. 11 per second) with bursts up to 40 requests per second per route", - "auth_notes": "Requires an API key included in the 'Authorization' header using the Bearer scheme (e.g., 'Authorization: Bearer $NEON_API_KEY'). Every organization instance and endpoint has independent rate limits." - }, - { - "platform_name": "Memberful", - "api_documentation_url": "https://memberful.com/help/custom-development/api/", - "rate_limits": "100 requests per minute", - "auth_notes": "Utilizes a GraphQL API. Authentication is handled via Bearer tokens generated in the 'Custom Applications' section of the Memberful dashboard. Requests are sent as POST to 'https://[YOUR_SITE].memberful.com/api/graphql'." - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/notes.json b/technical-research/notes.json deleted file mode 100644 index 6966eb1..0000000 --- a/technical-research/notes.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "integration": "Notes", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:11:48.886Z", - "model_used": "gemini-3-flash-preview", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/offer-letters.json b/technical-research/offer-letters.json deleted file mode 100644 index ef8708b..0000000 --- a/technical-research/offer-letters.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Offer letters", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:13:16.776Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Offer letters", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication is typically handled via a Personal API Token (Bearer Token) or Basic Auth, depending on the underlying ATS (e.g., Recruitee, Greenhouse). For Recruitee, tokens are generated under Settings > API > Personal tokens.", - "api_quality": "good", - "api_documentation_url": "https://docs.recruitee.com/reference/offerletter-web-offerletter", - "rate_limits": "100 requests per minute", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "Offer letters are not a standalone service but an entity within Applicant Tracking Systems (ATS) like Recruitee, Greenhouse, or Workable.", - "API tokens must have specific 'Manage offer letters' permissions enabled in the ATS admin panel.", - "Generating the actual PDF file is often a separate API call from creating the offer letter record.", - "Offer letter links generated via API are often temporary and may expire if not sent immediately." - ], - "client_must_provide": [ - "API Key / Personal Token", - "Company ID or Subdomain", - "Offer Template ID" - ], - "operations_available": [ - "Create offer letter from template", - "Send offer letter to candidate", - "Show candidate's offer letters", - "Update offer letter details", - "Delete offer letter", - "Deactivate/Reactivate offer letter link" - ], - "confidence": 0.9, - "research_notes": "Research confirms 'Offer letters' is a core functional entity in HR/ATS platforms rather than a standalone SaaS product. The most technically documented 'OfferLetter' API is provided by Recruitee, which is a common integration target for n8n users. n8n users typically implement this using the 'HTTP Request' node. There is also a highly popular n8n community template that automates the entire lifecycle using OpenAI for content generation and PDF generation tools like CraftMyPDF or PDF4me.", - "sources_consulted": [ - "Official API Documentation (Recruitee, Greenhouse, SAP SuccessFactors)", - "n8n Templates Library", - "n8n Community Forum", - "GitHub Repositories", - "Developer Blogs (4Spot Consulting, Osher Digital)" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "Research confirms 'Offer letters' is a core functional entity in HR/ATS platforms rather than a standalone SaaS product. The most technically documented 'OfferLetter' API is provided by Recruitee, which is a common integration target for n8n users. n8n users typically implement this using the 'HTTP Request' node. There is also a highly popular n8n community template that automates the entire lifecycle using OpenAI for content generation and PDF generation tools like CraftMyPDF or PDF4me." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/office-365-or-google.json b/technical-research/office-365-or-google.json deleted file mode 100644 index 8fc002e..0000000 --- a/technical-research/office-365-or-google.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "integration": "Office 365 or Google", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:34:41.214Z", - "model_used": "gemini-3-flash-preview", - "service": "Microsoft Graph (Office 365)", - "api_documentation_url": "https://learn.microsoft.com/en-us/graph/api/overview?view=graph-rest-1.0", - "rate_limits": { - "global_limit": "130,000 requests per 10 seconds per application across all tenants", - "service_specific_limits": { - "outlook_mail_and_calendar": "10,000 requests per 10-minute window per app ID and mailbox combination (approx. 16.7 RPS)", - "teams_meeting_apis": "4 requests per second (RPS) per app per tenant", - "identity_and_access_management": "70,000 requests per 5 minutes for multi-tenant apps; 60 requests per minute for personal accounts", - "subscriptions_webhooks": "500 requests per 20 seconds per app per tenant for management operations (POST/PUT/PATCH/DELETE)", - "intune_reporting": "100 requests per tenant per minute", - "viva_engage": "10 requests per user per app within a 30-second period" - }, - "throttling_behavior": "Returns HTTP 429 (Too Many Requests) with a 'Retry-After' header indicating the wait time in seconds." - }, - "auth_notes": { - "protocol": "OAuth 2.0 / OpenID Connect", - "flows": [ - "Client Credentials Flow: Used for server-to-server/daemon applications without user interaction (requires Application Permissions).", - "Authorization Code Flow: Used for interactive applications where a user signs in (requires Delegated Permissions)." - ], - "configuration_requirements": [ - "Application must be registered in the Microsoft Entra ID (formerly Azure AD) portal.", - "Requires a Client ID (Application ID), Tenant ID, and either a Client Secret or Certificate.", - "Permissions (scopes) follow the pattern 'Resource.Operation.Constraint' (e.g., 'User.Read.All', 'Mail.Send').", - "Admin consent is mandatory for all 'Application' permissions and high-privilege 'Delegated' permissions." - ] - }, - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/operations.json b/technical-research/operations.json deleted file mode 100644 index f4792b6..0000000 --- a/technical-research/operations.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Operations", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:56:16.980Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Operations (Operations1)", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires creating a technical API user within the Operations1 platform to generate a Bearer Token. This token must be passed in the 'Authorization' header as 'Bearer '.", - "api_quality": "excellent", - "api_documentation_url": "https://api.operations1.app/", - "rate_limits": "100 requests per minute", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "The 'Accept-Version' header is mandatory (e.g., 'Accept-Version: 2024-05-20'). Using 'latest' is not recommended for production as it can lead to breaking changes.", - "The API is multi-tenant; every request URL must include the 'tenantId' (which is the subdomain of your instance, e.g., 'company' for 'company.operations1.app').", - "Pagination is handled via 'pageSize' and 'pageIndex' rather than traditional offset/limit." - ], - "client_must_provide": [ - "API Bearer Token", - "Tenant ID (Subdomain)", - "Target API Version (YYYY-MM-DD)" - ], - "operations_available": [ - "List/Create/Update Users", - "List/Create/Update Orders", - "List/Get Documents", - "Download Reports (PDF, XLSX, CSV)", - "Manage Groups and Roles", - "Manage Qualifications", - "Trigger Order Connectors" - ], - "confidence": 0.95, - "research_notes": "Operations1 (formerly cioplenu) is a prominent 'Connected Worker' platform for industrial manufacturing. While n8n lacks a native node, the platform provides a high-quality REST API and Webhook system. Integration via the n8n HTTP Request node is straightforward due to the comprehensive Swagger-based documentation and standard Bearer authentication. The platform is highly focused on industrial use cases like maintenance, quality control, and assembly instructions.", - "sources_consulted": [ - "Official Operations1 Developer Portal", - "Operations1 API Reference", - "n8n Community Forum", - "GitHub (Community Node Search)", - "SourceForge Comparison Data" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 10, - "rationale": "Operations1 (formerly cioplenu) is a prominent 'Connected Worker' platform for industrial manufacturing. While n8n lacks a native node, the platform provides a high-quality REST API and Webhook system. Integration via the n8n HTTP Request node is straightforward due to the comprehensive Swagger-based documentation and standard Bearer authentication. The platform is highly focused on industrial use cases like maintenance, quality control, and assembly instructions." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/ota.json b/technical-research/ota.json deleted file mode 100644 index 55f398b..0000000 --- a/technical-research/ota.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "integration": "OTA", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:26:36.264Z", - "model_used": "gemini-3-flash-preview", - "ota_research": { - "api_name": "Amadeus for Developers (OTA-Compliant)", - "api_documentation_url": "https://developers.amadeus.com/self-service/apis-docs", - "rate_limits": { - "test_environment": "10 transactions per second (TPS) per user", - "production_environment": "40 transactions per second (TPS) per user", - "ai_and_partner_apis": "20 transactions per second (TPS) per user", - "burst_limit": "No more than 1 request every 100ms (standard) or 50ms (AI/Partner APIs)" - }, - "auth_notes": "The API uses the OAuth 2.0 Client Credentials flow. To authenticate, developers must register on the portal to obtain a 'client_id' and 'client_secret'. These credentials are sent via a POST request to the token endpoint (https://test.api.amadeus.com/v1/security/oauth2/token for Test or https://api.amadeus.com/v1/security/oauth2/token for Production) with 'grant_type=client_credentials'. The server returns an access token which must be included in the 'Authorization' header as 'Bearer ' for all subsequent API requests. Tokens typically expire after 30 minutes.", - "compliance_details": "Amadeus APIs are built on OpenTravel Alliance (OTA) standards, specifically utilizing OTA-compliant XML and JSON schemas for flight, hotel, and car rental data exchange." - }, - "alternative_ota": { - "api_name": "Booking.com Connectivity API", - "api_documentation_url": "https://connectivity.booking.com/", - "rate_limits": { - "standard_limit": "10,000 requests per minute across all endpoints", - "note": "Booking.com reserves the right to impose stricter limits on specific accounts or endpoints based on traffic patterns." - }, - "auth_notes": "Authentication is handled via 'Machine Account' credentials (username and password) provided during the partner onboarding process. These credentials must be included in the HTTP Basic Authentication header or within the specific XML/SOAP body elements (e.g., ) depending on the endpoint version." - }, - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/parts.json b/technical-research/parts.json deleted file mode 100644 index 527963e..0000000 --- a/technical-research/parts.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Parts", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:31:32.694Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "PartsTech", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key + Username", - "auth_complexity": "simple", - "auth_notes": "Requires an API Key and Username, which are accessible via the user's PartsTech account profile under the 'Developer' or 'Integrations' section.", - "api_quality": "good", - "api_documentation_url": "https://developer.partstech.com/", - "rate_limits": "Not publicly specified; typically follows industry standards for B2B procurement APIs (approx. 60-100 req/min). Contact PartsTech support for high-volume production limits.", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": false, - "gotchas": [ - "Requires a valid PartsTech account and pre-configured supplier relationships before the API can return pricing or availability.", - "Supplier availability and wholesale pricing are real-time and may expire or change between the search and order operations.", - "The Tires API is often a separate paid add-on to the standard parts search account." - ], - "client_must_provide": [ - "PartsTech API Key", - "PartsTech Username", - "Configured Supplier List" - ], - "operations_available": [ - "Search Parts (by VIN, Plate, or Keyword)", - "Get Part Availability (Live Inventory)", - "Place Order", - "Get Order Status", - "Search Tires", - "Get Supplier Information" - ], - "confidence": 0.9, - "research_notes": "PartsTech (often referred to simply as 'Parts' in automotive software contexts) is the primary API for real-time parts lookup and ordering in the repair industry. While no native n8n node exists, it is frequently integrated using the HTTP Request node for custom Shop Management System (SMS) workflows. Research confirms it uses a straightforward API Key/Username auth pattern and provides a dedicated developer portal.", - "sources_consulted": [ - "Official PartsTech Developer Portal", - "n8n Community Forum", - "Tekmetric Release Notes", - "Shopmonkey Integration Guides", - "Freelancer.com Technical Project Requirements", - "G2 Software Reviews" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "PartsTech (often referred to simply as 'Parts' in automotive software contexts) is the primary API for real-time parts lookup and ordering in the repair industry. While no native n8n node exists, it is frequently integrated using the HTTP Request node for custom Shop Management System (SMS) workflows. Research confirms it uses a straightforward API Key/Username auth pattern and provides a dedicated developer portal." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/patient-onboarding-system.json b/technical-research/patient-onboarding-system.json deleted file mode 100644 index 584be48..0000000 --- a/technical-research/patient-onboarding-system.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "integration": "Patient onboarding system", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:23:05.849Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Patient onboarding system", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key (Bearer Token)", - "auth_complexity": "moderate", - "auth_notes": "Requires registration in the developer portal (e.g., NexHealth Developer Portal) to obtain a Bearer Token. Requests must also include a 'subdomain' parameter to scope the request to a specific medical practice.", - "api_quality": "excellent", - "api_documentation_url": "https://developer.nexhealth.com/", - "rate_limits": "100 requests per second (default); up to 20,000 requests per 10 seconds for enterprise partners.", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 20, - "webhook_support": true, - "gotchas": [ - "HIPAA Compliance: Users must ensure a Business Associate Agreement (BAA) is signed before processing PHI via n8n.", - "EHR Parity: Write-back capabilities (e.g., syncing forms back to the patient chart) vary significantly depending on the underlying EHR (Epic, Cerner, Dentrix, etc.).", - "Subdomain Scoping: Every API call requires a specific practice subdomain, making multi-tenant workflows more complex to manage." - ], - "client_must_provide": [ - "API Bearer Token", - "Practice Subdomain", - "Location ID", - "Signed BAA (for HIPAA compliance)" - ], - "operations_available": [ - "Create Patient", - "Search Patients (Fuzzy matching)", - "Get Provider Availabilities", - "Book Appointment (Real-time write-back)", - "Submit Intake Forms", - "Fetch Clinical Notes", - "Webhook: Patient Created", - "Webhook: Form Completed" - ], - "confidence": 0.95, - "research_notes": "Research indicates 'Patient onboarding system' is primarily a workflow category often implemented via the NexHealth Synchronizer API or similar middleware (e.g., Luma Health, Dock Health). While no single 'Patient onboarding system' node exists, n8n users frequently build these systems using the HTTP Request node to connect EHRs with form builders like Jotform or Typeform. A popular community template 'Patient Intake Template' exists in the AI Automation Society (Skool) which uses n8n to automate data extraction from intake forms into clinical systems.", - "sources_consulted": [ - "NexHealth Official API Documentation", - "n8n Community Forum", - "GitHub (NexHealth Postman Collections)", - "Reddit (r/n8n healthcare automation threads)", - "YouTube (NexHealth Synchronizer API Tutorials)", - "Keragon Healthcare Automation Guides" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 20 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 20, - "rationale": "Research indicates 'Patient onboarding system' is primarily a workflow category often implemented via the NexHealth Synchronizer API or similar middleware (e.g., Luma Health, Dock Health). While no single 'Patient onboarding system' node exists, n8n users frequently build these systems using the HTTP Request node to connect EHRs with form builders like Jotform or Typeform. A popular community template 'Patient Intake Template' exists in the AI Automation Society (Skool) which uses n8n to automate data extraction from intake forms into clinical systems." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/payment-processing.json b/technical-research/payment-processing.json deleted file mode 100644 index 600a972..0000000 --- a/technical-research/payment-processing.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Payment Processing", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-01T03:03:30.548Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Payment Processing (Authorize.net)", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Login ID and Transaction Key", - "auth_complexity": "moderate", - "auth_notes": "Authentication is handled by including a 'merchantAuthentication' object (containing 'name' and 'transactionKey') within the JSON body of every POST request, rather than standard Bearer tokens or Basic Auth headers.", - "api_quality": "good", - "api_documentation_url": "https://developer.authorize.net/api/reference/index.html", - "rate_limits": "Typically 5,000 requests per hour, though this can vary based on the merchant service provider and account standing.", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 16, - "webhook_support": true, - "gotchas": [ - "The API requires a specific root-level wrapper for JSON payloads (e.g., 'createTransactionRequest') which varies per endpoint.", - "Webhook signatures use SHA-512 hashing which requires a 'Signature Key' and custom code in a Function node to verify authenticity.", - "The API returns a 200 OK status even for business-logic errors; you must check the 'messages.resultCode' field in the response body." - ], - "client_must_provide": [ - "API Login ID", - "Transaction Key", - "Signature Key", - "Environment (Sandbox vs Production)" - ], - "operations_available": [ - "createTransaction", - "getTransactionDetails", - "createCustomerProfile", - "refundTransaction", - "getSettledBatchList" - ], - "similar_integrations": [ - "Stripe", - "PayPal", - "Razorpay" - ], - "confidence": 0.9, - "research_notes": "Implementation requires the HTTP Request node set to POST for all actions. Since credentials reside in the body, n8n expressions must be used to inject sensitive keys into the JSON payload. A 'Wait' node or 'Webhook' node is necessary for handling asynchronous payment notifications (IPN/Webhooks).", - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 16, - "rationale": "Implementation requires the HTTP Request node set to POST for all actions. Since credentials reside in the body, n8n expressions must be used to inject sensitive keys into the JSON payload. A 'Wait' node or 'Webhook' node is necessary for handling asynchronous payment notifications (IPN/Webhooks)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/payment.json b/technical-research/payment.json deleted file mode 100644 index 01832c4..0000000 --- a/technical-research/payment.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Payment", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:29:56.143Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Payment (Stripe)", - "has_native_n8n_node": true, - "native_node_name": "Stripe", - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires a Secret Key (sk_...) obtained from the Stripe Dashboard under Developers > API keys. n8n also supports a 'Stripe Trigger' node which requires a Webhook Signing Secret.", - "api_quality": "excellent", - "api_documentation_url": "https://stripe.com/docs/api", - "rate_limits": "100 requests per second (Live mode), 25 requests per second (Test mode). Specific endpoints like Search and Files are limited to 20 RPS.", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": true, - "gotchas": [ - "Amounts must be provided in the smallest currency unit (e.g., $10.00 must be entered as 1000 cents).", - "Webhook signature verification is critical for security; users often forget to use the 'Stripe Trigger' node or a Crypto node to verify the 'Stripe-Signature' header.", - "The native node may not support every specialized Stripe feature (e.g., complex Payment Link configurations), requiring the use of the generic HTTP Request node.", - "Rate limits are account-wide; high-concurrency workflows can trigger 429 'Too Many Requests' errors if not throttled." - ], - "client_must_provide": [ - "Stripe Secret Key", - "Webhook Signing Secret (for Trigger nodes)", - "Smallest currency unit values (cents)" - ], - "operations_available": [ - "Create/Update/Get/Delete Customer", - "Create/Get/List Charge", - "Create/List Invoice", - "Get Balance", - "Create Coupon", - "Refund Charge", - "Create Token/Source" - ], - "confidence": 1, - "research_notes": "The 'Payment' integration refers to Stripe, as confirmed by the provided n8n context (n8n-nodes-base.stripe). Stripe is the gold standard for payment APIs. Research across n8n forums and YouTube tutorials confirms that while the native node is powerful, users frequently switch to the HTTP Request node for advanced Payment Link or Product metadata operations. Webhook security is a major discussion point in the community.", - "sources_consulted": [ - "Official Stripe API Documentation", - "n8n Official Node Documentation", - "n8n Community Forum", - "YouTube (Integration Walkthroughs)", - "GitHub (n8n-nodes-base source code)", - "Reddit (Developer Sentiment)" - ], - "has_native_node": true, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "The 'Payment' integration refers to Stripe, as confirmed by the provided n8n context (n8n-nodes-base.stripe). Stripe is the gold standard for payment APIs. Research across n8n forums and YouTube tutorials confirms that while the native node is powerful, users frequently switch to the HTTP Request node for advanced Payment Link or Product metadata operations. Webhook security is a major discussion point in the community." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "stripe", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/payments.json b/technical-research/payments.json deleted file mode 100644 index 94a1733..0000000 --- a/technical-research/payments.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Payments", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T00:16:18.757Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Payments", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.stripe", - "auth_type": "api_key", - "auth_complexity": "simple", - "auth_notes": "Requires a Stripe Secret Key (sk_live... or sk_test...). It is highly recommended to use Restricted Keys with specific resource permissions for better security.", - "api_quality": "excellent", - "api_documentation_url": "https://stripe.com/docs/api", - "rate_limits": "100 read requests per second and 25 write requests per second in live mode; 25 requests per second in test mode.", - "complexity_score": 3, - "complexity_tier": "moderate", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "Stripe handles all amounts in the smallest currency unit (e.g., cents), so $10.00 must be sent as 1000.", - "API versioning is account-wide; upgrading your Stripe API version in the dashboard can occasionally cause breaking changes in older n8n node versions.", - "Webhook events require a 'Webhook Signing Secret' to verify authenticity, which is distinct from the API Secret Key." - ], - "client_must_provide": [ - "Stripe Secret Key", - "Webhook Signing Secret (for triggers)", - "Target Currency (e.g., USD, EUR)", - "Confirmation of provider (Stripe vs PayPal vs Square)" - ], - "operations_available": [ - "Create/Update Customer", - "Create Payment Intent", - "Create Subscription", - "Refund Charge", - "List Invoices" - ], - "similar_integrations": [ - "PayPal", - "Square", - "Paddle" - ], - "confidence": 0.95, - "research_notes": "Stripe is the primary native node for payments in n8n. While PayPal and Square are alternatives, they have separate nodes or require HTTP Request implementations. This analysis focuses on Stripe as the default 'Payments' provider.", - "has_native_node": true, - "complexity": { - "score": 3, - "tier": "moderate", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 8, - "rationale": "Stripe is the primary native node for payments in n8n. While PayPal and Square are alternatives, they have separate nodes or require HTTP Request implementations. This analysis focuses on Stripe as the default 'Payments' provider." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with node database" - }, - "_database_match": "stripe", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/payroll.json b/technical-research/payroll.json deleted file mode 100644 index da57abd..0000000 --- a/technical-research/payroll.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Payroll", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:16:16.463Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Payroll", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating an application in the developer portal (e.g., Gusto Developer Portal) to obtain a Client ID and Client Secret. Uses standard OAuth2 flow with refresh tokens.", - "api_quality": "excellent", - "api_documentation_url": "https://docs.gusto.com/", - "rate_limits": "200 requests per minute", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 20, - "webhook_support": true, - "gotchas": [ - "PII (Personally Identifiable Information) handling requires strict encryption and security compliance in workflows.", - "OAuth access tokens typically expire every 2 hours, requiring robust refresh token logic in n8n.", - "Sandbox environments may have data parity limitations compared to production (e.g., limited tax jurisdictions)." - ], - "client_must_provide": [ - "OAuth Client ID", - "Client Secret", - "Redirect URI configuration", - "Developer account access" - ], - "operations_available": [ - "List Employees", - "Get Payrolls", - "Create Payroll", - "Get Paystubs", - "Update Employee Information", - "List Workplaces" - ], - "confidence": 0.9, - "research_notes": "Payroll is a category of services rather than a single app, but 'Gusto' is the industry-standard API-first payroll provider most frequently integrated with n8n. While no native node exists, a community node (n8n-nodes-gusto) is available on npm. Other technical alternatives include the 'Check' API (checkhq.com), which offers 25 req/sec but is more enterprise-focused. Most n8n users implement payroll automation using the HTTP Request node combined with Google Sheets for data storage and AI for tax calculations.", - "sources_consulted": [ - "Official API Documentation (Gusto, Check, Square)", - "n8n Community Forum", - "n8n Templates Library", - "GitHub Repositories (n8n-nodes-gusto, n8n-nodes-latam-payroll)", - "YouTube Tutorials", - "G2/Capterra Reviews" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 20 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 20, - "rationale": "Payroll is a category of services rather than a single app, but 'Gusto' is the industry-standard API-first payroll provider most frequently integrated with n8n. While no native node exists, a community node (n8n-nodes-gusto) is available on npm. Other technical alternatives include the 'Check' API (checkhq.com), which offers 25 req/sec but is more enterprise-focused. Most n8n users implement payroll automation using the HTTP Request node combined with Google Sheets for data storage and AI for tax calculations." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/pbx.json b/technical-research/pbx.json deleted file mode 100644 index 0b6de90..0000000 --- a/technical-research/pbx.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "PBX", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T19:40:22.112Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "PBX", - "has_native_n8n_node": true, - "native_node_name": "Twilio", - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires a Twilio Account SID and either an Auth Token or an API Key SID and Secret. API Keys are the recommended method for production environments as they can be revoked individually.", - "api_quality": "excellent", - "api_documentation_url": "https://www.twilio.com/docs/usage/api", - "rate_limits": "100 requests per second", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": true, - "gotchas": [ - "Incoming calls and SMS require a publicly accessible webhook URL; local development requires a tunnel like ngrok.", - "Trial accounts are restricted to communicating only with verified phone numbers.", - "Sending SMS to US numbers requires A2P 10DLC registration, which can take several days to approve.", - "The Account SID is required for all requests, even when using an API Key SID/Secret for authentication." - ], - "client_must_provide": [ - "Twilio Account SID", - "API Key SID (or Auth Token)", - "API Key Secret" - ], - "operations_available": [ - "Send SMS/MMS", - "Make Phone Call", - "List Messages", - "Get Message Details", - "List Calls", - "Get Call Details", - "Send WhatsApp Message" - ], - "confidence": 1, - "research_notes": "Research confirms that while 'PBX' is a generic category, the specific n8n context provided (n8n-nodes-base.twilio) refers to the Twilio integration. Twilio acts as a cloud-based PBX platform. While community nodes exist for on-premise PBX systems like 3CX and Asterisk, Twilio is the only native node in n8n-nodes-base that provides comprehensive programmable voice and messaging (PBX-like) capabilities. The API is highly reliable with extensive documentation and standard RESTful patterns.", - "sources_consulted": [ - "Official Twilio API Documentation", - "n8n Official Node Documentation", - "n8n Community Forum", - "GitHub (n8n-nodes-base source)", - "YouTube (n8n Twilio integration guides)", - "Reddit (r/n8n developer sentiment)" - ], - "has_native_node": true, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "Research confirms that while 'PBX' is a generic category, the specific n8n context provided (n8n-nodes-base.twilio) refers to the Twilio integration. Twilio acts as a cloud-based PBX platform. While community nodes exist for on-premise PBX systems like 3CX and Asterisk, Twilio is the only native node in n8n-nodes-base that provides comprehensive programmable voice and messaging (PBX-like) capabilities. The API is highly reliable with extensive documentation and standard RESTful patterns." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "twilio", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/personal-schedules.json b/technical-research/personal-schedules.json deleted file mode 100644 index 98ede58..0000000 --- a/technical-research/personal-schedules.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Personal Schedules", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:06:08.510Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Personal Schedules", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires Azure Service Principal (App Registration) in the Azure Portal. Must provide Tenant ID, Client ID, and Client Secret with 'Desktop Virtualization Virtualization Contributor' or similar RBAC permissions.", - "api_quality": "excellent", - "api_documentation_url": "https://learn.microsoft.com/en-us/rest/api/desktopvirtualization/scaling-plan-personal-schedules", - "rate_limits": "12,000 read requests per hour and 1,200 write requests per hour per subscription (Azure Resource Manager standard limits).", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 10, - "webhook_support": false, - "gotchas": [ - "Personal schedules are only supported in specific API versions (e.g., 2024-04-03 or later).", - "Scaling plans for personal host pools differ significantly from pooled host pools in terms of available properties (e.g., rampUpAutoStartHosts).", - "Permissions must be explicitly granted at the Resource Group or Subscription level for the Service Principal to manage these schedules." - ], - "client_must_provide": [ - "Azure Subscription ID", - "Resource Group Name", - "Azure Tenant ID", - "Client ID (App ID)", - "Client Secret" - ], - "operations_available": [ - "Create or Update Scaling Plan Personal Schedule", - "Delete Scaling Plan Personal Schedule", - "Get Scaling Plan Personal Schedule", - "List Scaling Plan Personal Schedules" - ], - "confidence": 0.9, - "research_notes": "Research indicates 'Personal Schedules' is a specific API resource within Azure Desktop Virtualization (AVD) for managing scaling plans on personal host pools. While the term is generically used in HR tools like Fourth (HotSchedules) and ServiceNow, the Azure REST API is the most technically distinct integration matching this exact name. No native n8n node exists, so implementation requires the 'HTTP Request' node using Azure's OAuth2 authentication flow.", - "sources_consulted": [ - "Official API Documentation (Microsoft Learn)", - "n8n Community Forum", - "GitHub Repositories (Azure Bicep/Terraform modules)", - "Developer Blogs (Azure Virtual Desktop guides)", - "Reddit (r/Azure, r/n8n)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 10, - "rationale": "Research indicates 'Personal Schedules' is a specific API resource within Azure Desktop Virtualization (AVD) for managing scaling plans on personal host pools. While the term is generically used in HR tools like Fourth (HotSchedules) and ServiceNow, the Azure REST API is the most technically distinct integration matching this exact name. No native n8n node exists, so implementation requires the 'HTTP Request' node using Azure's OAuth2 authentication flow." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/personal.json b/technical-research/personal.json deleted file mode 100644 index 416098d..0000000 --- a/technical-research/personal.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "Personal", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T19:08:52.936Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Personal AI", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication is handled via an API Key found in the Personal AI account settings. The key must be included in the request headers as 'x-api-key'.", - "api_quality": "good", - "api_documentation_url": "https://postman.personal.ai/", - "rate_limits": "100 requests per minute (standard); Enterprise plans support custom/higher limits.", - "complexity_score": 3, - "complexity_tier": "simple", - "estimated_hours": 4, - "webhook_support": false, - "gotchas": [ - "The 'DomainName' parameter is required for all requests and corresponds to the unique slug of your AI persona (e.g., 'my-persona' from 'my-persona.personal.ai').", - "When ingesting data, it is recommended to set 'is_stack: false' initially to save the memory as a draft for review before final training.", - "Premium plans impose a 50,000-word limit per file upload; larger documents must be split into multiple requests." - ], - "client_must_provide": [ - "API Key", - "DomainName (Persona ID)" - ], - "operations_available": [ - "Send Message (Inference)", - "Upload Text (Ingestion)", - "Upload File (PDF/DOCX)", - "Upload URL (Web Scraping)", - "Retrieve Conversations", - "Batch Messaging" - ], - "confidence": 0.95, - "research_notes": "Personal AI (personal.ai) is a platform for creating 'digital twins' or AI personas. While n8n does not have a native node, the service is frequently integrated by the community using the HTTP Request node. The API is RESTful and well-documented via a public Postman collection. Integration is straightforward as it primarily involves sending JSON payloads with an API key header.", - "sources_consulted": [ - "Official API Documentation (Postman)", - "n8n Community Forum", - "Personal AI Developer Portal", - "YouTube Integration Walkthroughs", - "GitHub Community Repositories" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "simple", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "simple", - "base_hours": 4, - "rationale": "Personal AI (personal.ai) is a platform for creating 'digital twins' or AI personas. While n8n does not have a native node, the service is frequently integrated by the community using the HTTP Request node. The API is RESTful and well-documented via a public Postman collection. Integration is straightforward as it primarily involves sending JSON payloads with an API key header." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/pharmacy-system.json b/technical-research/pharmacy-system.json deleted file mode 100644 index c795700..0000000 --- a/technical-research/pharmacy-system.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Pharmacy System", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:55:32.499Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Pharmacy System", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "complex", - "auth_notes": "Requires registration in the Optum/Change Healthcare Developer Portal to obtain a Client ID and Client Secret. Authentication uses the OAuth2 Client Credentials grant to generate a JWT (JSON Web Token) valid for 1 hour.", - "api_quality": "good", - "api_documentation_url": "https://developer.optum.com/", - "rate_limits": "50 requests per second (3,000 req/min)", - "complexity_score": 8, - "complexity_tier": "enterprise", - "estimated_hours": 24, - "webhook_support": true, - "gotchas": [ - "Data is typically returned in HL7 FHIR (Fast Healthcare Interoperability Resources) format, which is deeply nested and requires extensive mapping in n8n.", - "Production access requires a signed Business Associate Agreement (BAA) and strict HIPAA compliance audits.", - "Onboarding for production environments can take several weeks due to healthcare security vetting.", - "Legacy operations may still require NCPDP SCRIPT standards for certain prescription transfers." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "Developer Portal Access", - "Pharmacy System ID (NPI or NCPDP Number)" - ], - "operations_available": [ - "Get Patient Details", - "Get MedicationDispense Records", - "Create Prescription Request", - "Update Order Status", - "Check Inventory Levels", - "Verify Insurance Eligibility" - ], - "confidence": 0.9, - "research_notes": "The term 'Pharmacy System' in technical contexts most frequently refers to the 'Enterprise Pharmacy System (EPS)' by Optum (formerly PDX/Change Healthcare), which is the industry leader. While no native n8n node exists, the system is highly integrable via the HTTP Request node using RESTful FHIR APIs. Community discussions on Reddit and Freelancer indicate that users often build custom middleware or use Airtable as a buffer for pharmacy data before syncing to these enterprise systems. Webhook support is available for real-time events like 'Prescription Ready' or 'Order Shipped'.", - "sources_consulted": [ - "Official Optum/Change Healthcare Developer Portal", - "n8n Community Forums", - "GitHub (Trifork Pharmacy System API)", - "SignatureRx API Documentation", - "Reddit (r/n8n, r/automation)", - "YouTube (Pharmacy Automation Guides)" - ], - "has_native_node": false, - "complexity": { - "score": 8, - "tier": "enterprise", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "enterprise", - "base_hours": 24, - "rationale": "The term 'Pharmacy System' in technical contexts most frequently refers to the 'Enterprise Pharmacy System (EPS)' by Optum (formerly PDX/Change Healthcare), which is the industry leader. While no native n8n node exists, the system is highly integrable via the HTTP Request node using RESTful FHIR APIs. Community discussions on Reddit and Freelancer indicate that users often build custom middleware or use Airtable as a buffer for pharmacy data before syncing to these enterprise systems. Webhook support is available for real-time events like 'Prescription Ready' or 'Order Shipped'." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/phone-and-sms.json b/technical-research/phone-and-sms.json deleted file mode 100644 index 9a36982..0000000 --- a/technical-research/phone-and-sms.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "integration": "Phone and SMS", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T12:37:55.052Z", - "model_used": "gemini-3-flash-preview", - "category": "Phone and SMS", - "providers": [ - { - "name": "Twilio", - "api_documentation_url": "https://www.twilio.com/docs/messaging/api", - "rate_limits": "100 concurrent requests for the REST API. SMS throughput is governed by the sender type: 1 segment per second (MPS) for long codes and up to 100 MPS for short codes.", - "auth_notes": "Uses HTTP Basic Authentication. The 'Account SID' acts as the username and the 'Auth Token' acts as the password. Credentials must be sent in the Authorization header." - }, - { - "name": "MessageBird", - "api_documentation_url": "https://developers.messagebird.com/api/sms-messaging/", - "rate_limits": "500 requests per second (RPS) for POST (write) operations and 50 RPS for GET, PATCH, and DELETE operations.", - "auth_notes": "Uses an API Access Key. The key must be included in the HTTP Authorization header in the format: 'Authorization: AccessKey {your_access_key}'." - }, - { - "name": "Vonage (formerly Nexmo)", - "api_documentation_url": "https://developer.vonage.com/en/messaging/sms/overview", - "rate_limits": "Default account limit is 30 requests per second for the SMS API. Note that US outbound SMS is restricted by carriers to 1 request per second per long code.", - "auth_notes": "Supports multiple methods: API Key and Secret passed as query parameters (api_key, api_secret) or via Basic Auth header. Newer APIs also support JSON Web Tokens (JWT)." - }, - { - "name": "Plivo", - "api_documentation_url": "https://www.plivo.com/docs/sms/api/message/", - "rate_limits": "300 API requests per 5 seconds for general API calls. Outbound SMS delivery is throttled at 5 messages per second per account by default.", - "auth_notes": "Uses Basic Authentication requiring an 'Auth ID' and 'Auth Token'. These are found in the Plivo console and must be provided with every API request." - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/phone-sms.json b/technical-research/phone-sms.json deleted file mode 100644 index 7efceb5..0000000 --- a/technical-research/phone-sms.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Phone/SMS", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-13T02:47:03.125Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Phone/SMS", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2 / JWT", - "auth_complexity": "moderate", - "auth_notes": "Requires creating an application in the RingCentral Developer Portal to obtain a Client ID and Client Secret. For server-to-server automation like n8n, using a JSON Web Token (JWT) is the recommended method to avoid manual OAuth browser flows.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.ringcentral.com/api-reference", - "rate_limits": "40-50 requests per minute for SMS (varies by API tier and endpoint)", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "10DLC Registration: Sending SMS to US/Canada numbers requires 10DLC registration, which can take days/weeks to approve.", - "JWT Scope: The JWT is tied to a specific user; the 'from' number in the API must belong to that user.", - "Rate Limit Enforcement: RingCentral is strict with 429 errors; developers often need to implement a 'Wait' node or retry logic in n8n.", - "Sandbox vs Production: You must reach a specific 'graduation' threshold in the sandbox before moving to production." - ], - "client_must_provide": [ - "RingCentral Developer Account access", - "Client ID and Client Secret", - "JWT Token (generated in the dev portal)", - "SMS-enabled RingCentral phone number" - ], - "operations_available": [ - "Send SMS", - "Send MMS", - "List Message Store", - "Get Message Status", - "Create Webhook Subscription (Receive SMS)", - "Download Message Attachment" - ], - "confidence": 0.9, - "research_notes": "The 'Phone/SMS' integration (often referring to RingCentral's RingEX product) lacks a native n8n node, forcing developers to use the HTTP Request node. Community discussions highlight the shift from legacy password-flow auth to JWT, which simplifies n8n credentials. For low-cost alternatives, many n8n users utilize SMS8.io or Textbee.dev to turn Android phones into gateways, though these are less 'enterprise' than RingCentral.", - "sources_consulted": [ - "Official RingCentral API Documentation", - "n8n Community Forum", - "YouTube (n8n SMS8.io tutorials)", - "Reddit (r/n8n and r/RingCentral)", - "GitHub (RingCentral Node.js SDK)", - "n8n Templates (Salesforce/Twilio patterns)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 8, - "rationale": "The 'Phone/SMS' integration (often referring to RingCentral's RingEX product) lacks a native n8n node, forcing developers to use the HTTP Request node. Community discussions highlight the shift from legacy password-flow auth to JWT, which simplifies n8n credentials. For low-cost alternatives, many n8n users utilize SMS8.io or Textbee.dev to turn Android phones into gateways, though these are less 'enterprise' than RingCentral." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/phone-system-and-texting.json b/technical-research/phone-system-and-texting.json deleted file mode 100644 index 0c49eca..0000000 --- a/technical-research/phone-system-and-texting.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Phone system and texting", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-11T23:48:26.423Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Phone system and texting", - "has_native_n8n_node": true, - "native_node_name": "Twilio", - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "Requires a Twilio Account SID and the creation of an API Key (which provides an API Key SID and Secret) within the Twilio Console. While 'Auth Token' is supported, 'API Key' is the recommended method for production environments.", - "api_quality": "excellent", - "api_documentation_url": "https://www.twilio.com/docs/usage/api", - "rate_limits": "100 concurrent requests (REST API); SMS throughput is typically 1 message per second (MPS) for local numbers and 3 MPS for toll-free numbers by default.", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": true, - "gotchas": [ - "A2P 10DLC registration is mandatory for sending SMS to US phone numbers; failure to register results in high failure rates.", - "Self-hosted n8n instances often require manual webhook URL configuration in the Twilio Console as the 'Twilio Trigger' node may fail to auto-update the callback URL.", - "WhatsApp messaging requires pre-approved templates and is restricted to a 24-hour conversation window for non-template replies." - ], - "client_must_provide": [ - "Twilio Account SID", - "API Key SID", - "API Key Secret", - "Verified Twilio Phone Number" - ], - "operations_available": [ - "Send SMS", - "Send MMS", - "Send WhatsApp Message", - "Make Phone Call (Text-to-Speech)", - "Trigger on New SMS", - "Trigger on New Call" - ], - "confidence": 1, - "research_notes": "The research confirms that 'Phone system and texting' in the n8n context refers to the Twilio integration (n8n-nodes-base.twilio). Twilio is the industry standard for these capabilities. The integration is robust, supporting both outbound actions and inbound triggers via webhooks. Key hurdles for developers include regulatory compliance (A2P 10DLC) and ensuring the n8n instance is publicly accessible for Twilio's webhooks to function.", - "sources_consulted": [ - "Official Twilio API Documentation", - "n8n Official Node Documentation", - "n8n Community Forum", - "Reddit (r/n8n)", - "Twilio Developer Blog" - ], - "has_native_node": true, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "The research confirms that 'Phone system and texting' in the n8n context refers to the Twilio integration (n8n-nodes-base.twilio). Twilio is the industry standard for these capabilities. The integration is robust, supporting both outbound actions and inbound triggers via webhooks. Key hurdles for developers include regulatory compliance (A2P 10DLC) and ensuring the n8n instance is publicly accessible for Twilio's webhooks to function." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "twilio", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/phone-system-ivr.json b/technical-research/phone-system-ivr.json deleted file mode 100644 index b57741e..0000000 --- a/technical-research/phone-system-ivr.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Phone System/IVR", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:55:48.336Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Phone System/IVR", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.twilio", - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "Requires Twilio Account SID, API Key SID, and API Key Secret. While 'Auth Token' is supported for testing, Twilio and n8n recommend 'API Key' for production environments to ensure better security and management.", - "api_quality": "excellent", - "api_documentation_url": "https://www.twilio.com/docs/voice/api", - "rate_limits": "1 Call Per Second (CPS) for outbound API calls by default; 1 Message Per Second (MPS) for SMS. Inbound calls are generally unlimited per number, but account-level concurrency limits (defaulting to 100) may apply.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 15, - "webhook_support": true, - "gotchas": [ - "The native Twilio Trigger node uses 'Sinks/Subscriptions' rather than standard webhooks, which can cause issues if multiple workflows listen to the same account or when using the Twilio Sandbox (GitHub Issue #16316).", - "Twilio requires a fast '200 OK' response from webhooks; if n8n processing takes too long, Twilio may log a 11200 error (HTTP retrieval failure).", - "Trial accounts can only send messages/calls to verified phone numbers and include a 'Sent from a Twilio Trial account' prefix." - ], - "client_must_provide": [ - "Twilio Account SID", - "API Key SID & Secret (or Auth Token)", - "A purchased Twilio Phone Number", - "Verified Caller ID (for trial accounts)" - ], - "operations_available": [ - "Make Call", - "Send SMS", - "Send WhatsApp Message", - "Get Call Details", - "Get Message Details", - "List Calls/Messages", - "Trigger on New Call/SMS" - ], - "confidence": 0.95, - "research_notes": "Twilio is the primary service used for IVR in n8n. While n8n handles the API triggers and outbound actions, complex IVR logic (menus, digit gathering) is often handled via Twilio Studio or TwiML Bins, with n8n acting as the backend logic processor. Users frequently report that the 'Twilio Trigger' node is less reliable than a standard 'Webhook' node for high-volume or multi-number setups due to its internal subscription-based architecture.", - "sources_consulted": [ - "Official n8n Documentation", - "Twilio Developer Portal", - "n8n Community Forums", - "GitHub (n8n-io/n8n issues)", - "YouTube (Technical Walkthroughs)", - "Reddit (r/n8n)" - ], - "has_native_node": true, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 15 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 15, - "rationale": "Twilio is the primary service used for IVR in n8n. While n8n handles the API triggers and outbound actions, complex IVR logic (menus, digit gathering) is often handled via Twilio Studio or TwiML Bins, with n8n acting as the backend logic processor. Users frequently report that the 'Twilio Trigger' node is less reliable than a standard 'Webhook' node for high-volume or multi-number setups due to its internal subscription-based architecture." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "twilio", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/phone-system.json b/technical-research/phone-system.json deleted file mode 100644 index 9f7e191..0000000 --- a/technical-research/phone-system.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Phone system", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-30T05:18:59.962Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Phone system", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.twilio", - "auth_type": "api_key", - "auth_complexity": "simple", - "auth_notes": "Requires Twilio Account SID and Auth Token. For production environments, it is recommended to use an API Key and Secret for more granular access control.", - "api_quality": "excellent", - "api_documentation_url": "https://www.twilio.com/docs/usage/api", - "rate_limits": "Twilio REST API has a concurrency limit of 100 requests. SMS throughput is limited by the 'Messages Per Second' (MPS) rate of the specific phone number type (default 1 MPS for long codes).", - "complexity_score": 3, - "complexity_tier": "moderate", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "A2P 10DLC registration is required for sending SMS to US numbers; failure to register results in high filtering/blocking rates.", - "Trial accounts are restricted to sending messages only to verified 'Caller IDs' (phone numbers you have manually verified in the console).", - "Incoming calls or SMS require a public-facing webhook URL that returns valid TwiML (XML) to instruct Twilio on how to handle the event." - ], - "client_must_provide": [ - "Twilio Account SID", - "Auth Token", - "Active Twilio Phone Number", - "A2P 10DLC Campaign approval (for US SMS)" - ], - "operations_available": [ - "Send SMS", - "Make Outbound Call", - "List Messages", - "Fetch Call Logs", - "Get Recording" - ], - "similar_integrations": [ - "Vonage", - "RingCentral", - "MessageBird" - ], - "confidence": 0.95, - "research_notes": "Twilio is the primary provider for the 'Phone system' category in n8n. While the technical integration is straightforward, the majority of implementation time is typically spent on regulatory compliance (A2P 10DLC) and configuring webhook status callbacks for real-time delivery tracking.", - "has_native_node": true, - "complexity": { - "score": 3, - "tier": "moderate", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 8, - "rationale": "Twilio is the primary provider for the 'Phone system' category in n8n. While the technical integration is straightforward, the majority of implementation time is typically spent on regulatory compliance (A2P 10DLC) and configuring webhook status callbacks for real-time delivery tracking." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with node database" - }, - "_database_match": "twilio", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/phone-text.json b/technical-research/phone-text.json deleted file mode 100644 index ffa1068..0000000 --- a/technical-research/phone-text.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "integration": "Phone/Text", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:02:07.621Z", - "model_used": "gemini-3-flash-preview", - "api_documentation_url": "https://www.twilio.com/docs/sms/api", - "rate_limits": "100 concurrent requests (API-wide); SMS throughput: 1 message per second (MPS) for US Long Codes, 3 MPS for Toll-Free numbers, and 100 MPS for Short Codes.", - "auth_notes": "Twilio uses HTTP Basic Authentication. To authenticate, you must provide your Account SID as the username and your Auth Token as the password. These credentials should be passed in the 'Authorization' header of each request. For enhanced security, Twilio also supports API Keys (SID and Secret) as an alternative to the primary Account SID and Auth Token.", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/phone-texting.json b/technical-research/phone-texting.json deleted file mode 100644 index a70110e..0000000 --- a/technical-research/phone-texting.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Phone/Texting", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-15T01:02:40.440Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Phone/Texting", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires generating an API key in the Quo (formerly OpenPhone) dashboard under Settings > API. Only users with 'Owner' or 'Admin' permissions can generate these keys.", - "api_quality": "good", - "api_documentation_url": "https://www.quo.com/docs/mdx/api-reference/overview", - "rate_limits": "10 requests per second", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": true, - "gotchas": [ - "OpenPhone has rebranded to 'Quo', so developers must look for Quo documentation for the latest endpoints.", - "US Carrier registration (10DLC) is mandatory for sending SMS to US numbers; messages will be blocked without an approved campaign.", - "API usage requires prepaid credits specifically for API messaging, separate from standard subscription minutes.", - "MMS (multimedia) is currently not supported in the public API version; only plain text SMS is available." - ], - "client_must_provide": [ - "Quo (OpenPhone) API Key", - "Admin/Owner access to the workspace", - "Approved 10DLC registration for US-based messaging" - ], - "operations_available": [ - "Send SMS", - "Create/Update/Delete Contact", - "List Phone Numbers", - "Retrieve Conversations", - "Manage Webhooks" - ], - "confidence": 0.95, - "research_notes": "The 'Phone/Texting' integration refers to OpenPhone, a popular business communication platform that recently rebranded to Quo. While n8n does not have a native node, there is a community node ('n8n-nodes-openphone') and the REST API is highly compatible with the n8n HTTP Request node. The rebranding to Quo is a critical detail for finding current documentation and rate limits.", - "sources_consulted": [ - "Official API Documentation (Quo/OpenPhone)", - "n8n Community Forum", - "Make/Zapier Integration Pages", - "YouTube Developer Demos (Rachel, PM at OpenPhone)", - "NPM Registry (n8n-nodes-openphone)" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "The 'Phone/Texting' integration refers to OpenPhone, a popular business communication platform that recently rebranded to Quo. While n8n does not have a native node, there is a community node ('n8n-nodes-openphone') and the REST API is highly compatible with the n8n HTTP Request node. The rebranding to Quo is a critical detail for finding current documentation and rate limits." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/phone.json b/technical-research/phone.json deleted file mode 100644 index 3475dc4..0000000 --- a/technical-research/phone.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "integration": "Phone", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T03:06:25.905Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Phone", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.twilio", - "auth_type": "api_key", - "auth_complexity": "simple", - "auth_notes": "Requires Twilio Account SID and Auth Token. For production, API Keys (SID/Secret) are recommended over the primary Auth Token.", - "api_quality": "excellent", - "api_documentation_url": "https://www.twilio.com/docs/usage/api", - "rate_limits": "Standard REST API limits are 100 requests per second. Messaging throughput (MPS) depends on the specific phone number type and regulatory registration.", - "complexity_score": 3, - "complexity_tier": "moderate", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "Phone numbers must be provided in E.164 format (e.g., +1234567890) or the API will return an error.", - "US-based SMS messaging requires A2P 10DLC registration to prevent carrier filtering and high failure rates.", - "Trial accounts can only send messages to verified 'To' numbers and include a mandatory Twilio branding prefix." - ], - "client_must_provide": [ - "Account SID", - "Auth Token", - "Twilio Phone Number or Messaging Service SID" - ], - "operations_available": [ - "Send SMS", - "Make Phone Call", - "Send WhatsApp Message", - "Fetch Call Logs", - "List Messages" - ], - "similar_integrations": [ - "Vonage", - "RingCentral", - "MessageBird" - ], - "confidence": 0.95, - "research_notes": "Twilio is the industry standard for n8n phone integrations. While n8n has a specific Twilio node, users requiring RingCentral or Vonage must often use the 'HTTP Request' node or specific community nodes if available. Webhook support is robust via Twilio's 'Status Callback URL' and 'Incoming Message' settings.", - "has_native_node": true, - "complexity": { - "score": 3, - "tier": "moderate", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 8, - "rationale": "Twilio is the industry standard for n8n phone integrations. While n8n has a specific Twilio node, users requiring RingCentral or Vonage must often use the 'HTTP Request' node or specific community nodes if available. Webhook support is robust via Twilio's 'Status Callback URL' and 'Incoming Message' settings." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with node database" - }, - "_database_match": "twilio", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/pms.json b/technical-research/pms.json deleted file mode 100644 index 9c6b6f6..0000000 --- a/technical-research/pms.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "PMS", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:29:26.759Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "PMS", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "Requires contacting the provider's support team (e.g., Track PMS or Clock PMS+) to obtain an API Key and Secret. Authentication is typically handled via HTTP Basic Auth (Key as username, Secret as password) or a custom X-API-Key header.", - "api_quality": "good", - "api_documentation_url": "https://developer.trackhs.com/", - "rate_limits": "10,000 requests per 5 minutes", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "API access is rarely self-service and often requires manual provisioning by the vendor's integration team.", - "Rate limits are strictly enforced in 5-minute windows, which can cause '429 Too Many Requests' errors during initial large-scale data syncs.", - "In the n8n community, 'PMS' is also a common abbreviation for 'Plex Media Server', which has a dedicated community node (n8n-nodes-plex-media-server)." - ], - "client_must_provide": [ - "API Key", - "API Secret", - "Customer Subdomain/Domain" - ], - "operations_available": [ - "Get Reservations", - "Create/Update Guest Profiles", - "List Property Units", - "Manage Housekeeping Tasks", - "Sync Accounting Charges" - ], - "confidence": 0.9, - "research_notes": "Research indicates that 'PMS' is a category (Property Management System) rather than a single software. However, 'Track PMS' (by TravelNet Solutions) is a prominent enterprise-grade system frequently targeted for n8n integrations. While no native node exists, users successfully utilize the HTTP Request node. Other specific PMS systems like Apaleo, Mews, and Guesty have community nodes available on npm. In home automation contexts, 'PMS' refers to Plex Media Server.", - "sources_consulted": [ - "Official API Documentation (Track PMS, Clock PMS+)", - "n8n Community Forum", - "GitHub Repositories (Airbyte, MovingLake)", - "npm Registry", - "Developer Blogs (Product Compass, TechSpokes)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Research indicates that 'PMS' is a category (Property Management System) rather than a single software. However, 'Track PMS' (by TravelNet Solutions) is a prominent enterprise-grade system frequently targeted for n8n integrations. While no native node exists, users successfully utilize the HTTP Request node. Other specific PMS systems like Apaleo, Mews, and Guesty have community nodes available on npm. In home automation contexts, 'PMS' refers to Plex Media Server." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/policy-admin.json b/technical-research/policy-admin.json deleted file mode 100644 index b72238d..0000000 --- a/technical-research/policy-admin.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Policy Admin", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:40:08.710Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Policy Admin", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "Most modern Policy Administration Systems (PAS) like Boost Insurance or FintechOS require an API Key for Sandbox environments and OAuth2 for Production. Authentication often requires specific 'App' creation within a developer portal to generate client secrets.", - "api_quality": "good", - "api_documentation_url": "https://docs.boostinsurance.com/", - "rate_limits": "1000 requests/hour", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 16, - "webhook_support": true, - "gotchas": [ - "Highly complex nested JSON structures are standard for insurance objects (policies, risks, coverages).", - "State-specific validation: APIs often reject requests if state-mandated fields or formatting (e.g., specific ZIP code patterns) are missing.", - "Data residency requirements: Many PAS APIs require specific headers or endpoint routing to comply with regional insurance regulations (e.g., APRA in Australia or GDPR in EU)." - ], - "client_must_provide": [ - "API Key / Client Secret", - "Environment Base URL (Sandbox vs Production)", - "Product ID or Policy Type Identifier" - ], - "operations_available": [ - "Create Quote", - "Issue Policy (Bind)", - "Renew Policy", - "Cancel/Terminate Policy", - "Get Policy Details", - "List Endorsements" - ], - "confidence": 0.9, - "research_notes": "Research indicates 'Policy Admin' is a category of software (Policy Administration Systems) rather than a single SaaS product. However, modern API-first platforms like Boost Insurance and FintechOS are the primary targets for n8n integrations in this space. Legacy systems like Guidewire or Oracle OIPA also exist but typically require more complex middleware or custom HTTP Request patterns. No native n8n node exists, so users must rely on the 'HTTP Request' node with JSON payloads.", - "sources_consulted": [ - "Official API Documentation (Boost Insurance, FintechOS, Oracle)", - "n8n Community Forum", - "Industry Technical Reports (Celent, Sapiens)", - "Developer Blogs (Cleffex, Techlad)", - "GitHub (SDK searches for PAS integrations)" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 16, - "rationale": "Research indicates 'Policy Admin' is a category of software (Policy Administration Systems) rather than a single SaaS product. However, modern API-first platforms like Boost Insurance and FintechOS are the primary targets for n8n integrations in this space. Legacy systems like Guidewire or Oracle OIPA also exist but typically require more complex middleware or custom HTTP Request patterns. No native n8n node exists, so users must rely on the 'HTTP Request' node with JSON payloads." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/practice-management-3-separate-servers.json b/technical-research/practice-management-3-separate-servers.json deleted file mode 100644 index f5b9e30..0000000 --- a/technical-research/practice-management-3-separate-servers.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Practice Management - 3 separate servers", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-15T00:56:24.791Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Practice Management - 3 separate servers", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key / OAuth2", - "auth_complexity": "complex", - "auth_notes": "Requires access to the Application Server API. In a 3-server setup (Web, App, Database), n8n must be able to route to the internal IP of the App server, typically requiring a VPN, SSH tunnel, or IP whitelisting on the internal firewall.", - "api_quality": "fair", - "api_documentation_url": "https://www.open-emr.org/wiki/index.php/OpenEMR_API_Documentation", - "rate_limits": "100 requests per minute (standard for on-premise API gateways like Nginx or Kong used in 3-tier architectures)", - "complexity_score": 8, - "complexity_tier": "complex", - "estimated_hours": 24, - "webhook_support": false, - "gotchas": [ - "Network latency between the 3 separate servers (Web, App, DB) can cause request timeouts in n8n workflows.", - "Direct database access (if required) may bypass business logic and requires separate credentials for the Database Server.", - "On-premise deployments often lack outbound webhook support, requiring polling via the HTTP Request node." - ], - "client_must_provide": [ - "VPN or SSH Tunnel access to the internal network", - "API Credentials (Client ID/Secret or API Key)", - "Internal IP addresses for the Application and Database servers", - "Database credentials (if direct SQL querying is required)" - ], - "operations_available": [ - "Get Patients", - "Create Appointment", - "Update Billing Record", - "Query Database (via SQL node)", - "Upload Document to File Server" - ], - "confidence": 0.85, - "research_notes": "The term 'Practice Management - 3 separate servers' refers to a classic 3-tier architecture (Web Server, Application Server, and Database Server) common in on-premise medical (EHR/PMS) or legal practice management systems. No specific commercial product with this exact name was found; it is a descriptive architectural pattern. OpenEMR is used as the technical proxy for this analysis as it is the most common open-source PMS supporting this specific multi-server deployment. Integration in n8n is achieved via the HTTP Request node for API interactions or the MySQL/PostgreSQL/MSSQL nodes for direct data layer access.", - "sources_consulted": [ - "Official OpenEMR Documentation", - "n8n Community Forum", - "GitHub (n8n-nodes-semble, openemr-api)", - "CODESYS/3S-Systems Documentation", - "Reddit (r/overemployed, r/n8n)", - "YouTube (Practice Management Integration walkthroughs)" - ], - "has_native_node": false, - "complexity": { - "score": 8, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "The term 'Practice Management - 3 separate servers' refers to a classic 3-tier architecture (Web Server, Application Server, and Database Server) common in on-premise medical (EHR/PMS) or legal practice management systems. No specific commercial product with this exact name was found; it is a descriptive architectural pattern. OpenEMR is used as the technical proxy for this analysis as it is the most common open-source PMS supporting this specific multi-server deployment. Integration in n8n is achieved via the HTTP Request node for API interactions or the MySQL/PostgreSQL/MSSQL nodes for direct data layer access." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/practice-management-system.json b/technical-research/practice-management-system.json deleted file mode 100644 index 3495b1a..0000000 --- a/technical-research/practice-management-system.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Practice Management System", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-15T00:23:45.290Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Practice Management System", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication is handled via HTTP Basic Auth. Users must generate an API Key in their profile under 'My Info' > 'Manage API keys'. In n8n, use the API Key as the 'User' and leave the 'Password' field empty.", - "api_quality": "good", - "api_documentation_url": "https://api.cliniko.com/v1/", - "rate_limits": "200 requests per minute per user", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "Validation Error: The 'max_attendees' field must be explicitly cast as a Number in the JSON body, otherwise the API returns a 422 error.", - "Regional Shards: The API endpoint URL varies by region (e.g., api.au1.cliniko.com for Australia, api.uk1.cliniko.com for UK).", - "Date Format: All timestamps (starts_at, ends_at) must strictly follow the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)." - ], - "client_must_provide": [ - "API Key", - "Business ID", - "Practitioner ID" - ], - "operations_available": [ - "Get Patients", - "Create Appointment", - "List Practitioners", - "Get Treatment Notes", - "List Businesses", - "Update Patient Record" - ], - "confidence": 0.95, - "research_notes": "Analysis focused on Cliniko as the representative 'Practice Management System' due to its high demand in the n8n community and well-documented REST API. While no native node exists, community discussions highlight that the HTTP Request node is the standard integration pattern. Common issues involve data type validation (casting strings to numbers) and handling shard-specific base URLs. Webhooks are supported but must be configured via the Cliniko dashboard or API to point to an n8n Webhook Trigger node.", - "sources_consulted": [ - "Official API Documentation", - "n8n Community Forum", - "GitHub Repositories", - "Make.com Integration Docs", - "Pipedream Integration Guides", - "YouTube Technical Walkthroughs" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "Analysis focused on Cliniko as the representative 'Practice Management System' due to its high demand in the n8n community and well-documented REST API. While no native node exists, community discussions highlight that the HTTP Request node is the standard integration pattern. Common issues involve data type validation (casting strings to numbers) and handling shard-specific base URLs. Webhooks are supported but must be configured via the Cliniko dashboard or API to point to an n8n Webhook Trigger node." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/practice-management.json b/technical-research/practice-management.json deleted file mode 100644 index 76788fe..0000000 --- a/technical-research/practice-management.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Practice management", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-11T23:48:07.068Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Practice management", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires generating an API Key from the 'Settings' or 'Developer' section of the platform. For the specific platform 'Practice' (practice.do), this was a Bearer Token passed in the Authorization header.", - "api_quality": "fair", - "api_documentation_url": "https://developer.practice.do/", - "rate_limits": "100 requests per minute", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "The primary platform matching this name, Practice (practice.do), announced a permanent shutdown in October 2025.", - "No native n8n node exists; all integrations must be built using the HTTP Request node.", - "API documentation for defunct platforms may be inaccessible or require archived versions (Wayback Machine).", - "Alternative 'Practice Management' tools like Karbon or Clio have different API structures; Clio has a native n8n node." - ], - "client_must_provide": [ - "API Key / Secret Token", - "Workspace ID (if applicable)", - "Webhook URL for event listening" - ], - "operations_available": [ - "List Clients", - "Create Appointment", - "Get Invoice Details", - "Update Task Status", - "Send Message" - ], - "confidence": 0.9, - "research_notes": "Research indicates that 'Practice management' is a broad category, but the specific platform 'Practice' (practice.do) was the most common target for n8n coaching automations. Critically, Practice.do shut down in late 2025, meaning new integrations are not viable. For active practice management, n8n users typically use 'Clio' (which has a native node) or 'Karbon' (integrated via HTTP Request). Karbon is explicitly highlighted in n8n documentation as a practice management partner for accounting firms.", - "sources_consulted": [ - "Official Docs (Historical)", - "n8n Community Forum", - "Reddit (r/n8n, r/coaching)", - "G2 Reviews", - "Developer Blogs (Paperbell, Simply.Coach)" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "Research indicates that 'Practice management' is a broad category, but the specific platform 'Practice' (practice.do) was the most common target for n8n coaching automations. Critically, Practice.do shut down in late 2025, meaning new integrations are not viable. For active practice management, n8n users typically use 'Clio' (which has a native node) or 'Karbon' (integrated via HTTP Request). Karbon is explicitly highlighted in n8n documentation as a practice management partner for accounting firms." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/preferences-loyalty.json b/technical-research/preferences-loyalty.json deleted file mode 100644 index 88421bb..0000000 --- a/technical-research/preferences-loyalty.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Preferences/Loyalty", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:28:07.560Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Preferences/Loyalty", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires a developer account on the Sabre SynXis Developer Portal. REST APIs use Bearer tokens (OAuth2), while legacy endpoints require SOAP headers with HTNG-format credentials (username/password).", - "api_quality": "good", - "api_documentation_url": "https://developer.synxis.com/docs/rest_apis/hospitality/profile_and_loyalty_management", - "rate_limits": "100 req/min (Standard Sabre default; production limits vary by contract tier)", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "The API is part of the Sabre SynXis ecosystem, which often requires a signed enterprise contract for production access.", - "Data is often structured in complex XML/SOAP formats for legacy endpoints, requiring significant parsing in n8n.", - "Synchronizing 'Preferences' and 'Loyalty' data across multiple Property Management Systems (PMS) can lead to race conditions if not handled with proper locking or sequencing." - ], - "client_must_provide": [ - "Sabre SynXis Developer Credentials", - "Chain ID and Hotel ID", - "API Key/Secret for Token Generation" - ], - "operations_available": [ - "Retrieve Guest Profile", - "Update Guest Preferences", - "Get Loyalty Points Balance", - "Redeem Loyalty Points", - "Enroll Guest in Loyalty Program", - "Search Profiles by Loyalty Number" - ], - "confidence": 0.9, - "research_notes": "Preferences/Loyalty is a core module within the Sabre SynXis 'Hospitality Profile and Loyalty Management' API. It is widely used in the travel and hospitality industry to centralize guest data. While no native n8n node exists, it is a common target for custom HTTP Request integrations in hotel automation workflows. Forums indicate that the primary challenge is the strict HTNG/SOAP standards used by older parts of the system, though the newer RESTful 'Profile Management' endpoints are significantly easier to implement.", - "sources_consulted": [ - "Sabre SynXis Developer Portal", - "Sabre Hospitality Solutions Documentation", - "n8n Community Forum", - "Developer Blogs (Softlabs, OneClick)", - "GitHub (n8n-community-node-boilerplate)" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Preferences/Loyalty is a core module within the Sabre SynXis 'Hospitality Profile and Loyalty Management' API. It is widely used in the travel and hospitality industry to centralize guest data. While no native n8n node exists, it is a common target for custom HTTP Request integrations in hotel automation workflows. Forums indicate that the primary challenge is the strict HTNG/SOAP standards used by older parts of the system, though the newer RESTful 'Profile Management' endpoints are significantly easier to implement." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/proactive-after-hours-call-handling-and-pre-need-consultation-scheduling-2026-01-12.md b/technical-research/proactive-after-hours-call-handling-and-pre-need-consultation-scheduling-2026-01-12.md deleted file mode 100644 index 4d8be4e..0000000 --- a/technical-research/proactive-after-hours-call-handling-and-pre-need-consultation-scheduling-2026-01-12.md +++ /dev/null @@ -1,78 +0,0 @@ -# Integration Research: After-Hours Call Handling and Pre-Need Consultation Scheduling - -**Client**: Eternal Peace Memorial Services -**Business Process**: After-Hours Call Handling and Pre-Need Consultation Scheduling -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Funeral Management | No | API Key / OAuth2 | Yes | 90% | -| Website | No | API Key | Yes | 85% | - ---- - -## Integration Details - -### 1. Funeral Management - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication typically requires contacting the software provider (e.g., Passare, SRS Computing) to obtain an API Key or Client Credentials. Passare specifically uses a Public API key system that must be enabled by their support team. - -**Key Gotchas**: -- Many funeral management APIs (like Passare) require manual approval or support intervention to activate the developer portal. -- Data fields are often highly industry-specific (e.g., 'vitals', 'first call', 'obituary sync'), requiring careful mapping in n8n. -- Webhooks may only trigger on specific lifecycle events like 'Case Created' or 'Obituary Synced'. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 2. Website - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled via an API Key provided through the SitePanel (Website.com's white-label/reseller platform). Standard users typically lack direct API access unless on a reseller or enterprise-tier plan. - -**Key Gotchas**: -- No native n8n node exists; all integrations must be built manually using the HTTP Request node. -- API access is primarily restricted to Reseller/White-label accounts via SitePanel. -- Generic website tasks (scraping, monitoring) are better handled by specialized community nodes like Firecrawl or Apify. -- The API is focused on site management (creation/deletion) rather than content editing for standard users. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -## Complexity Analysis - -### Overall Score: 6/10 → moderate - -**Total Estimated Hours**: 24 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 24 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-after-hours-coverage-2026-01-25.md b/technical-research/proactive-after-hours-coverage-2026-01-25.md deleted file mode 100644 index 2dccaf4..0000000 --- a/technical-research/proactive-after-hours-coverage-2026-01-25.md +++ /dev/null @@ -1,73 +0,0 @@ -# Integration Research: After-Hours Coverage - -**Client**: [Evaluation] Carrier logistics platform / Freight brokerage -**Business Process**: After-Hours Coverage -**Research Date**: 2026-01-25 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Telephony system | No | unknown | No | 70% | -| Carrier management platform | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. Telephony system - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 2. Carrier management platform - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → moderate - -**Estimated Hours**: 12 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 24 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 24 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-after-hours-coverage-2026-01-27.md b/technical-research/proactive-after-hours-coverage-2026-01-27.md deleted file mode 100644 index 6c83998..0000000 --- a/technical-research/proactive-after-hours-coverage-2026-01-27.md +++ /dev/null @@ -1,76 +0,0 @@ -# Integration Research: After-Hours Coverage - -**Client**: [Evaluation] Carrier logistics platform / Freight brokerage -**Business Process**: After-Hours Coverage -**Research Date**: 2026-01-27 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Telephony system | No | unknown | No | 70% | -| Carrier management platform | No | OAuth2 | Yes | 95% | - ---- - -## Integration Details - -### 1. Telephony system - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 2. Carrier management platform - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating an application in the Intersoft SAPIENT Developer Hub to obtain a Client ID and Client Secret. These are used to generate a Bearer token (JWT) which expires every 60 minutes and must be cached to avoid excessive auth calls. - -**Key Gotchas**: -- The Client Secret is only displayed once during creation and cannot be retrieved later. -- The 'Trackings API' is a chargeable service billed per shipment, separate from the standard webhook service. -- Carrier-specific rate limits (e.g., DX carrier) can override the global platform limit, leading to unexpected 429 errors during high-volume label generation. -- Tokens expire every 60 minutes; workflows must handle token refreshing or caching logic. - -**Complexity Score**: 6/10 → standard - -**Estimated Hours**: 14 - ---- - -## Complexity Analysis - -### Overall Score: 5.5/10 → moderate - -**Total Estimated Hours**: 38 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 38 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-ai-powered-lead-qualification-system-2025-12-31.md b/technical-research/proactive-ai-powered-lead-qualification-system-2025-12-31.md deleted file mode 100644 index 32f5e52..0000000 --- a/technical-research/proactive-ai-powered-lead-qualification-system-2025-12-31.md +++ /dev/null @@ -1,245 +0,0 @@ -# Integration Research: AI-Powered Lead Qualification System - -**Client**: Marketing Agency -**Business Process**: AI-Powered Lead Qualification System -**Research Date**: 2025-12-31 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Social | No | unknown | No | 70% | -| Facebook Lead Ads | No | OAuth 2.0 / System User Access Token | Yes | 95% | -| LinkedIn Lead Gen Forms | Yes | OAuth2 | Yes | 95% | -| Ads | Yes | oauth2 | No | 70% | -| Google Ads | Yes | oauth2 | No | 70% | -| HubSpot | Yes | oauth2 | No | 70% | -| Communication | No | HMAC-SHA256 or OAuth2 | Yes | 90% | -| Slack | Yes | oauth2 | No | 70% | -| Hosting | No | API Key (JSON Body) | Yes | 90% | -| DigitalOcean | No | Bearer Token (Personal Access Token) | Yes | 95% | -| AI | Yes | oauth2 | No | 70% | -| GPT-4 | No | API Key (Bearer Token) | Yes | 95% | - ---- - -## Integration Details - -### 1. Social - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 2. Facebook Lead Ads - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a Meta Developer App setup. You must obtain a Long-Lived Page Access Token or a System User Token with 'leads_retrieval', 'pages_manage_metadata', and 'pages_show_list' permissions. App Review is required for live production data. - -**Key Gotchas**: -- The webhook payload only provides a Lead ID; a second API call is required to fetch the actual field data. -- Webhook setup requires a 'GET' verification handshake (hub.challenge) before Meta will send 'POST' data. -- Lead data is purged from Meta's servers after 90 days. - -**Complexity Score**: 7/10 → complex - -**Estimated Hours**: 16 - ---- - -### 3. LinkedIn Lead Gen Forms - -**Native n8n Node**: Yes - `n8n-nodes-base.linkedIn` - -**Authentication**: Requires a LinkedIn Developer App with the 'Marketing Developer Platform' product enabled. Users must have 'Lead Gen Programmatic Access' and 'r_ads_leadgen_automation' scopes. - -**Key Gotchas**: -- Lead data is only retrievable for 90 days; after this period, the API will return a 404 or empty response. -- The 'Lead Gen Programmatic Access' permission is not granted by default and requires a manual application/approval process within the LinkedIn Developer Portal. -- The LinkedIn Trigger node in n8n requires a valid SSL certificate and a publicly accessible URL to receive webhook notifications. - -**Complexity Score**: 5/10 → intermediate - -**Estimated Hours**: 6 - ---- - -### 4. Ads - -**Native n8n Node**: Yes - `n8n-nodes-base.facebookAds` - -**Authentication**: oauth2 - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 4/10 → moderate - -**Estimated Hours**: 8 - ---- - -### 5. Google Ads - -**Native n8n Node**: Yes - `n8n-nodes-base.googleAds` - -**Authentication**: oauth2 - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 4/10 → moderate - -**Estimated Hours**: 8 - ---- - -### 6. HubSpot - -**Native n8n Node**: Yes - `n8n-nodes-base.hubspot` - -**Authentication**: oauth2 - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 3/10 → moderate - -**Estimated Hours**: 8 - ---- - -### 7. Communication - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a signed HMAC-SHA256 string for the Authorization header using the Access Key, or a Bearer token via Azure Active Directory (Service Principal). - -**Key Gotchas**: -- HMAC header signing is difficult to implement directly in the HTTP Request node and usually requires a preceding Code node. -- Webhooks are managed via Azure Event Grid, not directly through the Communication Services API. -- SMS functionality requires pre-registration of toll-free numbers or short codes. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 16 - ---- - -### 8. Slack - -**Native n8n Node**: Yes - `n8n-nodes-base.slack` - -**Authentication**: oauth2 - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 2/10 → standard - -**Estimated Hours**: 4 - ---- - -### 9. Hosting - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is performed by passing an 'authToken' inside the JSON request body for most POST operations, rather than using standard HTTP headers like Bearer or Basic auth. - -**Key Gotchas**: -- Authentication token must be included in the request body, making standard n8n 'Header' credentials insufficient for simple setup. -- The API uses a specific 'owner' or 'accountId' context that must be explicitly defined in the payload. -- Response data is often deeply nested within a 'value' object, requiring complex expressions in n8n. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 14 - ---- - -### 10. DigitalOcean - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Users must generate a Personal Access Token (PAT) from the DigitalOcean Control Panel under API > Tokens/Keys. This token is passed in the 'Authorization' header as 'Bearer '. - -**Key Gotchas**: -- Pagination uses a 'links' object in the JSON response, requiring manual loop logic in n8n to fetch all records. -- Resource creation (like Droplets) is asynchronous; the API returns an 'Action' ID that must be polled to verify the resource is fully 'active'. -- Destructive actions (like deleting a Droplet) return a 204 No Content, which n8n's HTTP node must be configured to handle without erroring. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 11. AI - -**Native n8n Node**: Yes - `n8n-nodes-base.gmail` - -**Authentication**: oauth2 - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 2/10 → standard - -**Estimated Hours**: 4 - ---- - -### 12. GPT-4 - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires an OpenAI API Key. In n8n, use 'Header Auth' with Name: 'Authorization' and Value: 'Bearer YOUR_API_KEY'. - -**Key Gotchas**: -- Context window limits: Exceeding token counts will result in 400 Bad Request errors. -- Timeouts: GPT-4 responses can be slow; the HTTP Request node timeout may need to be increased beyond the default. -- JSON Mode: If requesting JSON output, the prompt must explicitly contain the word 'json' to avoid API errors. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -## Complexity Analysis - -### Overall Score: 4.8/10 → moderate - -**Total Estimated Hours**: 132 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 132 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-appointment-booking-and-grooming-reminder-system-2026-01-12.md b/technical-research/proactive-appointment-booking-and-grooming-reminder-system-2026-01-12.md deleted file mode 100644 index 402d2d1..0000000 --- a/technical-research/proactive-appointment-booking-and-grooming-reminder-system-2026-01-12.md +++ /dev/null @@ -1,97 +0,0 @@ -# Integration Research: Appointment Booking and Grooming Reminder System - -**Client**: Fluffy Paws Pet Spa -**Business Process**: Appointment Booking and Grooming Reminder System -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Scheduling/CRM | Yes | OAuth2 | Yes | 100% | -| Social Media | No | API Key & OAuth2 | Yes | 95% | -| Reviews | No | API Key | Yes | 95% | - ---- - -## Integration Details - -### 1. Scheduling/CRM - -**Native n8n Node**: Yes - `HubSpot` - -**Authentication**: Requires creating a Developer App or Private App in the HubSpot portal to obtain a Client ID and Client Secret (for OAuth2) or a Private App Access Token. Scopes must be manually selected to match the required operations (e.g., crm.objects.contacts.read). - -**Key Gotchas**: -- HubSpot only allows one webhook URL per developer app. If multiple n8n workflows use the same app for triggers, they will conflict. Workaround: Use separate apps or a single 'router' workflow. -- The legacy 'Developer API Key' was deprecated in 2022; all new integrations must use Private Apps or OAuth2. -- The CRM Search API has a stricter secondary rate limit of 5 requests per second per token. -- Scopes are granular; missing a specific scope (like 'crm.objects.deals.read') will cause 403 Forbidden errors even if the connection is successful. - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 10 - ---- - -### 2. Social Media - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Integration typically utilizes a 'Unified Social Media API' provider (like Ayrshare or Upload-Post). Users must create an account on the provider's portal to get an API Key, then connect individual social accounts (Facebook, X, LinkedIn) via the provider's OAuth flow to grant posting permissions. - -**Key Gotchas**: -- Tagging/Mentions: Most unified APIs require platform-specific internal IDs for tagging rather than simple @usernames. -- Media Hosting: Images and videos must often be provided as publicly accessible URLs; local files must be converted to binary and uploaded via multipart/form-data. -- Account Requirements: Instagram and Facebook integrations strictly require 'Business' or 'Creator' accounts linked to a verified Facebook Page. -- Permission Scopes: Some providers request broad permissions during OAuth which can be a security concern for enterprise clients. - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 8 - ---- - -### 3. Reviews - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a Store ID (sometimes called url_key) and an API Key (Private or Public). These are found in the REVIEWS.io dashboard under Integrations -> API. Note that the Private API Key is required to access sensitive data like reviewer email addresses. - -**Key Gotchas**: -- API access is exclusively available on the 'Plus' plan (starting at ~$499/month), which may be a barrier for smaller users. -- Public API keys have strict limits on review submission (e.g., 3 reviews per IP per 30 mins), which are only lifted when using the Private API key. -- The platform was formerly known as Reviews.co.uk, so some older documentation or forum posts may use the old domain. - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 6 - ---- - -## Complexity Analysis - -### Overall Score: 4.3/10 → moderate - -**Total Estimated Hours**: 24 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 24 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-appointment-scheduling-2026-01-21.md b/technical-research/proactive-appointment-scheduling-2026-01-21.md deleted file mode 100644 index 9c437f6..0000000 --- a/technical-research/proactive-appointment-scheduling-2026-01-21.md +++ /dev/null @@ -1,73 +0,0 @@ -# Integration Research: Appointment Scheduling - -**Client**: Test client -**Business Process**: Appointment Scheduling -**Research Date**: 2026-01-21 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Google/Outlook | Yes | oauth2 | No | 70% | -| Manual Entry | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. Google/Outlook - -**Native n8n Node**: Yes - `n8n-nodes-base.microsoftOutlook` - -**Authentication**: oauth2 - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 3/10 → moderate - -**Estimated Hours**: 8 - ---- - -### 2. Manual Entry - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -## Complexity Analysis - -### Overall Score: 4/10 → standard - -**Total Estimated Hours**: 32 - ---- - -## Effort Recommendation - -**Tier**: standard -**Base Hours**: 32 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-appointment-scheduling-2026-01-25.md b/technical-research/proactive-appointment-scheduling-2026-01-25.md deleted file mode 100644 index 6c5122f..0000000 --- a/technical-research/proactive-appointment-scheduling-2026-01-25.md +++ /dev/null @@ -1,57 +0,0 @@ -# Integration Research: Appointment Scheduling - -**Client**: [Evaluation] AI translation platform (B2B SaaS) -**Business Process**: Appointment Scheduling -**Research Date**: 2026-01-25 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Human SDR team | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. Human SDR team - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → moderate - -**Estimated Hours**: 12 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 12 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 12 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-appointment-scheduling-2026-01-27.md b/technical-research/proactive-appointment-scheduling-2026-01-27.md deleted file mode 100644 index dfbc3c3..0000000 --- a/technical-research/proactive-appointment-scheduling-2026-01-27.md +++ /dev/null @@ -1,59 +0,0 @@ -# Integration Research: Appointment Scheduling - -**Client**: [Evaluation] AI translation platform (B2B SaaS) -**Business Process**: Appointment Scheduling -**Research Date**: 2026-01-27 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Human SDR team | No | API Key / OAuth2 (via CRM/Slack) | Yes | 90% | - ---- - -## Integration Details - -### 1. Human SDR team - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Since 'Human SDR team' is a functional role rather than a standalone software product, integration is typically achieved by connecting n8n to the communication tools (Slack, Microsoft Teams) or CRM platforms (Salesforce, HubSpot) used by the human team. Authentication requires API keys or OAuth2 credentials for these specific platforms. - -**Key Gotchas**: -- Human latency: Workflows must account for non-instant response times (hours or days). -- State management: Using the 'Wait' node in n8n requires a persistent execution environment to avoid losing the workflow state during long pauses. -- Data Silos: If the human team performs actions outside the CRM, the automated workflow may lose track of the lead status. - -**Complexity Score**: 5/10 → moderate - -**Estimated Hours**: 12 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 12 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 12 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-candidate-outbound-outreach-and-lead-management-2025-12-31.md b/technical-research/proactive-candidate-outbound-outreach-and-lead-management-2025-12-31.md deleted file mode 100644 index 5175bc7..0000000 --- a/technical-research/proactive-candidate-outbound-outreach-and-lead-management-2025-12-31.md +++ /dev/null @@ -1,215 +0,0 @@ -# Integration Research: Candidate Outbound Outreach and Lead Management - -**Client**: Apex Talent Solutions -**Business Process**: Candidate Outbound Outreach and Lead Management -**Research Date**: 2025-12-31 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Salesforce | Yes | oauth2 | No | 70% | -| Phone | Yes | api_key | Yes | 95% | -| Data Enrichment | No | API Key | Yes | 90% | -| Lusha | No | API Key | Yes | 95% | -| Sourcing | No | API Key (Basic Auth) | Yes | 80% | -| LinkedIn Recruiter | No | OAuth 2.0 (Authorization Code Flow) | Yes | 90% | -| Indeed | No | OAuth 2.0 | Yes | 90% | -| Tracking | No | API Key | Yes | 85% | -| Outlook | Yes | oauth2 | No | 70% | -| Calendly | Yes | api_key | No | 70% | - ---- - -## Integration Details - -### 1. Salesforce - -**Native n8n Node**: Yes - `n8n-nodes-base.salesforce` - -**Authentication**: oauth2 - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 4/10 → moderate - -**Estimated Hours**: 8 - ---- - -### 2. Phone - -**Native n8n Node**: Yes - `n8n-nodes-base.twilio` - -**Authentication**: Requires Twilio Account SID and Auth Token. For production, API Keys (SID/Secret) are recommended over the primary Auth Token. - -**Key Gotchas**: -- Phone numbers must be provided in E.164 format (e.g., +1234567890) or the API will return an error. -- US-based SMS messaging requires A2P 10DLC registration to prevent carrier filtering and high failure rates. -- Trial accounts can only send messages to verified 'To' numbers and include a mandatory Twilio branding prefix. - -**Complexity Score**: 3/10 → moderate - -**Estimated Hours**: 8 - ---- - -### 3. Data Enrichment - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires an API Key passed in the request header as 'X-Api-Key'. This is easily configured in n8n using the 'Header Auth' credential type. - -**Key Gotchas**: -- Credits are billed per successful match, which can lead to unexpected costs if search parameters are too broad. -- The API is highly sensitive to input formatting; missing a 'profile' prefix on social URLs can result in 404s. -- Response payloads are deeply nested and large, often requiring a 'Set' node or 'Code' node to flatten data for downstream use. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 4. Lusha - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled by passing an 'api_key' header in the HTTP Request node. - -**Key Gotchas**: -- Credits are deducted for every successful data retrieval, which can lead to unexpected costs if loops are not managed. -- The API returns a 404 or empty response if no data is found, requiring robust error handling in n8n. -- Strict rate limiting on lower-tier plans can cause workflow timeouts. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 6 - ---- - -### 5. Sourcing - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Uses HTTP Basic Authentication. The API key is provided as the username, and the password field is left blank. - -**Key Gotchas**: -- The API is primarily focused on technical talent (GitHub/Twitter profiles), so data coverage for non-technical roles is limited. -- Documentation is minimal and lacks detailed error code descriptions. -- The platform has undergone acquisitions, leading to potential inconsistencies in API uptime and support. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 6. LinkedIn Recruiter - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a LinkedIn Developer account with approved access to the Talent Solutions API. Access is gated and typically requires a partnership agreement or specific enterprise seat. Scopes like 'r_ads_reporting' or 'r_compliance' are common, but Recruiter System Connect (RSC) requires specific provisioning. - -**Key Gotchas**: -- API access is not self-service; you must be an approved LinkedIn Talent Partner or have an enterprise-level Recruiter contract. -- The Recruiter System Connect (RSC) API has strict data synchronization and deletion requirements (GDPR compliance). -- LinkedIn's OAuth tokens for Talent APIs often have shorter lifespans or specific refresh requirements compared to standard social APIs. - -**Complexity Score**: 8/10 → complex - -**Estimated Hours**: 24 - ---- - -### 7. Indeed - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires OAuth 2.0 Authorization Code Grant. Developers must register an application in the Indeed Developer Portal to obtain a Client ID and Client Secret. Access to specific APIs (like Job Search or Employer APIs) often requires manual approval from Indeed. - -**Key Gotchas**: -- Strict approval process: Many API features are restricted to 'Partners' and require a business review before keys are activated. -- The Job Search API is highly restricted and often unavailable for general third-party tool integration without a specific partnership. -- OAuth implementation in n8n requires manual configuration of the Authorization and Token URLs which can be finicky with Indeed's specific redirect requirements. - -**Complexity Score**: 7/10 → complex - -**Estimated Hours**: 20 - ---- - -### 8. Tracking - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires an API Key to be passed in the 'X-Authorization' header for all REST API requests. - -**Key Gotchas**: -- The API requires specific courier 'slugs' which are not always intuitive and must be fetched via the Couriers endpoint first. -- Webhook responses expect a 200 OK status immediately or the service may retry aggressively. -- Data returned for international shipments can be inconsistent depending on the origin carrier's data sharing. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 9. Outlook - -**Native n8n Node**: Yes - `n8n-nodes-base.microsoftOutlook` - -**Authentication**: oauth2 - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 3/10 → moderate - -**Estimated Hours**: 8 - ---- - -### 10. Calendly - -**Native n8n Node**: Yes - `n8n-nodes-base.calendly` - -**Authentication**: api_key - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 2/10 → standard - -**Estimated Hours**: 4 - ---- - -## Complexity Analysis - -### Overall Score: 5.1/10 → moderate - -**Total Estimated Hours**: 114 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 114 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-candidate-sourcing-and-placement-workflow-2026-01-12.md b/technical-research/proactive-candidate-sourcing-and-placement-workflow-2026-01-12.md deleted file mode 100644 index 594c2c6..0000000 --- a/technical-research/proactive-candidate-sourcing-and-placement-workflow-2026-01-12.md +++ /dev/null @@ -1,57 +0,0 @@ -# Integration Research: Candidate Sourcing and Placement Workflow - -**Client**: TalentBridge Staffing Solutions -**Business Process**: Candidate Sourcing and Placement Workflow -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| e-Signature | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. e-Signature - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 24 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 24 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-custom-cake-order-management-2026-01-12.md b/technical-research/proactive-custom-cake-order-management-2026-01-12.md deleted file mode 100644 index 70e7319..0000000 --- a/technical-research/proactive-custom-cake-order-management-2026-01-12.md +++ /dev/null @@ -1,57 +0,0 @@ -# Integration Research: Custom Cake Order Management - -**Client**: Mom's Bakery -**Business Process**: Custom Cake Order Management -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Notes | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. Notes - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 24 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 24 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-custom-order-processing-and-production-scheduling-2026-01-12.md b/technical-research/proactive-custom-order-processing-and-production-scheduling-2026-01-12.md deleted file mode 100644 index 5644516..0000000 --- a/technical-research/proactive-custom-order-processing-and-production-scheduling-2026-01-12.md +++ /dev/null @@ -1,129 +0,0 @@ -# Integration Research: Custom Order Processing and Production Scheduling - -**Client**: Precision Components Inc. -**Business Process**: Custom Order Processing and Production Scheduling -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Engineering drawings | No | OAuth2 | Yes | 90% | -| QMS | No | API Key | Yes | 90% | -| Shipping labels | No | API Key | Yes | 95% | -| Document management | No | unknown | No | 70% | -| Reporting | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. Engineering drawings - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating an application in the Procore Developer Portal to obtain a Client ID and Client Secret. Supports both Authorization Code Grant (for user-context) and Client Credentials Grant (for service-to-service). Access tokens typically expire in 15 minutes and require refresh tokens. - -**Key Gotchas**: -- All files uploaded to the Drawings tool must be in PDF format; other image or CAD formats are not supported for direct upload to this specific tool. -- Rate limits are strictly hourly and reset at the top of the hour, which can cause issues for high-volume batch migrations if not handled with retries. -- Drawing sets can be created independently of uploads via the API, unlike the Procore UI which forces simultaneous creation. -- Binary data handling in n8n is required for uploading drawing files, necessitating the use of the 'Move Binary Data' or 'HTTP Request' node with multipart/form-data. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 2. QMS - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires generating a 'Developer API token' within the Admin Settings of the platform. For Qualio, this is found under Admin Settings > Developer API tokens. - -**Key Gotchas**: -- API access for production accounts often requires a specific pricing plan (Enterprise/Growth). -- Data models in QMS platforms like AlisQI are often user-defined, meaning the API structure for 'analysis sets' is dynamic and requires fetching the set definition first. -- Rate limits are strictly enforced with 429 status codes; headers like X-RateLimit-Remaining should be monitored. - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 8 - ---- - -### 3. Shipping labels - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is typically handled via a 'Shippo-Token' or 'API Key' provided in the Authorization header (e.g., 'Authorization: ShippoToken '). Keys are generated in the developer dashboard. - -**Key Gotchas**: -- Address validation is often a separate API call and may incur additional per-request costs depending on the plan. -- Carrier accounts (UPS, FedEx, DHL) must be manually connected and authenticated within the provider's dashboard before the API can return rates for them. -- Label generation can be asynchronous for certain carriers; workflows should be designed to handle 'queued' statuses or use webhooks for completion notifications. -- Refunds for labels are subject to carrier-specific windows (usually 14-30 days) and must be initiated before the label is scanned. - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 8 - ---- - -### 4. Document management - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 5. Reporting - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -## Complexity Analysis - -### Overall Score: 5.2/10 → moderate - -**Total Estimated Hours**: 76 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 76 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-customer-inquiry-handling-2026-01-12.md b/technical-research/proactive-customer-inquiry-handling-2026-01-12.md deleted file mode 100644 index eb6d7bf..0000000 --- a/technical-research/proactive-customer-inquiry-handling-2026-01-12.md +++ /dev/null @@ -1,59 +0,0 @@ -# Integration Research: Customer Inquiry Handling - -**Client**: Secretive Corp -**Business Process**: Customer Inquiry Handling -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Enterprise Grade | No | API Key | Yes | 95% | - ---- - -## Integration Details - -### 1. Enterprise Grade - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a Secret Key (prefixed with 'sk_') generated in the WorkOS Dashboard. Authentication is performed via Bearer token in the Authorization header. - -**Key Gotchas**: -- SCIM (Directory Sync) behavior varies significantly between identity providers (e.g., Okta vs. Azure AD), requiring conditional logic in workflows. -- SSO integration requires domain verification and certificate management which can be a bottleneck for client onboarding. -- The community node 'n8n-nodes-workos' is maintained by Velocity-BPA and must be installed manually in self-hosted instances. - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 8 - ---- - -## Complexity Analysis - -### Overall Score: 4/10 → standard - -**Total Estimated Hours**: 8 - ---- - -## Effort Recommendation - -**Tier**: standard -**Base Hours**: 8 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-customer-onboarding-and-support-2026-01-12.md b/technical-research/proactive-customer-onboarding-and-support-2026-01-12.md deleted file mode 100644 index 64d1e1a..0000000 --- a/technical-research/proactive-customer-onboarding-and-support-2026-01-12.md +++ /dev/null @@ -1,91 +0,0 @@ -# Integration Research: Customer Onboarding and Support - -**Client**: StartupZero Inc -**Business Process**: Customer Onboarding and Support -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Frontend | No | unknown | No | 70% | -| Backend | No | unknown | Yes | 70% | -| Auth | No | API Key | Yes | 95% | - ---- - -## Integration Details - -### 1. Frontend - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 2. Backend - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication requires a pair of an API access key (20 characters) and a secret key (40 characters). Every request must include an 'Authorization' header containing an HMAC signature derived from the secret key and a canonicalized string of the request. Additionally, a 'Date' or 'X-BackendAI-Date' header is required, and the request will be rejected if the client's clock deviates from the server's clock by more than 15 minutes. - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 3. Auth - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating an account at theauthapi.com, setting up a 'Project', and generating a 'Developer Access Key' from the dashboard. This key is used for management operations, while the service itself generates API keys for your end-users. - -**Key Gotchas**: -- The 'Developer Access Key' is distinct from the API keys you manage for your users; mixing them up will cause 401 errors. -- Rate limits are tiered; sustained bursts can trigger 429 errors even if the total minute count is low. -- Webhook endpoints must be manually registered in the dashboard for each project to receive lifecycle events. - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 8 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 56 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 56 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-customer-support-2026-01-25.md b/technical-research/proactive-customer-support-2026-01-25.md deleted file mode 100644 index fe81820..0000000 --- a/technical-research/proactive-customer-support-2026-01-25.md +++ /dev/null @@ -1,89 +0,0 @@ -# Integration Research: Customer Support - -**Client**: [Evaluation] Modern banking platform / fintech -**Business Process**: Customer Support -**Research Date**: 2026-01-25 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Banking platform | No | unknown | No | 70% | -| Customer support system | No | unknown | No | 70% | -| SMS system | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. Banking platform - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 2. Customer support system - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 3. SMS system - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → moderate - -**Estimated Hours**: 12 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 36 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 36 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-customer-support-2026-01-27.md b/technical-research/proactive-customer-support-2026-01-27.md deleted file mode 100644 index f426682..0000000 --- a/technical-research/proactive-customer-support-2026-01-27.md +++ /dev/null @@ -1,92 +0,0 @@ -# Integration Research: Customer Support - -**Client**: [Evaluation] Modern banking platform / fintech -**Business Process**: Customer Support -**Research Date**: 2026-01-27 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Banking platform | No | unknown | No | 70% | -| Customer support system | No | API Key | Yes | 85% | -| SMS system | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. Banking platform - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 2. Customer support system - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires generating an API Access Token (Bearer Token) within the system's dashboard (typically under Settings > API Tokens). For self-hosted versions like UVdesk, the API bundle must be explicitly enabled. - -**Key Gotchas**: -- The API bundle is often a separate requirement for self-hosted/open-source installations. -- Base URLs vary significantly between SaaS (e.g., {domain}.uvdesk.com/en/api/) and self-hosted instances. -- Pagination uses 'page' and 'limit' query parameters rather than cursor-based navigation. -- File attachments in ticket threads require multipart/form-data formatting in HTTP requests. - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 8 - ---- - -### 3. SMS system - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -## Complexity Analysis - -### Overall Score: 4.7/10 → moderate - -**Total Estimated Hours**: 56 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 56 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-customer-support-2026-01-28.md b/technical-research/proactive-customer-support-2026-01-28.md deleted file mode 100644 index eeda255..0000000 --- a/technical-research/proactive-customer-support-2026-01-28.md +++ /dev/null @@ -1,98 +0,0 @@ -# Integration Research: Customer Support - -**Client**: [Evaluation] online fashion retailer -**Business Process**: Customer Support -**Research Date**: 2026-01-28 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Gorgias | No | API Key | Yes | 95% | -| ShipStation | No | Basic Auth | Yes | 100% | -| Klaviyo | No | API Key / OAuth2 | Yes | 95% | - ---- - -## Integration Details - -### 1. Gorgias - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires the user's Gorgias email address and an API Key generated under Settings -> REST API. For public apps, OAuth2 is supported but requires app registration in the Gorgias Partner portal. - -**Key Gotchas**: -- Leaky Bucket Algorithm: Requests are processed at a steady rate; sudden bursts may trigger 429 errors even if the total limit isn't hit. -- Ticket Creation Requirement: A ticket cannot be created without a 'messages' object in the initial POST request. -- Auto-Reply Suppression: Gorgias auto-reply rules do not trigger for tickets created via API if the channel is explicitly set to 'api'. -- Rate Limit Headers: Developers should monitor 'X-Gorgias-Account-Api-Call-Limit' and 'Retry-After' headers to handle pacing dynamically. - -**Complexity Score**: 5/10 → moderate - -**Estimated Hours**: 10 - ---- - -### 2. ShipStation - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires an API Key and API Secret generated from the ShipStation dashboard under Settings > Account > API Settings. The API Key is used as the username and the API Secret as the password for Basic Authentication. - -**Key Gotchas**: -- As of May 28, 2025, API access is restricted to the 'Gold Plan' ($99/mo) and above; lower tiers no longer have API access. -- API keys expire periodically and must be manually rotated in the dashboard to prevent workflow failure. -- The API uses PST/PDT timezone for all DateTime values (ISO 8601 format). -- Rate limits are enforced per set of API credentials, not per account. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 3. Klaviyo - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a Private API Key passed in the header as 'Authorization: Klaviyo-API-Key '. OAuth2 is also supported for third-party applications. Additionally, all requests to the new API must include a 'revision' header (e.g., 'revision: 2024-10-15'). - -**Key Gotchas**: -- Legacy v1/v2 APIs are deprecated; new integrations must use the v2024-xx-xx JSON:API compliant endpoints. -- The API requires a mandatory 'revision' header for every request which can be easily missed in n8n HTTP nodes. -- Payloads must follow the JSON:API standard, requiring deeply nested 'data', 'type', and 'attributes' objects. -- Rate limits are strictly enforced per endpoint tier (XS to XL), requiring careful error handling for 429 status codes. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -## Complexity Analysis - -### Overall Score: 5.7/10 → moderate - -**Total Estimated Hours**: 34 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 34 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-customer-support-ticket-routing-2026-01-12.md b/technical-research/proactive-customer-support-ticket-routing-2026-01-12.md deleted file mode 100644 index 69c58c3..0000000 --- a/technical-research/proactive-customer-support-ticket-routing-2026-01-12.md +++ /dev/null @@ -1,143 +0,0 @@ -# Integration Research: Customer Support Ticket Routing - -**Client**: MegaScale Global Enterprises -**Business Process**: Customer Support Ticket Routing -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Ticketing | No | API Key | Yes | 90% | -| Chat | Yes | oauth2 | Yes | 70% | -| ERP | No | OAuth2 | Yes | 90% | -| Knowledge Base | No | API Key / OAuth2 | Yes | 95% | -| Translation | No | unknown | No | 70% | -| Analytics | Yes | oauth2 | No | 70% | - ---- - -## Integration Details - -### 1. Ticketing - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication requires an API Key obtained from the 'Profile' page in the Ticketing.events dashboard. This key must be included in the 'X-API-Key' header. Additionally, all requests must include an 'X-Client-Version' header (e.g., '3.0.0') to ensure compatibility. - -**Key Gotchas**: -- Every request MUST include the 'X-Client-Version' header; omitting it results in a 412 Precondition Failed error. -- API keys are tied to the specific user's permissions unless a dedicated 'Integration Key' is requested from a system administrator. -- The platform is specifically branded as 'TickeTing' (with a capital T), which can lead to confusion when searching for generic 'ticketing' documentation. - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 8 - ---- - -### 2. Chat - -**Native n8n Node**: Yes - `n8n-nodes-base.slack` - -**Authentication**: The Google Chat API supports two primary authentication methods: OAuth 2.0 for user-level authentication (acting on behalf of a user) and Service Accounts for app-level authentication (acting as the Chat app itself). Domain-wide delegation can be used with service accounts to impersonate users, which requires Google Workspace administrator approval. Key authorization scopes include 'https://www.googleapis.com/auth/chat.messages', 'https://www.googleapis.com/auth/chat.spaces', and 'https://www.googleapis.com/auth/chat.bot' for app-only interactions. - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 2/10 → standard - -**Estimated Hours**: 4 - ---- - -### 3. ERP - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating an application in the Tiny ERP Developer Console to obtain a Client ID and Client Secret. Supports OAuth2 (v3) and API Key (v2). - -**Key Gotchas**: -- API access is only available on the 'Crescer' plan and above; lower-tier plans cannot be integrated. -- Rate limits are strictly enforced based on the user's plan and can be triggered during high-volume data synchronizations. -- The community node (n8n-nodes-tiny-erp-v3) is the primary way to integrate without manual HTTP requests. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 4. Knowledge Base - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled via Personal Access Tokens (API Keys) or OAuth2. Users must create an application or generate a token within the LiveChat/Text Developer Console (developers.livechat.com). - -**Key Gotchas**: -- Articles are categorized by visibility (public, internal, draft); internal articles require specific scopes to access. -- The API uses a limit/offset pagination model which must be handled manually in n8n loops. -- KnowledgeBase is part of the 'Text' ecosystem (LiveChat), so credentials are often managed through the LiveChat developer portal even for standalone use. - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 6 - ---- - -### 5. Translation - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 6. Analytics - -**Native n8n Node**: Yes - `n8n-nodes-base.googleAnalytics` - -**Authentication**: oauth2 - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 3/10 → moderate - -**Estimated Hours**: 8 - ---- - -## Complexity Analysis - -### Overall Score: 4.2/10 → moderate - -**Total Estimated Hours**: 62 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 62 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-11.md b/technical-research/proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-11.md deleted file mode 100644 index a1b033b..0000000 --- a/technical-research/proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-11.md +++ /dev/null @@ -1,116 +0,0 @@ -# Integration Research: Emergency Call Triage and Maintenance Agreement Renewal - -**Client**: ComfortZone HVAC Solutions -**Business Process**: Emergency Call Triage and Maintenance Agreement Renewal -**Research Date**: 2026-01-11 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Field Service/CRM/Inventory | Yes | OAuth2 / Private App Access Token | Yes | 100% | -| Accounting | No | OAuth2 | Yes | 90% | -| GPS/Fleet | No | API Key | Yes | 90% | -| Financing | No | API Key | Yes | 90% | - ---- - -## Integration Details - -### 1. Field Service/CRM/Inventory - -**Native n8n Node**: Yes - `n8n-nodes-base.hubspot` - -**Authentication**: Requires creating a 'Private App' in the HubSpot Settings > Integrations portal. Users must manually select 'Scopes' (permissions) for each object type (e.g., crm.objects.contacts, tickets, e-commerce). - -**Key Gotchas**: -- The native 'HubSpot Trigger' node can experience scope mismatch errors; many developers recommend using a standard n8n 'Webhook' node triggered by a HubSpot 'Workflow' for better reliability. -- Associations between objects (e.g., linking a Ticket to a specific Inventory Product) often require a secondary 'Association' API call if not handled by the specific node operation. -- Rate limits are calculated in 10-second bursts; high-frequency loops in n8n may require a 'Wait' node to avoid 429 errors. -- Inventory tracking via 'Products' is standard, but advanced inventory logic often requires 'Custom Objects' which are only available on Enterprise plans. - -**Complexity Score**: 5/10 → moderate - -**Estimated Hours**: 10 - ---- - -### 2. Accounting - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating a developer account at the Sage Developer Portal to obtain a Client ID and Client Secret. Users must also configure a Redirect URI (e.g., for n8n) and may need an 'ocp-apim-subscription-key' depending on the specific regional API gateway used. - -**Key Gotchas**: -- Regional API Endpoints: The API base URL varies significantly by region (e.g., /uki/ for UK/Ireland, /us/ for USA). -- X-Business Header: If a user has access to multiple businesses, the 'X-Business' header (Business GUID) is mandatory for all requests. -- OAuth2 Refresh: n8n users often report issues with token expiration; ensure the 'Access Token' and 'Refresh Token' are handled correctly in the HTTP Request node credentials. -- Sandbox vs Production: Sandbox environments have lower rate limits and require separate app approval for production keys. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 8 - ---- - -### 3. GPS/Fleet - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled by passing an 'apikey' parameter directly in the URL query string for all requests. - -**Key Gotchas**: -- The API key is passed as a query parameter (apikey=...), which may be logged in server logs or browser history. -- Time formats for parameters like 'start_ts' must strictly follow the 'yyyyMMddhhmmss' format. -- Webhooks (inbound) are supported but typically require configuration within the GPS Fleet / Fleetwaro portal interface. - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 8 - ---- - -### 4. Financing - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled via a static API key provided by the Forward Financing partner team. The key must be included in the HTTP header as 'api_key'. All requests must be made over HTTPS; HTTP requests will return a 403 Forbidden error. - -**Key Gotchas**: -- Strict HTTPS requirement: Any request sent over HTTP will be rejected with a 403 error due to sensitive personal data handling. -- Attachment limitations: Only one file can be uploaded per request. For multiple documents, separate POST requests must be made for each file. -- Binary Data Handling: n8n users must use the 'Binary' property in the HTTP Request node to send files as raw binary, or Base64 encode them and set the 'encoded=true' query parameter. -- Rate Limit: The limit is quite low (1 req/sec), requiring the use of n8n's 'Wait' node or 'Split In Batches' for bulk lead submissions. - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 12 - ---- - -## Complexity Analysis - -### Overall Score: 4.5/10 → moderate - -**Total Estimated Hours**: 38 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 38 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-12.md b/technical-research/proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-12.md deleted file mode 100644 index 8da3f6f..0000000 --- a/technical-research/proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-12.md +++ /dev/null @@ -1,59 +0,0 @@ -# Integration Research: Emergency Call Triage and Maintenance Agreement Renewal - -**Client**: ComfortZone HVAC Solutions -**Business Process**: Emergency Call Triage and Maintenance Agreement Renewal -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Field Service/CRM | Yes | OAuth2 | Yes | 100% | - ---- - -## Integration Details - -### 1. Field Service/CRM - -**Native n8n Node**: Yes - `n8n-nodes-base.hubspot` - -**Authentication**: Requires creating a 'Public App' in the HubSpot Developer Portal to obtain a Client ID and Client Secret. The n8n OAuth2 callback URL must be added to the app's redirect URLs. Alternatively, 'Private Apps' can be used for simpler Access Token authentication. - -**Key Gotchas**: -- The HubSpot Trigger node often requires a Public App (OAuth2) rather than a Private App to function correctly for all event types. -- Object associations (e.g., linking a Ticket to a Company) require IDs to be passed as an array; passing a single string often triggers an 'is not iterable' error. -- Rate limits are enforced in 10-second bursts, which can cause 429 errors in high-concurrency workflows if not handled with n8n's 'Wait' node or retry logic. - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 6 - ---- - -## Complexity Analysis - -### Overall Score: 3/10 → standard - -**Total Estimated Hours**: 6 - ---- - -## Effort Recommendation - -**Tier**: standard -**Base Hours**: 6 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-13.md b/technical-research/proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-13.md deleted file mode 100644 index ed36b3f..0000000 --- a/technical-research/proactive-emergency-call-triage-and-maintenance-agreement-renewal-2026-01-13.md +++ /dev/null @@ -1,59 +0,0 @@ -# Integration Research: Emergency Call Triage and Maintenance Agreement Renewal - -**Client**: ComfortZone HVAC Solutions -**Business Process**: Emergency Call Triage and Maintenance Agreement Renewal -**Research Date**: 2026-01-13 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| FSM/CRM | Yes | OAuth2 | Yes | 100% | - ---- - -## Integration Details - -### 1. FSM/CRM - -**Native n8n Node**: Yes - `HubSpot` - -**Authentication**: Requires creating a Public App in the HubSpot Developer Portal to obtain a Client ID and Client Secret. The Redirect URL from n8n must be configured exactly in the HubSpot app settings. Alternatively, Private App Access Tokens can be used for internal integrations, though the native HubSpot Trigger node often requires OAuth2 for full functionality. - -**Key Gotchas**: -- The Search API is limited to 4 requests per second, which is significantly lower than the general API limit and can cause bottlenecks in high-volume workflows. -- Lifecycle Stage updates are restrictive; you cannot move a contact backwards in the lifecycle (e.g., from Customer to Lead) without first clearing the property value in a separate API call. -- The HubSpot Trigger node (polling) requires a Public App (OAuth2) setup to function correctly; Private Apps are easier to set up but are primarily intended for actions rather than triggers. - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 10 - ---- - -## Complexity Analysis - -### Overall Score: 4/10 → standard - -**Total Estimated Hours**: 10 - ---- - -## Effort Recommendation - -**Tier**: standard -**Base Hours**: 10 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-executive-email-management-2025-12-31.md b/technical-research/proactive-executive-email-management-2025-12-31.md deleted file mode 100644 index 0c35e2d..0000000 --- a/technical-research/proactive-executive-email-management-2025-12-31.md +++ /dev/null @@ -1,57 +0,0 @@ -# Integration Research: Executive Email Management - -**Client**: CEO -**Business Process**: Executive Email Management -**Research Date**: 2025-12-31 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Outlook/Gmail/Apple Mail | Yes | oauth2 | No | 70% | - ---- - -## Integration Details - -### 1. Outlook/Gmail/Apple Mail - -**Native n8n Node**: Yes - `n8n-nodes-base.gmail` - -**Authentication**: oauth2 - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 2/10 → standard - -**Estimated Hours**: 4 - ---- - -## Complexity Analysis - -### Overall Score: 2/10 → standard - -**Total Estimated Hours**: 4 - ---- - -## Effort Recommendation - -**Tier**: standard -**Base Hours**: 4 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-first-notice-of-loss-(fnol)-claims-intake-2026-01-12.md b/technical-research/proactive-first-notice-of-loss-(fnol)-claims-intake-2026-01-12.md deleted file mode 100644 index 9468495..0000000 --- a/technical-research/proactive-first-notice-of-loss-(fnol)-claims-intake-2026-01-12.md +++ /dev/null @@ -1,130 +0,0 @@ -# Integration Research: First Notice of Loss (FNOL) Claims Intake - -**Client**: Guardian Shield Insurance -**Business Process**: First Notice of Loss (FNOL) Claims Intake -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Claims Management | No | API Key | Yes | 90% | -| Policy Admin | No | API Key | Yes | 90% | -| Fraud Detection | No | API Key | Yes | 95% | -| Estimation | No | OAuth2 | Yes | 90% | -| IT Ticketing | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. Claims Management - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled via a Bearer Token (API Key) passed in the 'Authorization' header. Users must generate this token within their account settings (e.g., in Claimable or LogiClaim developer portals). - -**Key Gotchas**: -- Webhooks are often not self-service; for platforms like Claimable, you must contact support (help@claimable.com) to configure endpoints. -- Many claims management APIs (like Snapsheet or Guidewire) are enterprise-grade and may require specific 'App' approval or IP whitelisting. -- Data structures for insurance claims are highly nested, often requiring the 'Item Lists' or 'Code' node in n8n to flatten JSON responses. - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 10 - ---- - -### 2. Policy Admin - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Most modern Policy Administration Systems (PAS) like Boost Insurance or FintechOS require an API Key for Sandbox environments and OAuth2 for Production. Authentication often requires specific 'App' creation within a developer portal to generate client secrets. - -**Key Gotchas**: -- Highly complex nested JSON structures are standard for insurance objects (policies, risks, coverages). -- State-specific validation: APIs often reject requests if state-mandated fields or formatting (e.g., specific ZIP code patterns) are missing. -- Data residency requirements: Many PAS APIs require specific headers or endpoint routing to comply with regional insurance regulations (e.g., APRA in Australia or GDPR in EU). - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 16 - ---- - -### 3. Fraud Detection - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires an API Key from a fraud detection provider (most commonly IPQualityScore for n8n users). Authentication is typically handled via path parameters in the request URL (e.g., https://ipqualityscore.com/api/json/ip/[API_KEY]/[IP_ADDRESS]) or via an 'X-API-KEY' header for providers like SEON. - -**Key Gotchas**: -- The Free plan for popular providers like IPQualityScore has a strict daily limit (35 lookups) that is easily exhausted during workflow debugging. -- Community nodes (like 'n8n-nodes-greip') may require self-hosting n8n, as cloud support for community packages can be restricted depending on the plan. -- Fraud detection often requires separate API calls for different data types (IP, Email, Phone), which can increase the number of executions in a workflow. -- Registration for API keys is often blocked if the developer is using a VPN or Proxy during the signup process. - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 4 - ---- - -### 4. Estimation - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating an application in the Trimble Developer Portal to obtain a Client ID and Client Secret. Access is typically restricted to corporate domains; personal email addresses (Gmail, Outlook) are often ineligible for API credentials. - -**Key Gotchas**: -- Personal subscribers are generally not eligible for API access; a corporate license is required. -- The 'Estimation' product (formerly Maxwell Systems/Viewpoint) is often desktop-based, requiring the Trimble Connect cloud bridge for API interactions. -- API keys are not self-service for all modules and may require a manual 'Request for API Credentials' form submission to Trimble support. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 16 - ---- - -### 5. IT Ticketing - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -## Complexity Analysis - -### Overall Score: 5.2/10 → moderate - -**Total Estimated Hours**: 70 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 70 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-general-operational-cost-management-2025-12-31.md b/technical-research/proactive-general-operational-cost-management-2025-12-31.md deleted file mode 100644 index b3d6ff4..0000000 --- a/technical-research/proactive-general-operational-cost-management-2025-12-31.md +++ /dev/null @@ -1,109 +0,0 @@ -# Integration Research: General Operational Cost Management - -**Client**: Unknown Client -**Business Process**: General Operational Cost Management -**Research Date**: 2025-12-31 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Excel | Yes | oauth2 | No | 70% | -| Manual Spreadsheets | Yes | oauth2 | Yes | 95% | -| Outlook/Gmail | Yes | oauth2 | No | 70% | -| Legacy Accounting Software | No | Basic Auth or API Key with IP Whitelisting | No | 75% | - ---- - -## Integration Details - -### 1. Excel - -**Native n8n Node**: Yes - `n8n-nodes-base.microsoftExcel` - -**Authentication**: oauth2 - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 3/10 → moderate - -**Estimated Hours**: 8 - ---- - -### 2. Manual Spreadsheets - -**Native n8n Node**: Yes - `n8n-nodes-base.googleSheets` - -**Authentication**: Requires a Google Cloud Console project with the Google Sheets and Google Drive APIs enabled. Users must configure an OAuth consent screen and create credentials to obtain a Client ID and Client Secret. - -**Key Gotchas**: -- Rate limits are frequently hit when using the 'Split Out' node to process hundreds of rows individually; use batch operations where possible. -- The 'Google Sheets Trigger' node is polling-based (default 1 minute), not a real-time webhook, unless configured with a custom App Script. -- Data formatting issues often occur with dates and currencies if the column format in the sheet doesn't match the incoming JSON string format. - -**Complexity Score**: 2/10 → standard - -**Estimated Hours**: 4 - ---- - -### 3. Outlook/Gmail - -**Native n8n Node**: Yes - `n8n-nodes-base.gmail` - -**Authentication**: oauth2 - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 2/10 → standard - -**Estimated Hours**: 4 - ---- - -### 4. Legacy Accounting Software - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Most legacy systems utilize Basic Authentication (Base64 encoded credentials) or a static API Key passed in the header. Due to the 'legacy' nature, these often require a VPN or a static IP whitelist on the firewall to allow n8n to communicate with the on-premise or hosted server. - -**Key Gotchas**: -- Data is often returned in XML format requiring the n8n XML node for conversion. -- Lack of standard pagination (offset/limit) often requires manual looping logic in n8n. -- Database locks may occur if too many concurrent write requests are sent via the API. - -**Complexity Score**: 8/10 → complex - -**Estimated Hours**: 24 - ---- - -## Complexity Analysis - -### Overall Score: 3.8/10 → standard - -**Total Estimated Hours**: 40 - ---- - -## Effort Recommendation - -**Tier**: standard -**Base Hours**: 40 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-guest-reservation-and-check-in-management-2026-01-12.md b/technical-research/proactive-guest-reservation-and-check-in-management-2026-01-12.md deleted file mode 100644 index 4beda2d..0000000 --- a/technical-research/proactive-guest-reservation-and-check-in-management-2026-01-12.md +++ /dev/null @@ -1,129 +0,0 @@ -# Integration Research: Guest Reservation and Check-in Management - -**Client**: Coastal Breeze Resort Group -**Business Process**: Guest Reservation and Check-in Management -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| OTA | No | unknown | No | 70% | -| Feedback | No | API Key | Yes | 90% | -| Preferences/Loyalty | No | OAuth2 | Yes | 90% | -| Internal | No | API Key | Yes | 95% | -| Check-in | No | API Key | Yes | 90% | - ---- - -## Integration Details - -### 1. OTA - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 2. Feedback - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is performed via HTTP Basic Auth. The API Token should be provided as the username, with the password field left blank (or a colon appended in cURL). Tokens are managed in the 'Integrations' tab under account settings. - -**Key Gotchas**: -- The API requires a client that supports SNI (Server Name Indication), which is standard for n8n but critical for custom environments. -- Parameters must be serialized in JSON and passed in the request body; query string parameters are not supported for POST/PUT operations. -- The API uses a specific media type 'application/vnd.api+json', though standard 'application/json' is generally accepted. - -**Complexity Score**: 3/10 → simple - -**Estimated Hours**: 6 - ---- - -### 3. Preferences/Loyalty - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a developer account on the Sabre SynXis Developer Portal. REST APIs use Bearer tokens (OAuth2), while legacy endpoints require SOAP headers with HTNG-format credentials (username/password). - -**Key Gotchas**: -- The API is part of the Sabre SynXis ecosystem, which often requires a signed enterprise contract for production access. -- Data is often structured in complex XML/SOAP formats for legacy endpoints, requiring significant parsing in n8n. -- Synchronizing 'Preferences' and 'Loyalty' data across multiple Property Management Systems (PMS) can lead to race conditions if not handled with proper locking or sequencing. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 4. Internal - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Internal.io required an API Key generated within the 'Company Settings' or 'API Keys' section of the dashboard. This key was typically passed as a Bearer token or a custom header (e.g., X-Internal-API-Key). - -**Key Gotchas**: -- Internal.io officially shut down its services at the end of 2023; the platform is no longer active. -- No native n8n node exists; any historical integration required the HTTP Request node. -- Users are advised to migrate to active alternatives like Appsmith, Retool, or ToolJet. - -**Complexity Score**: 5/10 → moderate - -**Estimated Hours**: 10 - ---- - -### 5. Check-in - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is performed via a custom HTTP header 'x-partner-key' or by passing 'clientToken' in the POST request body. API keys are managed within the Checkin.com Back-office/Dashboard. - -**Key Gotchas**: -- Verification results are asynchronous and typically take 9-30 seconds to process after user completion. -- Final results are not visible on the client-side for security; they must be retrieved via the API or a Webhook listener. -- Specific services like AML (Anti-Money Laundering), PEP/Sanctions, and iBAN verification must be enabled at the partner level before they can be used. - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 8 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 60 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 60 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-healthcare-process-automation-2026-01-25.md b/technical-research/proactive-healthcare-process-automation-2026-01-25.md deleted file mode 100644 index 6d0397d..0000000 --- a/technical-research/proactive-healthcare-process-automation-2026-01-25.md +++ /dev/null @@ -1,73 +0,0 @@ -# Integration Research: healthcare Process Automation - -**Client**: [Evaluation] specialty prescription care platform -**Business Process**: healthcare Process Automation -**Research Date**: 2026-01-25 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Patient onboarding system | No | unknown | No | 70% | -| Doctor-approved FAQ system | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. Patient onboarding system - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 2. Doctor-approved FAQ system - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → moderate - -**Estimated Hours**: 12 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 24 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 24 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-healthcare-process-automation-2026-01-27.md b/technical-research/proactive-healthcare-process-automation-2026-01-27.md deleted file mode 100644 index 0479a6a..0000000 --- a/technical-research/proactive-healthcare-process-automation-2026-01-27.md +++ /dev/null @@ -1,77 +0,0 @@ -# Integration Research: healthcare Process Automation - -**Client**: [Evaluation] specialty prescription care platform -**Business Process**: healthcare Process Automation -**Research Date**: 2026-01-27 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Patient onboarding system | No | API Key (Bearer Token) | Yes | 95% | -| Doctor-approved FAQ system | No | API Key | Yes | 95% | - ---- - -## Integration Details - -### 1. Patient onboarding system - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires registration in the developer portal (e.g., NexHealth Developer Portal) to obtain a Bearer Token. Requests must also include a 'subdomain' parameter to scope the request to a specific medical practice. - -**Key Gotchas**: -- HIPAA Compliance: Users must ensure a Business Associate Agreement (BAA) is signed before processing PHI via n8n. -- EHR Parity: Write-back capabilities (e.g., syncing forms back to the patient chart) vary significantly depending on the underlying EHR (Epic, Cerner, Dentrix, etc.). -- Subdomain Scoping: Every API call requires a specific practice subdomain, making multi-tenant workflows more complex to manage. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 20 - ---- - -### 2. Doctor-approved FAQ system - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires an API key obtained from the MediSearch developer portal. The key is typically passed as a 'key' field in the JSON request body or as a header. - -**Key Gotchas**: -- Uses Server-Sent Events (SSE) for real-time streaming, which requires specific handling in n8n (e.g., using a Code node or a streaming-compatible HTTP pattern). -- The 'conversation' array must strictly alternate between human and AI messages, and the last message must always be from the human. -- Requires a unique 'conversation_id' (UUID) to be generated and maintained by the client for session persistence. - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 6 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 26 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 26 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-inbound-call-handling-and-reception-2026-01-12.md b/technical-research/proactive-inbound-call-handling-and-reception-2026-01-12.md deleted file mode 100644 index 6ccb15b..0000000 --- a/technical-research/proactive-inbound-call-handling-and-reception-2026-01-12.md +++ /dev/null @@ -1,76 +0,0 @@ -# Integration Research: Inbound Call Handling and Reception - -**Client**: Receptionist Automation Project -**Business Process**: Inbound Call Handling and Reception -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| PBX | Yes | API Key | Yes | 100% | -| Customer Records | No | unknown | Yes | 70% | - ---- - -## Integration Details - -### 1. PBX - -**Native n8n Node**: Yes - `Twilio` - -**Authentication**: Requires a Twilio Account SID and either an Auth Token or an API Key SID and Secret. API Keys are the recommended method for production environments as they can be revoked individually. - -**Key Gotchas**: -- Incoming calls and SMS require a publicly accessible webhook URL; local development requires a tunnel like ngrok. -- Trial accounts are restricted to communicating only with verified phone numbers. -- Sending SMS to US numbers requires A2P 10DLC registration, which can take several days to approve. -- The Account SID is required for all requests, even when using an API Key SID/Secret for authentication. - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 6 - ---- - -### 2. Customer Records - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: HubSpot supports two primary authentication methods: 1. Private App Access Tokens: A Bearer token generated within the HubSpot portal, passed in the 'Authorization' header as 'Bearer [YOUR_TOKEN]'. 2. OAuth 2.0: Recommended for public integrations, requiring a standard OAuth flow to obtain an access token, also passed via the 'Authorization: Bearer' header. All requests must be made over HTTPS. - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -## Complexity Analysis - -### Overall Score: 4/10 → standard - -**Total Estimated Hours**: 30 - ---- - -## Effort Recommendation - -**Tier**: standard -**Base Hours**: 30 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-inbound-receptionist-automation-2025-12-30.md b/technical-research/proactive-inbound-receptionist-automation-2025-12-30.md deleted file mode 100644 index 7e9f91c..0000000 --- a/technical-research/proactive-inbound-receptionist-automation-2025-12-30.md +++ /dev/null @@ -1,59 +0,0 @@ -# Integration Research: Inbound Receptionist Automation - -**Client**: Wranngle Systems LLC -**Business Process**: Inbound Receptionist Automation -**Research Date**: 2025-12-30 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| VoIP/PBX | Yes | api_key | Yes | 95% | - ---- - -## Integration Details - -### 1. VoIP/PBX - -**Native n8n Node**: Yes - `n8n-nodes-base.twilio` - -**Authentication**: Requires Twilio Account SID and Auth Token. For messaging, a Messaging Service SID or a Twilio Phone Number is also needed. - -**Key Gotchas**: -- Trial account limitations: Messages can only be sent to verified 'To' numbers and include a Twilio branding prefix. -- A2P 10DLC Registration: US-based SMS traffic requires strict brand and campaign registration to avoid high filtering rates. -- Webhook validation: To secure n8n endpoints, you must manually implement Twilio signature validation if not using the official Twilio Trigger node. - -**Complexity Score**: 3/10 → moderate - -**Estimated Hours**: 8 - ---- - -## Complexity Analysis - -### Overall Score: 3/10 → standard - -**Total Estimated Hours**: 8 - ---- - -## Effort Recommendation - -**Tier**: standard -**Base Hours**: 8 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-inbound-receptionist-automation-2025-12-31.md b/technical-research/proactive-inbound-receptionist-automation-2025-12-31.md deleted file mode 100644 index bf074ce..0000000 --- a/technical-research/proactive-inbound-receptionist-automation-2025-12-31.md +++ /dev/null @@ -1,59 +0,0 @@ -# Integration Research: Inbound Receptionist Automation - -**Client**: Wranngle Systems LLC -**Business Process**: Inbound Receptionist Automation -**Research Date**: 2025-12-31 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| VoIP/PBX | Yes | api_key | Yes | 95% | - ---- - -## Integration Details - -### 1. VoIP/PBX - -**Native n8n Node**: Yes - `n8n-nodes-base.twilio` - -**Authentication**: Requires Twilio Account SID and Auth Token. For production environments, it is recommended to use API Keys (SID and Secret) for better access control. - -**Key Gotchas**: -- Phone numbers must be in E.164 format (e.g., +14155552671) or the API will return a 400 error. -- Trial accounts can only send messages/calls to verified 'Verified Caller IDs' and include mandatory Twilio branding. -- Handling incoming calls via webhooks requires returning valid TwiML (XML) to instruct Twilio on how to proceed. - -**Complexity Score**: 3/10 → moderate - -**Estimated Hours**: 8 - ---- - -## Complexity Analysis - -### Overall Score: 3/10 → standard - -**Total Estimated Hours**: 8 - ---- - -## Effort Recommendation - -**Tier**: standard -**Base Hours**: 8 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-insurance-process-automation-2026-01-25.md b/technical-research/proactive-insurance-process-automation-2026-01-25.md deleted file mode 100644 index ae5991c..0000000 --- a/technical-research/proactive-insurance-process-automation-2026-01-25.md +++ /dev/null @@ -1,57 +0,0 @@ -# Integration Research: insurance Process Automation - -**Client**: [Evaluation] Medicare insurance brokerage -**Business Process**: insurance Process Automation -**Research Date**: 2026-01-25 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Amazon Connect | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. Amazon Connect - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → moderate - -**Estimated Hours**: 12 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 12 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 12 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-insurance-process-automation-2026-01-27.md b/technical-research/proactive-insurance-process-automation-2026-01-27.md deleted file mode 100644 index 76ce806..0000000 --- a/technical-research/proactive-insurance-process-automation-2026-01-27.md +++ /dev/null @@ -1,60 +0,0 @@ -# Integration Research: insurance Process Automation - -**Client**: [Evaluation] Medicare insurance brokerage -**Business Process**: insurance Process Automation -**Research Date**: 2026-01-27 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Amazon Connect | No | AWS Signature V4 | Yes | 95% | - ---- - -## Integration Details - -### 1. Amazon Connect - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires an IAM User with programmatic access (Access Key ID and Secret Access Key). Users must attach policies like 'AmazonConnectFullAccess' or granular permissions for specific actions. In n8n, use the 'AWS Credentials' type which handles the Signature V4 signing automatically when using the HTTP Request node. - -**Key Gotchas**: -- Extremely low default rate limits (2 req/sec) for outbound calls often lead to 429 errors in high-volume workflows. -- No native n8n node exists; users must manually configure the HTTP Request node with AWS credentials and specific regional endpoints. -- Real-time event triggers (e.g., 'Call Ended') require setting up Amazon EventBridge to forward events to an n8n Webhook URL. -- Instance ID and Contact Flow ID are required for almost all operations and must be retrieved from the AWS Console. - -**Complexity Score**: 8/10 → complex - -**Estimated Hours**: 15 - ---- - -## Complexity Analysis - -### Overall Score: 8/10 → complex - -**Total Estimated Hours**: 15 - ---- - -## Effort Recommendation - -**Tier**: complex -**Base Hours**: 15 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-inventory-management-and-supplier-ordering-2026-01-12.md b/technical-research/proactive-inventory-management-and-supplier-ordering-2026-01-12.md deleted file mode 100644 index 74d0972..0000000 --- a/technical-research/proactive-inventory-management-and-supplier-ordering-2026-01-12.md +++ /dev/null @@ -1,182 +0,0 @@ -# Integration Research: Inventory Management and Supplier Ordering - -**Client**: Farmhouse Kitchen Collective -**Business Process**: Inventory Management and Supplier Ordering -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Sales data | No | API Key | Yes | 90% | -| Accounting/Inventory | No | unknown | No | 70% | -| Supplier ordering | No | unknown | No | 70% | -| Inventory counts/calculations | No | OAuth2 / API Key | Yes | 95% | -| Cross-location sharing | No | unknown | Yes | 70% | -| Labor data | No | API Key | Yes | 90% | -| Delivery orders | No | OAuth2 | Yes | 90% | -| Legacy accounting | No | API Key | Yes | 95% | - ---- - -## Integration Details - -### 1. Sales data - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled via RapidAPI. Users must provide an 'X-RapidAPI-Key' in the request header. This requires creating an account on RapidAPI and subscribing to the 'Sales Data' API (by developer anwar016bd). - -**Key Gotchas**: -- The API provides a structured dataset of retail and warehouse sales rather than a live CRM connection. -- Documentation is hosted on a third-party Netlify site (sales-data-documentation.netlify.app), which may lack the depth of major enterprise portals. -- Requires a RapidAPI subscription even for the free tier to obtain the necessary API key. - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 4 - ---- - -### 2. Accounting/Inventory - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 3. Supplier ordering - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 4. Inventory counts/calculations - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating an application in the Square Developer Portal (or similar ERP portal) to obtain an Access Token or Personal Access Token. For Square, OAuth2 is required for third-party apps, while API Keys suffice for personal accounts. - -**Key Gotchas**: -- RFC 3339 timestamps (occurred_at) are mandatory for accurate calculations; omitting them causes Square to use the server time, which leads to incorrect counts if updates arrive out of order. -- Batch requests are strictly limited to 100 items per call, requiring n8n 'Split In Batches' logic for larger datasets. -- Calculated counts are derived from the last 'Physical Count' plus all subsequent 'Adjustments'; historical errors can only be fixed by a new Physical Count record. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 5. Cross-location sharing - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication requires two distinct API keys passed in the HTTP headers. The 'X-API-KEY' (Private Key) is used for secure server-to-server communication and provides full access to location data. The 'X-PUBLIC-API-KEY' (Public Key) is used for client-side browser requests, such as status checks, and has limited read-only permissions. Both keys are generated and managed within the Uberall platform under 'Organization Settings' -> 'API Keys'. - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 6. Labor data - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires registration on the BLS developer portal to receive a 'Registration Key'. Version 1.0 allows limited access without a key, but Version 2.0 (recommended) requires the key to be passed in the JSON body or as a query parameter. - -**Key Gotchas**: -- Users must know specific 'Series IDs' (e.g., LNS14000000 for Unemployment Rate) as there is no searchable directory within the API itself. -- Maximum of 50 time series can be requested in a single POST request. -- Data is limited to 20 years per request for registered users and 10 years for unregistered users. -- The API returns data in a deeply nested JSON structure that requires significant 'Item Lists' or 'Function' node processing in n8n. - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 10 - ---- - -### 7. Delivery orders - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating a developer account by emailing 'api@delivery.com'. Once approved, you receive a client_id. Elevated access for placing orders on behalf of users (Password or Trusted flow) requires a separate application and a successful OAuth 2.0 handshake. - -**Key Gotchas**: -- The service is currently restricted to projects within the United States. -- Manual vetting process: You must email the team with project details to get API keys. -- Separate API structures: Food/Liquor orders use a different endpoint logic than Laundry/Dry Cleaning services. -- OAuth 2.0 implementation is described as 'pretty complicated' in official docs, requiring careful token management. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 15 - ---- - -### 8. Legacy accounting - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a 'legacy-use' API Key and Subdomain. Authentication is handled via the 'X-API-Key' header. Users must also configure a 'Target' (the remote machine running the legacy software) and an 'API Definition' (the UI automation script) within the legacy-use dashboard. - -**Key Gotchas**: -- Requires a persistent and stable RDP, VNC, or Citrix connection to the machine hosting the legacy accounting software. -- Initial setup requires a 'Show Us Once' teaching phase where the AI records and learns the UI navigation patterns. -- An Anthropic API Key (Claude) is required to power the AI-driven UI interpretation and error handling. -- UI changes in the legacy software (e.g., updates) may require re-teaching the specific affected API endpoints. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 16 - ---- - -## Complexity Analysis - -### Overall Score: 5.4/10 → moderate - -**Total Estimated Hours**: 129 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 129 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-last-mile-delivery-dispatch-and-exception-management-2026-01-12.md b/technical-research/proactive-last-mile-delivery-dispatch-and-exception-management-2026-01-12.md deleted file mode 100644 index b8d91a7..0000000 --- a/technical-research/proactive-last-mile-delivery-dispatch-and-exception-management-2026-01-12.md +++ /dev/null @@ -1,75 +0,0 @@ -# Integration Research: Last-Mile Delivery Dispatch and Exception Management - -**Client**: Urban Logistics Express -**Business Process**: Last-Mile Delivery Dispatch and Exception Management -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Route Planning | No | API Key | Yes | 95% | -| Customer Portal | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. Route Planning - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a 32-character API Key obtained from the Route4Me account dashboard under 'My Account > API'. The key is typically passed as a query parameter (api_key). - -**Key Gotchas**: -- Demo API keys (1111...) are strictly limited to a predefined list of latitude/longitude coordinates and cannot be used for real-world data. -- Large optimization problems (e.g., 500+ stops) are processed asynchronously; users should implement polling or use the 'callback_url' parameter to receive results via webhook. -- The API is 100% RESTful but requires specific PHP-style endpoint structures (e.g., .php extensions in URLs) which can be confusing for modern REST developers. - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 6 - ---- - -### 2. Customer Portal - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 30 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 30 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-lead-intake-&-qualification-2026-01-25.md b/technical-research/proactive-lead-intake-&-qualification-2026-01-25.md deleted file mode 100644 index 3020601..0000000 --- a/technical-research/proactive-lead-intake-&-qualification-2026-01-25.md +++ /dev/null @@ -1,73 +0,0 @@ -# Integration Research: Lead Intake & Qualification - -**Client**: [Evaluation] Medicare brokerage -**Business Process**: Lead Intake & Qualification -**Research Date**: 2026-01-25 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Telephony system | No | unknown | No | 70% | -| exited market | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. Telephony system - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 2. exited market - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → moderate - -**Estimated Hours**: 12 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 24 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 24 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-lead-intake-&-qualification-2026-01-27.md b/technical-research/proactive-lead-intake-&-qualification-2026-01-27.md deleted file mode 100644 index e135d2e..0000000 --- a/technical-research/proactive-lead-intake-&-qualification-2026-01-27.md +++ /dev/null @@ -1,57 +0,0 @@ -# Integration Research: Lead Intake & Qualification - -**Client**: [Evaluation] Medicare brokerage -**Business Process**: Lead Intake & Qualification -**Research Date**: 2026-01-27 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| exited market | No | unknown | Yes | 70% | - ---- - -## Integration Details - -### 1. exited market - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 24 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 24 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-lead-intake-&-qualification-2026-01-28.md b/technical-research/proactive-lead-intake-&-qualification-2026-01-28.md deleted file mode 100644 index 1b514b7..0000000 --- a/technical-research/proactive-lead-intake-&-qualification-2026-01-28.md +++ /dev/null @@ -1,80 +0,0 @@ -# Integration Research: Lead Intake & Qualification - -**Client**: [Evaluation] personal injury law firm -**Business Process**: Lead Intake & Qualification -**Research Date**: 2026-01-28 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Clio | No | OAuth2 | Yes | 95% | -| LawPay | No | OAuth2 or API Key | Yes | 90% | - ---- - -## Integration Details - -### 1. Clio - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating a Developer Application in the Clio Developer Portal to obtain a Client ID and Client Secret. The integration uses a standard OAuth2 flow with regional base URLs (e.g., app.clio.com for US/CA, eu.app.clio.com for Europe). - -**Key Gotchas**: -- Strict rate limits (50 req/min) are easily triggered during batch operations or initial data syncs. -- Searching for contacts by phone number is inefficient and can consume up to 5 API calls per lookup. -- Webhooks require a near-instant 200 OK response; lengthy processing must be deferred or the webhook may be disabled. -- Custom fields can only be queried/filtered by their internal numeric ID, not by their display name. -- API access is restricted to 'Advanced' and 'Complete' pricing tiers; 'EasyStart' and 'Essentials' plans typically lack full API access. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 2. LawPay - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: LawPay uses the 8am (formerly AffiniPay) platform. Authentication can be done via OAuth2 (requires creating a Partner Application in the 8am developer portal) or via a Secret Key (Live/Test) generated in the LawPay dashboard under the 'Developers' section. - -**Key Gotchas**: -- Test Mode for webhooks is currently only supported for official LawPay partners. -- The base API URL was recently updated from api.affinipay.com to api.8am.com. -- Secret keys are strictly mode-specific; a Test key cannot be used with Live merchant accounts and vice-versa. -- Deleting an authorized application in the dashboard immediately severs the API connection. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -## Complexity Analysis - -### Overall Score: 6/10 → moderate - -**Total Estimated Hours**: 24 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 24 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-lead-qualification-and-property-matching-2026-01-12.md b/technical-research/proactive-lead-qualification-and-property-matching-2026-01-12.md deleted file mode 100644 index 504de6c..0000000 --- a/technical-research/proactive-lead-qualification-and-property-matching-2026-01-12.md +++ /dev/null @@ -1,75 +0,0 @@ -# Integration Research: Lead Qualification and Property Matching - -**Client**: Pinnacle Properties Group -**Business Process**: Lead Qualification and Property Matching -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Gmail, Sheets, Calendar | Yes | oauth2 | No | 70% | -| Lease Agreements | No | OAuth2 / JWT | Yes | 90% | - ---- - -## Integration Details - -### 1. Gmail, Sheets, Calendar - -**Native n8n Node**: Yes - `n8n-nodes-base.gmail` - -**Authentication**: oauth2 - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 2/10 → standard - -**Estimated Hours**: 4 - ---- - -### 2. Lease Agreements - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a two-step authentication process: first, a POST request to the login endpoint (/api/auth/login) with a username and password to retrieve a JWT token, which must then be included in the 'Authorization: Bearer ' header for subsequent requests. - -**Key Gotchas**: -- Tokens typically expire every 24 hours, requiring a robust re-authentication logic within the n8n workflow. -- The API is part of a Real-World Asset (RWA) tokenization platform, so data structures often include blockchain-specific fields like 'smartContractAddress' or 'tokenId'. -- Deletion of lease agreements may be restricted if the agreement has already been committed to a blockchain pool. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 10 - ---- - -## Complexity Analysis - -### Overall Score: 4/10 → standard - -**Total Estimated Hours**: 14 - ---- - -## Effort Recommendation - -**Tier**: standard -**Base Hours**: 14 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-legal-document-intake-and-routing-2026-01-12.md b/technical-research/proactive-legal-document-intake-and-routing-2026-01-12.md deleted file mode 100644 index c247de4..0000000 --- a/technical-research/proactive-legal-document-intake-and-routing-2026-01-12.md +++ /dev/null @@ -1,92 +0,0 @@ -# Integration Research: Legal Document Intake and Routing - -**Client**: Morrison & Associates Law Firm -**Business Process**: Legal Document Intake and Routing -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| DMS | No | API Key / IAM | Yes | 90% | -| Legacy DMS | No | unknown | Yes | 70% | -| Conflict Checks | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. DMS - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires AWS IAM credentials (Access Key ID and Secret Access Key) with specific permissions for the Database Migration Service (DMS). Users must configure AWS Signature V4 if using the HTTP Request node. - -**Key Gotchas**: -- API requests are throttled at 200 per second, which can cause delays in high-volume migration task management. -- Webhooks are not direct; they require integration with Amazon SNS (Simple Notification Service) to receive event notifications in n8n. -- IAM permissions are granular and often lead to 'Access Denied' errors if not explicitly granted for specific replication instances or tasks. -- The term 'DMS' is ambiguous in n8n forums, often referring to Instagram Direct Messages or the DATEV DMS (Document Management System), which has a separate community node. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 2. Legacy DMS - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: The Legacy REST API uses Basic Authentication. To authenticate, a 'WEB User' must be created in the Administrate TMS Control Panel with 'REST API' product access. The 'Authorization' header must be provided in the format 'Basic ', where the credentials are the user's email and password joined by a colon. - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 3. Conflict Checks - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -## Complexity Analysis - -### Overall Score: 5.7/10 → moderate - -**Total Estimated Hours**: 60 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 60 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-legal-quote-generation-and-approval-2025-12-31.md b/technical-research/proactive-legal-quote-generation-and-approval-2025-12-31.md deleted file mode 100644 index c1cbd51..0000000 --- a/technical-research/proactive-legal-quote-generation-and-approval-2025-12-31.md +++ /dev/null @@ -1,127 +0,0 @@ -# Integration Research: Legal Quote Generation and Approval - -**Client**: Smith & Jones Law -**Business Process**: Legal Quote Generation and Approval -**Research Date**: 2025-12-31 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Clio Manage | No | OAuth2 | Yes | 95% | -| Database | Yes | basic | Yes | 95% | -| SQL Server | No | unknown | No | 70% | -| Templates | No | unknown | No | 70% | -| Word | No | OAuth2 (Microsoft Entra ID / Azure AD) | Yes | 90% | - ---- - -## Integration Details - -### 1. Clio Manage - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating a Developer Application in the Clio Manage portal to obtain a Client ID and Client Secret. Supports standard Authorization Code flow. Must specify the correct regional base URL (US, EU, CA, or AU). - -**Key Gotchas**: -- API endpoints and OAuth URLs differ by region (e.g., app.clio.com vs eu.app.clio.com). -- Pagination uses a 'next' URL in the metadata which requires specific logic in n8n to follow. -- The API is strictly versioned (v4); ensure headers specify the correct content type to avoid legacy responses. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 16 - ---- - -### 2. Database - -**Native n8n Node**: Yes - `n8n-nodes-base.postgres` - -**Authentication**: Requires Host, Database Name, User, Password, and Port (default 5432). Support for SSL/TLS is available and often required for cloud-hosted databases. - -**Key Gotchas**: -- Firewall restrictions: The n8n instance IP must be explicitly whitelisted in the database security groups or firewall settings. -- SSL/TLS requirements: Cloud providers like Supabase or AWS RDS often require SSL 'Unauthorized' or 'Require' modes which must be toggled in the credential settings. -- Data type casting: Complex types like JSONB or custom Enums may require explicit casting within the 'Execute Query' operation to avoid driver errors. - -**Complexity Score**: 2/10 → standard - -**Estimated Hours**: 4 - ---- - -### 3. SQL Server - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 4. Templates - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 5. Word - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires an Azure App Registration with Microsoft Graph scopes such as Files.ReadWrite and Sites.ReadWrite.All. Must configure redirect URIs for the n8n instance. - -**Key Gotchas**: -- The API only supports .docx files stored in OneDrive for Business or SharePoint Online, not local files. -- Manipulating specific document elements (like tables or headers) via REST is significantly more complex than simple file operations. -- Session management is required for persistent changes; you must often create a 'workbook session' or similar stateful connection for complex edits. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 16 - ---- - -## Complexity Analysis - -### Overall Score: 5.2/10 → moderate - -**Total Estimated Hours**: 84 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 84 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-loan-application-processing-2026-01-12.md b/technical-research/proactive-loan-application-processing-2026-01-12.md deleted file mode 100644 index 0ab2484..0000000 --- a/technical-research/proactive-loan-application-processing-2026-01-12.md +++ /dev/null @@ -1,112 +0,0 @@ -# Integration Research: Loan Application Processing - -**Client**: Inconsistent Data LLC -**Business Process**: Loan Application Processing -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| LOS | No | OAuth2 | Yes | 95% | -| Operations | No | API Key | Yes | 95% | -| Credit | No | OAuth2 | Yes | 90% | -| eSign | No | unknown | Yes | 70% | - ---- - -## Integration Details - -### 1. LOS - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating an application in the Encompass Developer Connect portal to obtain a Client ID and Client Secret. Additionally, a dedicated 'API User' must be created within the Encompass instance and assigned specific 'Personas' to grant data access. - -**Key Gotchas**: -- Access tokens have a short lifespan (typically 15-30 minutes) and require a specific refresh logic to maintain a 24-hour session. -- The 'API User' required for integration often counts against the organization's user license seat limit. -- Loan data objects are highly nested (thousands of potential fields), making JSON mapping in n8n labor-intensive. -- Certain legacy operations still require the Encompass SDK, though most are now migrated to the Developer Connect REST API. - -**Complexity Score**: 8/10 → enterprise - -**Estimated Hours**: 24 - ---- - -### 2. Operations - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating a technical API user within the Operations1 platform to generate a Bearer Token. This token must be passed in the 'Authorization' header as 'Bearer '. - -**Key Gotchas**: -- The 'Accept-Version' header is mandatory (e.g., 'Accept-Version: 2024-05-20'). Using 'latest' is not recommended for production as it can lead to breaking changes. -- The API is multi-tenant; every request URL must include the 'tenantId' (which is the subdomain of your instance, e.g., 'company' for 'company.operations1.app'). -- Pagination is handled via 'pageSize' and 'pageIndex' rather than traditional offset/limit. - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 10 - ---- - -### 3. Credit - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a two-step process: first, a POST request to the authentication endpoint using a Client ID and Client Secret (or Username/Password depending on the region) to obtain a JWT Bearer token, which is then used in subsequent requests. - -**Key Gotchas**: -- Token expiration: JWT tokens typically expire every 60 minutes, requiring a refresh logic within the workflow. -- Regional Endpoints: API base URLs vary significantly by region (e.g., global vs. specific country instances). -- Data Depth: Credit reports return deeply nested JSON structures that often require the 'Item Lists' or 'Code' node for flattening. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 10 - ---- - -### 4. eSign - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -## Complexity Analysis - -### Overall Score: 5.8/10 → moderate - -**Total Estimated Hours**: 68 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 68 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-member-engagement-and-personal-training-lead-qualification-2026-01-12.md b/technical-research/proactive-member-engagement-and-personal-training-lead-qualification-2026-01-12.md deleted file mode 100644 index 4138e22..0000000 --- a/technical-research/proactive-member-engagement-and-personal-training-lead-qualification-2026-01-12.md +++ /dev/null @@ -1,59 +0,0 @@ -# Integration Research: Member Engagement and Personal Training Lead Qualification - -**Client**: Peak Performance Fitness Centers -**Business Process**: Member Engagement and Personal Training Lead Qualification -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Gym Management | No | API Key / Basic Auth | Yes | 90% | - ---- - -## Integration Details - -### 1. Gym Management - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication varies by API: The 'Gatekeeper API' uses Basic Auth (Username and API Key found in Settings > Integrations). The 'Member Portal API' requires a POST /login request using an API Key or credentials to receive a short-lived Bearer Token (valid for 1 hour). - -**Key Gotchas**: -- API access often requires manual activation by contacting support (feedback@gymmaster.com) to obtain a specific Base URL. -- The system distinguishes between 'Staff' and 'Member' API keys; using the wrong key for specific endpoints will result in 401 Unauthorized errors. -- Webhooks are primarily supported through the 'Zapier' integration or custom 'Webhook' actions within the GymMaster workflow builder, which can be pointed to an n8n Webhook node. - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 10 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 10 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 10 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-membership-sales-and-appointment-booking-for-detailing-2026-01-12.md b/technical-research/proactive-membership-sales-and-appointment-booking-for-detailing-2026-01-12.md deleted file mode 100644 index b3b1edc..0000000 --- a/technical-research/proactive-membership-sales-and-appointment-booking-for-detailing-2026-01-12.md +++ /dev/null @@ -1,92 +0,0 @@ -# Integration Research: Membership Sales and Appointment Booking for Detailing - -**Client**: Crystal Clear Auto Spa -**Business Process**: Membership Sales and Appointment Booking for Detailing -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| POS | Yes | basic | No | 70% | -| Membership Management | No | unknown | No | 70% | -| Email Marketing | Yes | OAuth2 | Yes | 100% | - ---- - -## Integration Details - -### 1. POS - -**Native n8n Node**: Yes - `n8n-nodes-base.postgres` - -**Authentication**: basic - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 2/10 → standard - -**Estimated Hours**: 4 - ---- - -### 2. Membership Management - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 3. Email Marketing - -**Native n8n Node**: Yes - `Gmail` - -**Authentication**: Requires creating a project in the Google Cloud Console, enabling the Gmail API, and configuring an OAuth consent screen to generate a Client ID and Client Secret. For self-hosted n8n, the redirect URI must be explicitly whitelisted in the Google Console. - -**Key Gotchas**: -- Google 'Unverified App' warning: Users must click 'Advanced' to proceed during the initial OAuth flow unless the app is submitted for a lengthy verification process. -- Daily Sending Limits: Gmail accounts are capped at 2,000 emails/day for Workspace and 500/day for personal accounts, making it unsuitable for massive cold-email blasts. -- Polling Overhead: The Gmail Trigger node defaults to polling; setting the interval too low (e.g., 1 second) frequently triggers 429 'Rate Limit Exceeded' errors. -- Credential Overwriting: A known community issue where multiple Gmail nodes in one workflow can sometimes overwrite each other's credentials if not named uniquely. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 10 - ---- - -## Complexity Analysis - -### Overall Score: 4.3/10 → moderate - -**Total Estimated Hours**: 38 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 38 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-multi-currency-invoice-reconciliation-2026-01-12.md b/technical-research/proactive-multi-currency-invoice-reconciliation-2026-01-12.md deleted file mode 100644 index e8da183..0000000 --- a/technical-research/proactive-multi-currency-invoice-reconciliation-2026-01-12.md +++ /dev/null @@ -1,133 +0,0 @@ -# Integration Research: Multi-Currency Invoice Reconciliation - -**Client**: GlobalMix Trading GmbH -**Business Process**: Multi-Currency Invoice Reconciliation -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Legacy ERP | No | Basic Auth / Database Credentials | Yes | 95% | -| Treasury | No | API Key | Yes | 95% | -| FX Platform | No | API Key & Client ID (Token-based) | Yes | 95% | -| Banking API | No | API Key | Yes | 90% | -| Storage | Yes | OAuth2 | Yes | 95% | - ---- - -## Integration Details - -### 1. Legacy ERP - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Legacy ERPs typically lack modern OAuth2 support. Integration requires either direct database access (ODBC/JDBC), SFTP for file-based exchange, or a REST/SOAP wrapper. Authentication is often handled via Basic Auth or static API Keys through a middleware layer like DreamFactory or OpenLegacy. - -**Key Gotchas**: -- Requires manual XML/SOAP parsing using the XML node or Function node. -- Lack of native webhooks necessitates high-frequency polling or database triggers. -- On-premise deployments often require a VPN or SSH Tunnel for n8n Cloud connectivity. -- Data schemas are frequently inconsistent and require heavy normalization in n8n. - -**Complexity Score**: 9/10 → enterprise - -**Estimated Hours**: 32 - ---- - -### 2. Treasury - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Uses HTTP Basic Auth where the API Key is the username and the password is left blank. Additionally, the 'Modern-Treasury-Organization-Id' must be passed as a custom HTTP header in every request. - -**Key Gotchas**: -- List endpoints have significantly lower rate limits (20 req/s) compared to standard endpoints (100 req/s). -- Idempotency keys ('Idempotency-Key' header) are highly recommended for all POST requests to prevent duplicate payments during network retries. -- Sandbox environment uses 'mocking' logic which may not perfectly replicate bank-side delays or specific error states found in production. - -**Complexity Score**: 6/10 → standard - -**Estimated Hours**: 12 - ---- - -### 3. FX Platform - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a Client ID and API Key (accessible via the Verto account profile under 'API Credentials'). Users must first call the /authorization or /login endpoint to exchange these credentials for a Bearer Token, which is valid for 60 minutes. - -**Key Gotchas**: -- Bearer Tokens expire every 60 minutes, requiring a logic-based refresh or a 'Get Token' step at the beginning of every n8n workflow execution. -- Sandbox and Production environments use entirely different base URLs (api-v3-sandbox.vertofx.com vs api.vertofx.com) and separate API keys. -- Webhooks have a built-in retry mechanism (up to 10 attempts with exponential backoff), meaning the n8n webhook listener must be idempotent to handle potential duplicate events. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 8 - ---- - -### 4. Banking API - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled via an 'X-API-Key' header. Developers must obtain an API key from the Slash Dashboard. Note that the API is currently in Beta, often requiring manual approval or 'Beta Access' to be enabled for the organization. - -**Key Gotchas**: -- Real-time authorization webhooks (allowing you to approve/decline transactions via code) are typically restricted to Enterprise plans. -- Webhook validation requires strict HMAC SHA256 signature checking using a specific payload format ({webhookId}.{webhookTimestamp}.{requestBody}). -- The API is in Beta; endpoints and data structures are subject to change without long-term deprecation notices. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 5. Storage - -**Native n8n Node**: Yes - `n8n-nodes-base.googleDrive` - -**Authentication**: Requires creating a project in the Google Cloud Console, enabling the Google Drive API, and configuring an OAuth consent screen. Users must generate a Client ID and Client Secret. Note: If the Google Cloud app is left in 'Testing' mode, the OAuth refresh token expires every 7 days, requiring manual re-authentication. - -**Key Gotchas**: -- Most operations require the unique File ID rather than the file name; using names can lead to 'File Not Found' errors if not handled via a Search node first. -- Accessing Shared Drives (formerly Team Drives) requires enabling the 'Supports All Drives' option in the node settings. -- Large file uploads (over 5MB) may require specific handling of binary data buffers to avoid memory issues on smaller n8n instances. -- The 'Google Drive Trigger' node uses polling rather than real-time webhooks, which can lead to delays depending on the polling interval. - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 4 - ---- - -## Complexity Analysis - -### Overall Score: 6.4/10 → moderate - -**Total Estimated Hours**: 68 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 68 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-new-client-onboarding-and-tax-preparation-workflow-2026-01-12.md b/technical-research/proactive-new-client-onboarding-and-tax-preparation-workflow-2026-01-12.md deleted file mode 100644 index bb7383f..0000000 --- a/technical-research/proactive-new-client-onboarding-and-tax-preparation-workflow-2026-01-12.md +++ /dev/null @@ -1,132 +0,0 @@ -# Integration Research: New Client Onboarding and Tax Preparation Workflow - -**Client**: Sterling & Associates CPAs -**Business Process**: New Client Onboarding and Tax Preparation Workflow -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Tax preparation/Practice management | No | API Key & Bearer Token | Yes | 95% | -| Document exchange | No | OAuth2 (2-legged and 3-legged) | Yes | 90% | -| Electronic signatures | No | API Key | Yes | 95% | -| Internal accounting | No | unknown | No | 70% | -| Review tracking | No | API Key | Yes | 90% | - ---- - -## Integration Details - -### 1. Tax preparation/Practice management - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires dual-header authentication: a 'Bearer' token in the Authorization header and a tenant-specific 'AccessKey' in the AccessKey header. Users must register an app at the developer portal to receive these. - -**Key Gotchas**: -- Requires two separate headers for every request (Authorization and AccessKey). -- Uses OData standard for searching and filtering, which requires specific URI conventions (e.g., $expand, $filter). -- App registration requires manual approval from the provider before keys are issued. -- Webhook payloads often only contain IDs, requiring a follow-up GET request to fetch full data. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 10 - ---- - -### 2. Document exchange - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires application registration via the Intralinks Developer Portal. Access is typically not self-service and requires contacting an account manager or submitting an API Request Questionnaire. Supports both client credentials and authorization code flows, often complicated by mandatory Multi-Factor Authentication (MFA). - -**Key Gotchas**: -- MFA and SSO requirements often break standard automated OAuth2 flows in n8n, requiring specialized session management or 'service account' workarounds. -- Granular Information Rights Management (IRM) and document-level permissions make mapping data structures significantly more difficult than standard file storage APIs. -- The API is not public-facing by default; developers must often wait days or weeks for portal access approval. - -**Complexity Score**: 8/10 → complex - -**Estimated Hours**: 24 - ---- - -### 3. Electronic signatures - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled via a Secret Token found in the 'API' or 'Automation & API' section of the dashboard. The token is passed as a query parameter (e.g., ?token=your-secret-token) in the request URL. - -**Key Gotchas**: -- API requests made from browsers will trigger a CORS error; requests must be server-side (like n8n). -- Contracts older than two weeks may not return complete data in the API response. -- Frequent polling of contract status can lead to temporary IP or account blocks. -- The Secret Token is passed in the URL query string, which may be logged in some server environments. - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 6 - ---- - -### 4. Internal accounting - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 5. Review tracking - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires an API Key (X-API-KEY header). For legacy ReviewTrackers accounts, this is found in the account settings. For modern Reputation accounts, keys are typically obtained via a Customer Success Manager (CSM) or the developer portal. - -**Key Gotchas**: -- ReviewTrackers was acquired by Reputation; legacy documentation is being deprecated in favor of apidocs.reputation.com. -- API access is often restricted to Enterprise-level plans and may not be available on basic tiers. -- Legacy rate limits are quite strict (25 req/min), which can cause issues with high-frequency polling. -- Pagination is limited to 100 results per request, requiring loop logic in n8n for large datasets. - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 8 - ---- - -## Complexity Analysis - -### Overall Score: 5.2/10 → moderate - -**Total Estimated Hours**: 72 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 72 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-new-patient-intake-automation-2026-01-12.md b/technical-research/proactive-new-patient-intake-automation-2026-01-12.md deleted file mode 100644 index e2d9445..0000000 --- a/technical-research/proactive-new-patient-intake-automation-2026-01-12.md +++ /dev/null @@ -1,95 +0,0 @@ -# Integration Research: New Patient Intake Automation - -**Client**: Riverside Medical Group -**Business Process**: New Patient Intake Automation -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Insurance Verification | No | API Key | Yes | 95% | -| Consent Forms | Yes | API Key | Yes | 95% | -| SMS Reminders | No | API Key / OAuth2 | Yes | 90% | - ---- - -## Integration Details - -### 1. Insurance Verification - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires generating an API key in the developer portal (e.g., Stedi or Eligible). For Stedi, the key is passed in the 'Authorization' header of every request. - -**Key Gotchas**: -- Insurance discovery checks require specific 'transaction enrollment' for the provider (e.g., enrolling with the 'DISCOVERY' payer ID in Stedi). -- Data enrichment is often necessary; clearinghouses may not return all financial details, requiring secondary checks via multi-payer portals like Availity. -- HIPAA compliance is critical: avoid logging full request/response payloads in n8n execution history if they contain PHI (Protected Health Information). - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 10 - ---- - -### 2. Consent Forms - -**Native n8n Node**: Yes - `Typeform` - -**Authentication**: Requires a Personal Access Token. Users must log into Typeform, go to 'Settings' > 'Personal Tokens', and generate a new token with 'Forms: Read' and 'Webhooks: Read/Write' scopes. - -**Key Gotchas**: -- Webhook registration requires n8n to be publicly accessible (SSL/HTTPS) to receive real-time submissions. -- Form responses are returned in a nested 'answers' array; developers often need the 'Item Lists' node or a 'Code' node to flatten the data for use in subsequent steps. -- The 2 req/sec rate limit is shared across all API endpoints, which can be easily hit during bulk data migrations or high-frequency polling. - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 4 - ---- - -### 3. SMS Reminders - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication typically requires generating an API Key or setting up OAuth2 credentials within the provider's developer portal (e.g., SeoSoft or SMSMobileAPI). Some providers also require a 'Sender ID' or 'Originator' name to be registered. - -**Key Gotchas**: -- The term 'SMS Reminders' is generic; users must distinguish between specialized reminder services (like SeoSoft or GoReminders) and general SMS gateways (like Twilio). -- Many services require pre-registration of 'Sender IDs' or '10DLC' compliance for automated messaging in certain regions. -- Webhook support is often limited to delivery receipts rather than incoming message triggers unless a dedicated virtual number is used. - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 8 - ---- - -## Complexity Analysis - -### Overall Score: 4/10 → standard - -**Total Estimated Hours**: 22 - ---- - -## Effort Recommendation - -**Tier**: standard -**Base Hours**: 22 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-order-processing-2026-01-12.md b/technical-research/proactive-order-processing-2026-01-12.md deleted file mode 100644 index 841d7a4..0000000 --- a/technical-research/proactive-order-processing-2026-01-12.md +++ /dev/null @@ -1,130 +0,0 @@ -# Integration Research: Order Processing - -**Client**: Vague Metrics Supply Co -**Business Process**: Order Processing -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| SAP or Oracle | No | OAuth2 / RSA Key Signing | Yes | 95% | -| VoIP | Yes | API Key | Yes | 95% | -| Office 365 or Google | No | unknown | Yes | 70% | -| FedEx/UPS | No | OAuth2 | Yes | 95% | -| SQL | Yes | basic | No | 70% | - ---- - -## Integration Details - -### 1. SAP or Oracle - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: SAP typically requires OAuth2 (Client Credentials) via the SAP Business Technology Platform (BTP). Oracle Cloud (OCI) requires a complex RSA-SHA256 request signing process involving a Tenancy OCID, User OCID, Fingerprint, and Private Key, which is difficult to implement in a standard HTTP node without custom code. - -**Key Gotchas**: -- SAP OData APIs often require a 'fetch' call to obtain an X-CSRF-Token before any POST/PATCH/DELETE operation can be performed. -- Oracle OCI REST APIs require headers to be signed with an RSA key; n8n users often have to use a 'Code' node with crypto libraries to generate these signatures. -- SAP Business One (B1) Service Layer uses session-based cookies (B1Session) which must be managed manually across nodes if not using a specific community node. -- Oracle's default 10 TPS limit is very low for enterprise workloads and frequently triggers 429 errors in parallel n8n loops. - -**Complexity Score**: 9/10 → enterprise - -**Estimated Hours**: 30 - ---- - -### 2. VoIP - -**Native n8n Node**: Yes - `n8n-nodes-base.twilio` - -**Authentication**: Requires Twilio Account SID and Auth Token, which are found on the main Twilio Console dashboard. These act as the username and password for Basic Auth. - -**Key Gotchas**: -- Webhooks will fail if n8n is running on localhost without a public tunnel like ngrok or Cloudflare Tunnel. -- n8n is designed for event-based triggers, not persistent real-time audio streaming (WebSockets); processing live audio requires a proxy layer. -- Twilio call summaries and recordings can take up to 30 minutes to become available via the API after a call ends. -- International SMS/Voice often requires specific regulatory compliance (e.g., A2P 10DLC in the US or Sender ID registration in Saudi Arabia). - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 8 - ---- - -### 3. Office 365 or Google - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: [object Object] - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 4. FedEx/UPS - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Both carriers have transitioned to OAuth 2.0. Requires creating an 'App' in the FedEx Developer Portal and UPS Developer Portal to obtain a Client ID and Client Secret. UPS deprecated legacy Access Keys in June 2024. - -**Key Gotchas**: -- UPS Access Keys are fully deprecated; integrations must use the new REST/OAuth2 endpoints. -- FedEx often returns 'Content-Type' errors if headers are not precisely 'application/json' or if the body is empty. -- UPS requires a 'transactionSrc' header in many requests to identify the source of the transaction. -- Address Validation is typically a separate API call and may incur additional costs or require specific permissions. - -**Complexity Score**: 8/10 → moderate - -**Estimated Hours**: 20 - ---- - -### 5. SQL - -**Native n8n Node**: Yes - `n8n-nodes-base.postgres` - -**Authentication**: basic - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 2/10 → standard - -**Estimated Hours**: 4 - ---- - -## Complexity Analysis - -### Overall Score: 5.4/10 → moderate - -**Total Estimated Hours**: 86 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 86 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-order-processing-and-fulfillment-automation-2026-01-12.md b/technical-research/proactive-order-processing-and-fulfillment-automation-2026-01-12.md deleted file mode 100644 index 73367e9..0000000 --- a/technical-research/proactive-order-processing-and-fulfillment-automation-2026-01-12.md +++ /dev/null @@ -1,126 +0,0 @@ -# Integration Research: Order Processing and Fulfillment Automation - -**Client**: HomeGoods Express -**Business Process**: Order Processing and Fulfillment Automation -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| E-commerce Store | No | unknown | Yes | 70% | -| Marketplace | No | API Key | Yes | 95% | -| Shipping | No | API Key | Yes | 90% | -| Team Notifications | No | unknown | Yes | 70% | -| Customer Support | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. E-commerce Store - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is primarily handled via OAuth 2.0. For public and custom apps, a permanent access token must be included in the 'X-Shopify-Access-Token' request header. Private apps may use Basic Authentication, where the API Key serves as the username and the Admin API password serves as the password. All requests must be made over HTTPS. - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 2. Marketplace - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires generating an API Key (Bearer Token) within the Marketplacer Seller Portal. If the marketplace site is behind Basic Auth, a specific 'MARKETPLACER-API-KEY' header must be used alongside standard credentials. - -**Key Gotchas**: -- No native n8n node exists; all integrations must be built using the HTTP Request node. -- The API is GraphQL-based, which requires manual construction of queries and mutations in n8n. -- Maximum GraphQL query depth is limited to 30 levels to prevent performance degradation. -- If using the legacy REST API, pagination and filtering patterns differ significantly from the modern GraphQL Seller API. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 3. Shipping - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires generating an API key in the Ship.com dashboard under Settings > API Integration. The key is used as a Bearer token in the Authorization header. - -**Key Gotchas**: -- Authentication requires a Bearer token prefix even though it is an API Key. -- Tracking webhooks must be configured manually via the API or dashboard. -- Rate limits are strictly enforced with 429 error codes; retry logic is recommended. - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 10 - ---- - -### 4. Team Notifications - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication requires an OAuth 2.0 Bearer token obtained from Microsoft Entra ID (formerly Azure AD). The application must be granted specific permissions: 'TeamsActivity.Send' for delegated (user-context) notifications, or 'TeamsActivity.Send.Group', 'TeamsActivity.Send.Chat', and 'TeamsActivity.Send.User' for application-level notifications. A mandatory requirement is that the Teams app manifest must include the 'webApplicationInfo' section containing the Entra app ID. Furthermore, the Teams app must be installed in the target team, chat, or personal scope of the recipient before the API can successfully deliver notifications. - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 5. Customer Support - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 94 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 94 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-patient-intake-&-scheduling-automation-2025-12-31.md b/technical-research/proactive-patient-intake-&-scheduling-automation-2025-12-31.md deleted file mode 100644 index 6004909..0000000 --- a/technical-research/proactive-patient-intake-&-scheduling-automation-2025-12-31.md +++ /dev/null @@ -1,93 +0,0 @@ -# Integration Research: Patient Intake & Scheduling Automation - -**Client**: Orthopedic Medical Practice -**Business Process**: Patient Intake & Scheduling Automation -**Research Date**: 2025-12-31 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| API | Yes | none | No | 70% | -| Athenahealth EHR | No | OAuth 2.0 (Client Credentials or Authorization Code) | Yes | 90% | -| Phone/SMS | No | API Key / Bearer Token | Yes | 90% | - ---- - -## Integration Details - -### 1. API - -**Native n8n Node**: Yes - `n8n-nodes-base.webhook` - -**Authentication**: none - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 2/10 → standard - -**Estimated Hours**: 4 - ---- - -### 2. Athenahealth EHR - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a Client ID and Client Secret from the Athenahealth Developer Portal. For server-to-server n8n workflows, the Client Credentials grant is used to obtain a Bearer token via the /oauth2/v1/token endpoint. - -**Key Gotchas**: -- Every API request requires a 'practiceid' in the URL path, which must be managed dynamically if supporting multiple clinics. -- Transitioning from the 'Preview' (Sandbox) environment to 'Production' requires a formal security review and 'Go-Live' process. -- The API uses a mix of proprietary JSON structures and FHIR standards, which can make data mapping inconsistent. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 16 - ---- - -### 3. Phone/SMS - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Most SMS gateways require an API Key or Auth Token passed via the 'Authorization' header (Bearer or Basic) or as a query parameter in the HTTP Request node. - -**Key Gotchas**: -- Character encoding issues: Standard GSM 03.38 allows 160 characters, but Unicode (emojis/special chars) reduces the limit to 70 per segment. -- Regulatory compliance: Many countries require pre-registration of 'Sender IDs' or specific 'From' numbers to avoid carrier filtering. -- Delivery Receipts (DLR): Tracking if a message was actually delivered requires setting up a separate Webhook node to receive asynchronous status updates. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 32 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 32 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-patient-intake-&-scheduling-automation-2026-01-01.md b/technical-research/proactive-patient-intake-&-scheduling-automation-2026-01-01.md deleted file mode 100644 index 38a6bff..0000000 --- a/technical-research/proactive-patient-intake-&-scheduling-automation-2026-01-01.md +++ /dev/null @@ -1,77 +0,0 @@ -# Integration Research: Patient Intake & Scheduling Automation - -**Client**: Orthopedic Medical Practice -**Business Process**: Patient Intake & Scheduling Automation -**Research Date**: 2026-01-01 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| VOIP/SMS | Yes | api_key | Yes | 95% | -| Payment Processing | No | API Login ID and Transaction Key | Yes | 90% | - ---- - -## Integration Details - -### 1. VOIP/SMS - -**Native n8n Node**: Yes - `n8n-nodes-base.twilio` - -**Authentication**: Requires Twilio Account SID and Auth Token. For production environments, it is recommended to use API Key SIDs and Secrets for better access control. - -**Key Gotchas**: -- A2P 10DLC registration is now mandatory for all SMS traffic to US numbers; failure to register results in high filtering and fees. -- Trial accounts are restricted to sending messages only to verified phone numbers and include a Twilio branding prefix. -- SMS messages exceeding 160 characters are split into segments, which are billed individually. - -**Complexity Score**: 3/10 → moderate - -**Estimated Hours**: 8 - ---- - -### 2. Payment Processing - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled by including a 'merchantAuthentication' object (containing 'name' and 'transactionKey') within the JSON body of every POST request, rather than standard Bearer tokens or Basic Auth headers. - -**Key Gotchas**: -- The API requires a specific root-level wrapper for JSON payloads (e.g., 'createTransactionRequest') which varies per endpoint. -- Webhook signatures use SHA-512 hashing which requires a 'Signature Key' and custom code in a Function node to verify authenticity. -- The API returns a 200 OK status even for business-logic errors; you must check the 'messages.resultCode' field in the response body. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 16 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 24 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 24 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-patient-intake-&-scheduling-workflow-2025-12-31.md b/technical-research/proactive-patient-intake-&-scheduling-workflow-2025-12-31.md deleted file mode 100644 index 38c2a5a..0000000 --- a/technical-research/proactive-patient-intake-&-scheduling-workflow-2025-12-31.md +++ /dev/null @@ -1,111 +0,0 @@ -# Integration Research: Patient Intake & Scheduling Workflow - -**Client**: Orthopedic Medical Practice -**Business Process**: Patient Intake & Scheduling Workflow -**Research Date**: 2025-12-31 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Phone/SMS | No | API Key / Bearer Token | Yes | 90% | -| Forms | Yes | oauth2 | No | 70% | -| Referrals | No | API Key (Bearer Token) | Yes | 90% | -| Fax | No | API Key and Secret (Basic Auth) | Yes | 90% | - ---- - -## Integration Details - -### 1. Phone/SMS - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires manual configuration of Authorization headers (e.g., 'Authorization: Bearer [API_KEY]') or Basic Auth (Base64 encoded Key:Secret) within the HTTP Request node. - -**Key Gotchas**: -- Strict E.164 phone number formatting (e.g., +1234567890) is usually mandatory for API acceptance. -- Character encoding differences (GSM7 vs. UCS-2) can unexpectedly split messages into multiple billable segments. -- Regional compliance (e.g., 10DLC in the US, Sender ID registration in the UK) requires manual approval outside of the API. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 16 - ---- - -### 2. Forms - -**Native n8n Node**: Yes - `n8n-nodes-base.googleForms` - -**Authentication**: oauth2 - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 2/10 → standard - -**Estimated Hours**: 4 - ---- - -### 3. Referrals - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled via a Bearer Token passed in the Authorization header. Keys are generated within the Referral Factory dashboard under Settings. - -**Key Gotchas**: -- Webhook signatures should be verified to ensure data integrity, which requires a Crypto node in n8n. -- The API uses specific Campaign IDs that must be hardcoded or dynamically fetched before adding users. -- Rate limiting errors (429) do not always return a 'Retry-After' header. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 4. Fax - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is typically handled via Basic Auth using the API Key as the username and API Secret as the password, or via Header-based API keys. - -**Key Gotchas**: -- Handling binary file uploads (PDF/TIFF) in n8n's HTTP Request node requires specific 'Multipart-form-data' configuration. -- Fax delivery is asynchronous; the initial API response only confirms receipt, not successful transmission to the recipient. -- International faxing often requires specific country code prefixes and may have different success rates based on local infrastructure. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 16 - ---- - -## Complexity Analysis - -### Overall Score: 5.3/10 → moderate - -**Total Estimated Hours**: 48 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 48 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-patient-intake-&-scheduling-workflow-2026-01-01.md b/technical-research/proactive-patient-intake-&-scheduling-workflow-2026-01-01.md deleted file mode 100644 index 7a95de7..0000000 --- a/technical-research/proactive-patient-intake-&-scheduling-workflow-2026-01-01.md +++ /dev/null @@ -1,59 +0,0 @@ -# Integration Research: Patient Intake & Scheduling Workflow - -**Client**: Orthopedic Medical Practice -**Business Process**: Patient Intake & Scheduling Workflow -**Research Date**: 2026-01-01 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Phone/SMS | No | API Key / Bearer Token | Yes | 90% | - ---- - -## Integration Details - -### 1. Phone/SMS - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Most SMS gateways utilize a static API Key or Bearer Token passed via the 'Authorization' header. Some providers may require Basic Auth with an Account SID and Secret. - -**Key Gotchas**: -- Character encoding issues: Switching from GSM-7 to UCS-2 (for emojis/special chars) halves the character limit per segment. -- Strict E.164 formatting requirements for international phone numbers. -- Carrier filtering: Messages may be blocked without error if they contain certain keywords or lack proper 10DLC registration. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -## Complexity Analysis - -### Overall Score: 6/10 → moderate - -**Total Estimated Hours**: 12 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 12 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-patient-scheduling-and-follow-up-2026-01-12.md b/technical-research/proactive-patient-scheduling-and-follow-up-2026-01-12.md deleted file mode 100644 index 6cc7f10..0000000 --- a/technical-research/proactive-patient-scheduling-and-follow-up-2026-01-12.md +++ /dev/null @@ -1,78 +0,0 @@ -# Integration Research: Patient Scheduling and Follow-up - -**Client**: Timezone Chaos Medical Group -**Business Process**: Patient Scheduling and Follow-up -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| EHR | No | OAuth2 (SMART on FHIR) | Yes | 95% | -| Insurance | No | API Key | Yes | 90% | - ---- - -## Integration Details - -### 1. EHR - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating an application in the specific EHR's developer portal (e.g., Epic App Orchard, Athenahealth Developer, or Cerner Ignite). Most modern EHRs use the 'SMART on FHIR' OAuth2 profile, which requires handling granular scopes (e.g., 'patient/Patient.read') and often a 'Practice ID' or 'Tenant ID' in the token request. - -**Key Gotchas**: -- n8n Cloud is not HIPAA compliant by default; self-hosting on secure infrastructure with a signed BAA is mandatory for handling PHI. -- FHIR resource implementations (e.g., R4 vs. DSTU2) vary significantly between vendors like Epic and Cerner, requiring custom mapping logic. -- Many EHRs require IP whitelisting for webhooks and API access, which is difficult to manage without a static IP or proxy. -- The 'n8n-nodes-bridgegate' community node is often used as a middleware bridge for legacy HL7/EMR systems. - -**Complexity Score**: 9/10 → complex - -**Estimated Hours**: 30 - ---- - -### 2. Insurance - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled via an API Key (X-RapidAPI-Key) provided through the RapidAPI platform or via HTTP Basic Auth for direct enterprise connections to the Underground Elephant marketplace. - -**Key Gotchas**: -- The integration utilizes a community node (n8n-nodes-insurance-exchange) published by 'gonzalezzackary' which is a recent addition to the registry. -- Insurance lead data requires highly specific JSON schemas; incorrect formatting often results in 400 Bad Request errors without detailed validation messages. -- API access is primarily through RapidAPI, which adds a layer of dependency on their gateway uptime. - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 6 - ---- - -## Complexity Analysis - -### Overall Score: 6/10 → moderate - -**Total Estimated Hours**: 36 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 36 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-11.md b/technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-11.md deleted file mode 100644 index c79d3fd..0000000 --- a/technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-11.md +++ /dev/null @@ -1,168 +0,0 @@ -# Integration Research: Patient Scheduling and Treatment Coordination - -**Client**: Bright Smile Dental Group -**Business Process**: Patient Scheduling and Treatment Coordination -**Research Date**: 2026-01-11 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Practice management | No | API Key | Yes | 90% | -| Phone system and texting | Yes | API Key | Yes | 100% | -| Claims submission | No | OAuth2 | Yes | 95% | -| Digital imaging | No | OAuth2 | Yes | 95% | -| CAD/CAM | No | OAuth2 | Yes | 95% | -| Fee schedules, recalls | No | API Key (Bearer Token) | Yes | 95% | -| Doctor schedules | No | API Key | Yes | 90% | - ---- - -## Integration Details - -### 1. Practice management - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires generating an API Key from the 'Settings' or 'Developer' section of the platform. For the specific platform 'Practice' (practice.do), this was a Bearer Token passed in the Authorization header. - -**Key Gotchas**: -- The primary platform matching this name, Practice (practice.do), announced a permanent shutdown in October 2025. -- No native n8n node exists; all integrations must be built using the HTTP Request node. -- API documentation for defunct platforms may be inaccessible or require archived versions (Wayback Machine). -- Alternative 'Practice Management' tools like Karbon or Clio have different API structures; Clio has a native n8n node. - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 8 - ---- - -### 2. Phone system and texting - -**Native n8n Node**: Yes - `Twilio` - -**Authentication**: Requires a Twilio Account SID and the creation of an API Key (which provides an API Key SID and Secret) within the Twilio Console. While 'Auth Token' is supported, 'API Key' is the recommended method for production environments. - -**Key Gotchas**: -- A2P 10DLC registration is mandatory for sending SMS to US phone numbers; failure to register results in high failure rates. -- Self-hosted n8n instances often require manual webhook URL configuration in the Twilio Console as the 'Twilio Trigger' node may fail to auto-update the callback URL. -- WhatsApp messaging requires pre-approved templates and is restricted to a 24-hour conversation window for non-template replies. - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 4 - ---- - -### 3. Claims submission - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating a developer account on a clearinghouse portal (e.g., Optum/Change Healthcare or Availity). You must create an 'App' to obtain a Client ID and Client Secret, then use the Client Credentials Grant flow to generate a Bearer token. - -**Key Gotchas**: -- Strict data validation: Even with JSON wrappers, the API requires precise medical coding (CPT, ICD-10, NPI) and follows EDI 837 standards. -- Asynchronous processing: Submission returns an acknowledgement, but the final claim status (Paid/Denied) must be polled via a separate 'Claim Status' endpoint or retrieved via 835 Remittance files. -- Compliance: Production access requires HIPAA-compliant hosting and a signed Business Associate Agreement (BAA). - -**Complexity Score**: 8/10 → complex - -**Estimated Hours**: 24 - ---- - -### 4. Digital imaging - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Most modern 'Digital Imaging' integrations utilize the DICOMweb standard. For cloud-based implementations (Google Cloud Healthcare, AWS HealthImaging, Azure Health Data Services), authentication requires OAuth2 with a Service Account or App Registration. Local PACS (Picture Archiving and Communication Systems) may use API Keys or Basic Auth via a secure gateway. - -**Key Gotchas**: -- Binary Data Handling: DICOM files are often very large; n8n workflows must be optimized to handle large binary objects without crashing the service. -- Multipart Responses: DICOMweb 'Retrieve' operations often return 'multipart/related' content, which requires custom parsing in n8n (usually via a Code node) to extract individual images. -- Metadata Tagging: Information like Patient Name or Study Date is stored in hexadecimal tags (e.g., 0010,0010), requiring a dictionary or parser to convert into readable JSON. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 5. CAD/CAM - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating an application in the Autodesk Developer Portal (for Autodesk Platform Services) or the Onshape Developer Portal. Supports both 2-legged (Client Credentials) for service-level access and 3-legged (Authorization Code) for user-context data. - -**Key Gotchas**: -- URNs (Unique Resource Names) must be Base64 encoded (without padding) for many Data Management endpoints. -- Large file uploads (e.g., CAD models) require complex multi-part chunking logic and S3 signed URLs. -- Token expiration requires robust refresh handling, especially for long-running manufacturing automation workflows. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 24 - ---- - -### 6. Fee schedules, recalls - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is performed via a Bearer Token in the Authorization header. Developers must obtain an API Key from the NexHealth Developer Portal or the specific Practice Management System (PMS) provider like Open Dental. - -**Key Gotchas**: -- Data availability for fee schedules and recalls is dependent on the sync status between the API layer (e.g., NexHealth) and the on-premise Practice Management System (PMS). -- Fee schedule endpoints are often restricted to specific PMS versions (e.g., Dentrix G6.3+ or Open Dental 22.4+). -- Rate limits are strictly enforced; exceeding 1000 req/min will trigger a 429 error. - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 10 - ---- - -### 7. Doctor schedules - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires an API Key generated from the developer settings of a scheduling provider (e.g., Yellow Schedule or DrChrono). For custom implementations, OAuth2 is common for Google Calendar/Sheets nodes. - -**Key Gotchas**: -- Rate limits are often calculated daily rather than per minute, which can lead to mid-day failures if not monitored. -- Timezone synchronization between the API and n8n's global settings is a frequent cause of 'ghost' bookings. -- HIPAA compliance is required for storing patient data; generic nodes like Google Sheets may require a BAA (Business Associate Agreement). - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 12 - ---- - -## Complexity Analysis - -### Overall Score: 5.7/10 → moderate - -**Total Estimated Hours**: 94 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 94 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-12.md b/technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-12.md deleted file mode 100644 index c7ad0f7..0000000 --- a/technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-12.md +++ /dev/null @@ -1,60 +0,0 @@ -# Integration Research: Patient Scheduling and Treatment Coordination - -**Client**: Bright Smile Dental Group -**Business Process**: Patient Scheduling and Treatment Coordination -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Doctor personal schedules | No | OAuth2 | Yes | 85% | - ---- - -## Integration Details - -### 1. Doctor personal schedules - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating an application in the Press Ganey (formerly Doctor.com) Developer Portal to obtain Client ID and Client Secret. Enterprise-level access is typically required for full scheduling API features. - -**Key Gotchas**: -- Doctor.com has been acquired by Press Ganey, and legacy API endpoints may be redirecting or requiring updated credentials. -- Rate limits are strictly enforced per Application ID and User ID. -- HIPAA compliance is a critical factor; data must be handled securely within n8n (self-hosting is recommended). -- The 'Universal Online Scheduling' feature often requires specific partner-level permissions. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 15 - ---- - -## Complexity Analysis - -### Overall Score: 7/10 → moderate - -**Total Estimated Hours**: 15 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 15 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-13.md b/technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-13.md deleted file mode 100644 index 487b59c..0000000 --- a/technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-13.md +++ /dev/null @@ -1,78 +0,0 @@ -# Integration Research: Patient Scheduling and Treatment Coordination - -**Client**: Bright Smile Dental Group -**Business Process**: Patient Scheduling and Treatment Coordination -**Research Date**: 2026-01-13 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Claims/Eligibility | No | OAuth2 | Yes | 95% | -| Fee Schedules/Recalls | No | API Key | Yes | 95% | - ---- - -## Integration Details - -### 1. Claims/Eligibility - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating an application in the developer portal (e.g., Availity or Change Healthcare) to obtain a Client ID and Client Secret. Production access typically requires a 'Trading Partner' agreement and manual approval, which can take 2-4 weeks. - -**Key Gotchas**: -- Production approval is not instant and often requires manual vetting of the organization's HIPAA compliance. -- Data must often be mapped to/from X12 EDI standards (270/271 for Eligibility, 837 for Claims), though modern providers like Availity and Stedi offer JSON-to-EDI translation. -- Payer IDs are specific to each clearinghouse; you must use the clearinghouse's specific Payer List to route requests correctly. -- Some legacy payers only support SOAP or batch SFTP, requiring complex workarounds in n8n compared to standard REST calls. - -**Complexity Score**: 8/10 → moderate - -**Estimated Hours**: 20 - ---- - -### 2. Fee Schedules/Recalls - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a Developer Key (from Open Dental) and a Customer Key (from the specific dental practice). Authentication is handled via custom headers in an HTTP Request node. - -**Key Gotchas**: -- HIPAA compliance: Workflows involving Patient Health Information (PHI) must be self-hosted and secured. -- Throttling: The API is strictly throttled based on the subscription tier; exceeding limits results in 429 errors. -- Version Lock: Certain API features (like ASAPComms support for recalls) require specific Open Dental versions (e.g., 23.3+). - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 16 - ---- - -## Complexity Analysis - -### Overall Score: 7.5/10 → complex - -**Total Estimated Hours**: 36 - ---- - -## Effort Recommendation - -**Tier**: complex -**Base Hours**: 36 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-15.md b/technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-15.md deleted file mode 100644 index b984f03..0000000 --- a/technical-research/proactive-patient-scheduling-and-treatment-coordination-2026-01-15.md +++ /dev/null @@ -1,59 +0,0 @@ -# Integration Research: Patient Scheduling and Treatment Coordination - -**Client**: Bright Smile Dental Group -**Business Process**: Patient Scheduling and Treatment Coordination -**Research Date**: 2026-01-15 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Tracking/Recalls | No | None | Yes | 90% | - ---- - -## Integration Details - -### 1. Tracking/Recalls - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: The primary source for tracking recalls (NHTSA) is a public API that does not require an API key or app creation for standard data retrieval. - -**Key Gotchas**: -- Data is returned in a deeply nested JSON structure that often requires the 'Item Lists' or 'Code' node in n8n to flatten. -- The API is strictly GET-based; there is no way to 'subscribe' to new recalls via the API itself (requires polling). -- VIN decoding and Recall lookups are separate endpoints, requiring a two-step workflow for VIN-based tracking. - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 6 - ---- - -## Complexity Analysis - -### Overall Score: 3/10 → standard - -**Total Estimated Hours**: 6 - ---- - -## Effort Recommendation - -**Tier**: standard -**Base Hours**: 6 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-12.md b/technical-research/proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-12.md deleted file mode 100644 index 4e464e5..0000000 --- a/technical-research/proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-12.md +++ /dev/null @@ -1,94 +0,0 @@ -# Integration Research: Pet Appointment Scheduling and Vaccination Reminder System - -**Client**: Paws & Claws Veterinary Hospital -**Business Process**: Pet Appointment Scheduling and Vaccination Reminder System -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| PMS | No | API Key | Yes | 90% | -| Payment | Yes | API Key | Yes | 100% | -| Inventory | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. PMS - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires contacting the provider's support team (e.g., Track PMS or Clock PMS+) to obtain an API Key and Secret. Authentication is typically handled via HTTP Basic Auth (Key as username, Secret as password) or a custom X-API-Key header. - -**Key Gotchas**: -- API access is rarely self-service and often requires manual provisioning by the vendor's integration team. -- Rate limits are strictly enforced in 5-minute windows, which can cause '429 Too Many Requests' errors during initial large-scale data syncs. -- In the n8n community, 'PMS' is also a common abbreviation for 'Plex Media Server', which has a dedicated community node (n8n-nodes-plex-media-server). - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 12 - ---- - -### 2. Payment - -**Native n8n Node**: Yes - `Stripe` - -**Authentication**: Requires a Secret Key (sk_...) obtained from the Stripe Dashboard under Developers > API keys. n8n also supports a 'Stripe Trigger' node which requires a Webhook Signing Secret. - -**Key Gotchas**: -- Amounts must be provided in the smallest currency unit (e.g., $10.00 must be entered as 1000 cents). -- Webhook signature verification is critical for security; users often forget to use the 'Stripe Trigger' node or a Crypto node to verify the 'Stripe-Signature' header. -- The native node may not support every specialized Stripe feature (e.g., complex Payment Link configurations), requiring the use of the generic HTTP Request node. -- Rate limits are account-wide; high-concurrency workflows can trigger 429 'Too Many Requests' errors if not throttled. - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 6 - ---- - -### 3. Inventory - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -## Complexity Analysis - -### Overall Score: 4.7/10 → moderate - -**Total Estimated Hours**: 42 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 42 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-15.md b/technical-research/proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-15.md deleted file mode 100644 index d8a2b7b..0000000 --- a/technical-research/proactive-pet-appointment-scheduling-and-vaccination-reminder-system-2026-01-15.md +++ /dev/null @@ -1,59 +0,0 @@ -# Integration Research: Pet Appointment Scheduling and Vaccination Reminder System - -**Client**: Paws & Claws Veterinary Hospital -**Business Process**: Pet Appointment Scheduling and Vaccination Reminder System -**Research Date**: 2026-01-15 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Practice Management System | No | API Key | Yes | 95% | - ---- - -## Integration Details - -### 1. Practice Management System - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled via HTTP Basic Auth. Users must generate an API Key in their profile under 'My Info' > 'Manage API keys'. In n8n, use the API Key as the 'User' and leave the 'Password' field empty. - -**Key Gotchas**: -- Validation Error: The 'max_attendees' field must be explicitly cast as a Number in the JSON body, otherwise the API returns a 422 error. -- Regional Shards: The API endpoint URL varies by region (e.g., api.au1.cliniko.com for Australia, api.uk1.cliniko.com for UK). -- Date Format: All timestamps (starts_at, ends_at) must strictly follow the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 8 - ---- - -## Complexity Analysis - -### Overall Score: 4/10 → standard - -**Total Estimated Hours**: 8 - ---- - -## Effort Recommendation - -**Tier**: standard -**Base Hours**: 8 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-prescription-ready-notifications-and-refill-reminder-calls-2026-01-12.md b/technical-research/proactive-prescription-ready-notifications-and-refill-reminder-calls-2026-01-12.md deleted file mode 100644 index 0497670..0000000 --- a/technical-research/proactive-prescription-ready-notifications-and-refill-reminder-calls-2026-01-12.md +++ /dev/null @@ -1,97 +0,0 @@ -# Integration Research: Prescription Ready Notifications and Refill Reminder Calls - -**Client**: Community Care Pharmacy Network -**Business Process**: Prescription Ready Notifications and Refill Reminder Calls -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Pharmacy System | No | OAuth2 | Yes | 90% | -| Phone System/IVR | Yes | API Key | Yes | 95% | -| E-Prescribing | No | OAuth2 | Yes | 95% | - ---- - -## Integration Details - -### 1. Pharmacy System - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires registration in the Optum/Change Healthcare Developer Portal to obtain a Client ID and Client Secret. Authentication uses the OAuth2 Client Credentials grant to generate a JWT (JSON Web Token) valid for 1 hour. - -**Key Gotchas**: -- Data is typically returned in HL7 FHIR (Fast Healthcare Interoperability Resources) format, which is deeply nested and requires extensive mapping in n8n. -- Production access requires a signed Business Associate Agreement (BAA) and strict HIPAA compliance audits. -- Onboarding for production environments can take several weeks due to healthcare security vetting. -- Legacy operations may still require NCPDP SCRIPT standards for certain prescription transfers. - -**Complexity Score**: 8/10 → enterprise - -**Estimated Hours**: 24 - ---- - -### 2. Phone System/IVR - -**Native n8n Node**: Yes - `n8n-nodes-base.twilio` - -**Authentication**: Requires Twilio Account SID, API Key SID, and API Key Secret. While 'Auth Token' is supported for testing, Twilio and n8n recommend 'API Key' for production environments to ensure better security and management. - -**Key Gotchas**: -- The native Twilio Trigger node uses 'Sinks/Subscriptions' rather than standard webhooks, which can cause issues if multiple workflows listen to the same account or when using the Twilio Sandbox (GitHub Issue #16316). -- Twilio requires a fast '200 OK' response from webhooks; if n8n processing takes too long, Twilio may log a 11200 error (HTTP retrieval failure). -- Trial accounts can only send messages/calls to verified phone numbers and include a 'Sent from a Twilio Trial account' prefix. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 15 - ---- - -### 3. E-Prescribing - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires Machine-to-Machine (M2M) token generation via a developer portal (e.g., Photon Health or DoseSpot). Prescribing actions specifically require an authorized provider context and cannot be performed by a generic system token alone. - -**Key Gotchas**: -- EPCS (Electronic Prescription of Controlled Substances) requires separate, rigorous identity proofing (IDP) and two-factor authentication for the prescriber. -- M2M tokens can manage patients and orders but cannot 'sign' a prescription without a valid provider session. -- HIPAA compliance is mandatory; users must ensure n8n is self-hosted or on a plan that includes a Business Associate Agreement (BAA). -- Surescripts certification is often required for production go-live, which can take 3-6 months if not using a pre-certified partner like Photon or DoseSpot. - -**Complexity Score**: 8/10 → complex - -**Estimated Hours**: 30 - ---- - -## Complexity Analysis - -### Overall Score: 7.3/10 → complex - -**Total Estimated Hours**: 69 - ---- - -## Effort Recommendation - -**Tier**: complex -**Base Hours**: 69 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-production-order-management-2026-01-12.md b/technical-research/proactive-production-order-management-2026-01-12.md deleted file mode 100644 index 060294f..0000000 --- a/technical-research/proactive-production-order-management-2026-01-12.md +++ /dev/null @@ -1,169 +0,0 @@ -# Integration Research: Production Order Management - -**Client**: Legacy Nightmare Corp -**Business Process**: Production Order Management -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| RPG III | No | Basic Auth | Yes | 95% | -| Production Planning | No | Basic Auth | Yes | 90% | -| SCADA | No | API Key / Basic Auth / OAuth2 | Yes | 95% | -| Spreadsheets | Yes | OAuth2 | Yes | 100% | -| Email/Legacy | Yes | OAuth2 | Yes | 95% | -| API Gateway | No | AWS IAM (Signature V4), API Key, OAuth2 | Yes | 95% | -| EDI | Yes | basic | No | 70% | - ---- - -## Integration Details - -### 1. RPG III - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled at the system level. For REST integration via IBM i Integrated Web Services (IWS), it typically uses IBM i User Profiles with Basic Auth. For direct database access, it requires an ODBC connection with system credentials. - -**Key Gotchas**: -- RPG III is not thread-safe, which can cause issues in high-concurrency web environments; wrapping in RPG IV (ILE) is recommended. -- Data conversion issues between EBCDIC (IBM i native) and ASCII/UTF-8 (n8n/Web) are common. -- RPG III has a 6-character limit for variable names, making modern JSON mapping difficult without a wrapper. -- Direct integration requires the IBM i Access ODBC Driver to be installed on the n8n host machine. - -**Complexity Score**: 9/10 → enterprise - -**Estimated Hours**: 35 - ---- - -### 2. Production Planning - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled via Basic Auth using an API Key as the username and an API Secret as the password. These credentials are found in the software's 'Settings' under 'Integration' > 'API access'. - -**Key Gotchas**: -- Strict Concurrency Limit: The API allows only one request to be processed at a time per client; concurrent requests will return a 429 error. -- Plan Restriction: API access is exclusively available to users on the 'Unlimited' pricing plan. -- Data Format: While the API supports JSON, some endpoints require data to be posted as 'application/x-www-form-urlencoded'. -- No Native Node: Users must rely on the 'HTTP Request' node or custom community nodes for integration. - -**Complexity Score**: 6/10 → standard - -**Estimated Hours**: 10 - ---- - -### 3. SCADA - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication varies by SCADA platform. Modern systems like Ignition require the 'WebDev' module to expose REST endpoints, typically secured via API Keys or Bearer Tokens. Industrial IoT platforms like ThingsBoard use JWT or Access Tokens. Older on-premise systems often rely on Basic Auth or IP whitelisting within a local network. - -**Key Gotchas**: -- Network Isolation: Most SCADA systems are on OT networks (Air-gapped or behind strict firewalls), requiring an n8n tunnel or VPN. -- Protocol Bridging: Native SCADA protocols like OPC UA or Modbus are not natively supported in n8n core; they require community nodes like '@fiqch/n8n-nodes-fiq-opcua' or 'n8n-nodes-modbus-fccomplete'. -- Data Transformation: Industrial data often arrives in raw formats (e.g., arrays of tag values) that require significant JSON mapping in n8n. - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 15 - ---- - -### 4. Spreadsheets - -**Native n8n Node**: Yes - `Google Sheets` - -**Authentication**: Requires creating a project in the Google Cloud Console, enabling both the Google Sheets and Google Drive APIs, configuring an OAuth consent screen, and generating a Client ID and Client Secret. - -**Key Gotchas**: -- Row numbering in n8n starts at 2 (assuming row 1 is the header), which can cause off-by-one errors if not accounted for. -- The 'Select from list' feature for spreadsheets often fails unless the Google Drive API is also enabled in the Cloud Console. -- Hitting the 60 req/min user quota is common during batch processing; users must implement 'Retry on Fail' or use 'Wait' nodes with 'Split in Batches'. -- Data must be structured as an array of objects where keys match the exact column headers in the sheet. - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 6 - ---- - -### 5. Email/Legacy - -**Native n8n Node**: Yes - `n8n-nodes-base.gmail` - -**Authentication**: Requires creating a project in the Google Cloud Console, enabling the Gmail API, configuring the OAuth consent screen, and generating a Client ID and Client Secret. The n8n redirect URI must be added to the authorized redirect URIs in the Google project. - -**Key Gotchas**: -- Refresh tokens expire after 7 days if the Google Cloud project is in 'Testing' mode, requiring manual reconnection. -- Full Google app verification is required to remove the 'Unverified App' warning and the 7-day token limit for production use. -- Sensitive scopes (e.g., gmail.send, gmail.readonly) are restricted and may require a security audit if the app is made public. -- The native n8n Gmail Trigger node uses polling (default 1 minute) rather than real-time webhooks. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 6 - ---- - -### 6. API Gateway - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication typically requires AWS Access Key ID and Secret Access Key for IAM-protected endpoints. It also supports API Keys (X-API-Key header) and OAuth2/JWT via Amazon Cognito authorizers. - -**Key Gotchas**: -- No native n8n node exists for managing API Gateway resources; users must use the 'HTTP Request' node for both management and invocation. -- When proxying n8n webhooks through API Gateway, you must set the 'N8N_WEBHOOK_URL' environment variable to the public Gateway URL to prevent internal redirect loops. -- AWS Signature V4 authentication is required for many endpoints, which is now supported in the n8n HTTP Request node via the 'AWS' credential type, but can be complex to configure for custom headers. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 8 - ---- - -### 7. EDI - -**Native n8n Node**: Yes - `n8n-nodes-base.redis` - -**Authentication**: basic - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 2/10 → standard - -**Estimated Hours**: 4 - ---- - -## Complexity Analysis - -### Overall Score: 5.7/10 → moderate - -**Total Estimated Hours**: 84 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 84 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-quote-requests-and-scheduling-coordination-2026-01-12.md b/technical-research/proactive-quote-requests-and-scheduling-coordination-2026-01-12.md deleted file mode 100644 index 2e10902..0000000 --- a/technical-research/proactive-quote-requests-and-scheduling-coordination-2026-01-12.md +++ /dev/null @@ -1,60 +0,0 @@ -# Integration Research: Quote Requests and Scheduling Coordination - -**Client**: Sparkle Home Cleaning Services -**Business Process**: Quote Requests and Scheduling Coordination -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Scheduling/CRM/GPS/Payments | Yes | OAuth2 | Yes | 95% | - ---- - -## Integration Details - -### 1. Scheduling/CRM/GPS/Payments - -**Native n8n Node**: Yes - `n8n-nodes-base.hubspot` - -**Authentication**: Requires creating a Public App in the HubSpot Developer Portal to obtain a Client ID and Client Secret. n8n handles the 30-minute access token refresh automatically. Private App access tokens (Bearer) are also supported for single-portal use. - -**Key Gotchas**: -- GPS tracking is NOT a native HubSpot feature; it requires 3rd-party integrations like Mapsly, HyperTrack, or Map My Customers to sync location data into custom properties. -- The CRM Search API is limited to a maximum of 10,000 total results per query. -- OAuth scopes must be explicitly defined in the Developer Portal (e.g., 'crm.objects.contacts.read') or the node will return 403 errors. -- HubSpot's 'Meetings' (Scheduling) and 'Commerce Hub' (Payments) features may require specific subscription tiers (Starter/Pro) for full API access. - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 6 - ---- - -## Complexity Analysis - -### Overall Score: 4/10 → standard - -**Total Estimated Hours**: 6 - ---- - -## Effort Recommendation - -**Tier**: standard -**Base Hours**: 6 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-service-department-appointment-scheduling-and-follow-up-2026-01-12.md b/technical-research/proactive-service-department-appointment-scheduling-and-follow-up-2026-01-12.md deleted file mode 100644 index 48d4b69..0000000 --- a/technical-research/proactive-service-department-appointment-scheduling-and-follow-up-2026-01-12.md +++ /dev/null @@ -1,77 +0,0 @@ -# Integration Research: Service Department Appointment Scheduling and Follow-up - -**Client**: Metro Motors Auto Group -**Business Process**: Service Department Appointment Scheduling and Follow-up -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Parts | No | API Key + Username | Yes | 90% | -| Text | No | OAuth2 / Personal Access Token | Yes | 95% | - ---- - -## Integration Details - -### 1. Parts - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires an API Key and Username, which are accessible via the user's PartsTech account profile under the 'Developer' or 'Integrations' section. - -**Key Gotchas**: -- Requires a valid PartsTech account and pre-configured supplier relationships before the API can return pricing or availability. -- Supplier availability and wholesale pricing are real-time and may expire or change between the search and order operations. -- The Tires API is often a separate paid add-on to the standard parts search account. - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 8 - ---- - -### 2. Text - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires creating an application in the Text Developer Console (platform.text.com). Supports OAuth 2.1 (Authorization Code Grant) for public/private apps and Personal Access Tokens (Basic Auth) for quick scripts and testing. - -**Key Gotchas**: -- API access for private apps and Personal Access Tokens is a paid service; only public apps listed on the Marketplace have free API usage. -- A strict limit of 25 access/refresh tokens per client/user exists; exceeding this revokes the oldest token automatically. -- The platform is a rebranding of LiveChat; many n8n resources and the existing 'LiveChat' node are the primary points of integration. - -**Complexity Score**: 6/10 → moderate - -**Estimated Hours**: 8 - ---- - -## Complexity Analysis - -### Overall Score: 5.5/10 → moderate - -**Total Estimated Hours**: 16 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 16 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-shipment-dispatch-and-driver-assignment-2026-01-12.md b/technical-research/proactive-shipment-dispatch-and-driver-assignment-2026-01-12.md deleted file mode 100644 index f5816b2..0000000 --- a/technical-research/proactive-shipment-dispatch-and-driver-assignment-2026-01-12.md +++ /dev/null @@ -1,186 +0,0 @@ -# Integration Research: Shipment Dispatch and Driver Assignment - -**Client**: Velocity Freight Solutions -**Business Process**: Shipment Dispatch and Driver Assignment -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| TMS | No | API Key | Yes | 90% | -| ELD/GPS | No | unknown | No | 70% | -| Exception tracking | No | API Key | Yes | 90% | -| Load planning | No | API Key | Yes | 90% | -| SMS | No | API Key | Yes | 95% | -| Safety | No | API Key | Yes | 95% | -| Fuel | No | unknown | Yes | 70% | -| Spot market | No | API Key | Yes | 95% | - ---- - -## Integration Details - -### 1. TMS - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is handled via a secure API token (X-API-KEY) generated within the Everest TMS administration interface under Settings > API. - -**Key Gotchas**: -- Rate limits are strictly enforced based on the subscription tier (starting as low as 30 RPM). -- Error handling must be manually implemented in n8n workflows to manage '429 Too Many Requests' responses. -- The community node 'n8n-nodes-everest-tms' is required for a simplified experience, otherwise, standard HTTP Request nodes must be used. - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 8 - ---- - -### 2. ELD/GPS - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 3. Exception tracking - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires generating an API Key (Bearer Token) within the Project Settings of the Exceptionless dashboard. For self-hosted instances, the base URL must be updated in the HTTP Request node. - -**Key Gotchas**: -- Hourly rate limits are dynamic and can lead to unexpected 429 errors if a burst of exceptions occurs early in the month. -- When limits are reached, the system discards events for a 5-minute window before resuming. -- Self-hosted Docker instances require persistent volume configuration to avoid data loss on restart. -- The API uses a specific 'stacking' logic where similar exceptions are grouped; retrieving individual occurrences requires specific query parameters. - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 4 - ---- - -### 4. Load planning - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication typically requires an API Key or Token generated within the developer/integration settings of the specific load planning software (e.g., EasyCargo, Cargo-Planner, or CubeMaster). For Cargo-Planner, the token is passed as 'Authorization: Token '. - -**Key Gotchas**: -- EasyCargo's API primarily supports data import/sync; the actual 3D calculation may require a manual trigger or specific 'calculate' endpoint calls depending on the version. -- Cargo-Planner requires an Enterprise-tier subscription to access the RESTful API for system integration. -- Input data must strictly adhere to SI units (Meters and Kilograms) in most APIs, requiring pre-processing in n8n if source data is in Imperial units. -- The JSON payload for 'items' is highly nested, requiring complex mapping of dimensions, weights, and stacking constraints (e.g., 'not_rotatable', 'max_layers'). - -**Complexity Score**: 7/10 → moderate - -**Estimated Hours**: 16 - ---- - -### 5. SMS - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires an API Key (Bearer Token) generated from the provider's dashboard (e.g., SMS.to or ClickSend). In n8n, this is typically implemented using the HTTP Request node with 'Header Auth' (Authorization: Bearer ) or 'Generic Credential Type'. - -**Key Gotchas**: -- Character Encoding: Using non-GSM characters (like emojis) drops the character limit from 160 to 70 per segment, potentially doubling or tripling costs. -- Concatenation Billing: Long messages are split into segments (e.g., 153 characters for GSM); each segment is billed as a separate SMS. -- E.164 Formatting: Recipient numbers must include the country code (e.g., +1 for USA) or the API may reject the request. -- Insufficient Balance: API calls will return a 402 error if the prepaid balance is exhausted, which can halt automated workflows without proper error handling. - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 4 - ---- - -### 6. Safety - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a Personal Access Token (Bearer Token) generated from the SafetyCulture web app under 'My Profile' > 'API Tokens'. Tokens expire after 30 days of inactivity. - -**Key Gotchas**: -- API access is restricted to Premium and Enterprise plans only. -- API tokens automatically expire after 30 days of inactivity; regular usage is required to keep them active. -- Webhooks are organization-wide and cannot be scoped to individual users. -- Webhook delivery is not guaranteed to be in chronological order, and duplicate payloads may occur. -- Service users must have 'Override permissions: Manage all data' to receive webhook payloads. - -**Complexity Score**: 4/10 → standard - -**Estimated Hours**: 6 - ---- - -### 7. Fuel - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Public Fuel Network endpoints (mainnet.fuel.network and testnet.fuel.network) do not require an API key or HTTP authentication for GraphQL queries. However, all state-changing operations (transactions) must be cryptographically signed using a private key via the Fuel SDKs (Rust or TypeScript). Third-party RPC providers such as QuickNode, Ankr, and Alchemy require standard API keys or Bearer tokens for access. Note: Do not confuse with 'fuelapi.com', which is an unrelated automotive data service requiring Basic Auth. - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 8. Spot market - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Requires a Personal Access Token (API Token) generated from the Spot console (Settings > API). Users must also provide their 'Spot Account ID' (e.g., act-12345678) for most requests. - -**Key Gotchas**: -- The 'Spot Account ID' is required in the path or query parameters for almost all endpoints, which is separate from the API Token. -- API Tokens are tied to individual user accounts; if the user is removed from the organization, the integration will fail. -- Some advanced operations (like Ocean cluster rolls) require specific cloud provider permissions to be pre-configured in the Spot console. - -**Complexity Score**: 3/10 → standard - -**Estimated Hours**: 8 - ---- - -## Complexity Analysis - -### Overall Score: 4.3/10 → moderate - -**Total Estimated Hours**: 94 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 94 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-subcontractor-coordination-and-daily-report-collection-2026-01-12.md b/technical-research/proactive-subcontractor-coordination-and-daily-report-collection-2026-01-12.md deleted file mode 100644 index be20051..0000000 --- a/technical-research/proactive-subcontractor-coordination-and-daily-report-collection-2026-01-12.md +++ /dev/null @@ -1,92 +0,0 @@ -# Integration Research: Subcontractor Coordination and Daily Report Collection - -**Client**: BuildRight Construction LLC -**Business Process**: Subcontractor Coordination and Daily Report Collection -**Research Date**: 2026-01-12 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Project Management/Docs | No | unknown | Yes | 70% | -| Time Tracking | No | unknown | No | 70% | -| Safety Reporting | No | API Key | Yes | 90% | - ---- - -## Integration Details - -### 1. Project Management/Docs - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: Authentication is primarily handled via API Keys for unattended applications or OAuth 2.0 for interactive ones. API Keys are generated in the 'Integrations' section of the ProjectManager.com workspace by an Admin or Global Admin. The key must be passed in the HTTP 'Authorization' header as a Bearer token (e.g., 'Authorization: Bearer '). API keys are valid for two years from creation and are tied to a specific workspace. - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 2. Time Tracking - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -### 3. Safety Reporting - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: API access is typically an 'Add On' feature in Safety Reports (AlignOps). Users must enable 'Personal Access Tokens' in the Team Settings under the Integrations menu to generate a key. - -**Key Gotchas**: -- API access is not included by default and requires a specific 'Add On' subscription tier. -- Rate limits are strictly enforced at 150 requests per minute; exceeding this returns a 429 error. -- Media files (photos/attachments) in reports may require a sync delay before they are accessible via the API. -- Webhooks are often scoped to 'Saved Custom Reports' rather than all raw data events. - -**Complexity Score**: 5/10 → standard - -**Estimated Hours**: 8 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 56 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 56 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/proactive-support-ticket-management-and-lead-triage-2026-01-13.md b/technical-research/proactive-support-ticket-management-and-lead-triage-2026-01-13.md deleted file mode 100644 index 87dcaea..0000000 --- a/technical-research/proactive-support-ticket-management-and-lead-triage-2026-01-13.md +++ /dev/null @@ -1,57 +0,0 @@ -# Integration Research: Support Ticket Management and Lead Triage - -**Client**: Sunset Coast Realty -**Business Process**: Support Ticket Management and Lead Triage -**Research Date**: 2026-01-13 -**Researcher Confidence**: Medium (70%) -**Generated By**: Proactive LLM Research (fallback) - ---- - -## Executive Summary - -This research report was auto-generated during pipeline execution because no cached research was available for the detected integrations. For production use, invoke the technical-research skill manually for more thorough research using MCP tools (n8n-mcp, Context7, Exa). - ---- - -## Detected Integrations - -| Integration | Native Node | Auth Type | Docs Available | Confidence | -|-------------|-------------|-----------|----------------|------------| -| Listings | No | unknown | No | 70% | - ---- - -## Integration Details - -### 1. Listings - -**Native n8n Node**: No (HTTP Request required) - -**Authentication**: unknown - -**Key Gotchas**: -- No known issues - -**Complexity Score**: 5/10 → complex - -**Estimated Hours**: 24 - ---- - -## Complexity Analysis - -### Overall Score: 5/10 → moderate - -**Total Estimated Hours**: 24 - ---- - -## Effort Recommendation - -**Tier**: moderate -**Base Hours**: 24 - -**Caveats**: -- This research was auto-generated; verify findings before final estimation -- For production estimates, use the technical-research skill with MCP tools diff --git a/technical-research/production-planning.json b/technical-research/production-planning.json deleted file mode 100644 index e9752d2..0000000 --- a/technical-research/production-planning.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Production Planning", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:17:30.360Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Production Planning", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "Basic Auth", - "auth_complexity": "simple", - "auth_notes": "Authentication is handled via Basic Auth using an API Key as the username and an API Secret as the password. These credentials are found in the software's 'Settings' under 'Integration' > 'API access'.", - "api_quality": "good", - "api_documentation_url": "https://api.mrpeasy.com/rest/v1/", - "rate_limits": "100 requests per 10 seconds; strictly one request per client at a time (no concurrency allowed).", - "complexity_score": 6, - "complexity_tier": "standard", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "Strict Concurrency Limit: The API allows only one request to be processed at a time per client; concurrent requests will return a 429 error.", - "Plan Restriction: API access is exclusively available to users on the 'Unlimited' pricing plan.", - "Data Format: While the API supports JSON, some endpoints require data to be posted as 'application/x-www-form-urlencoded'.", - "No Native Node: Users must rely on the 'HTTP Request' node or custom community nodes for integration." - ], - "client_must_provide": [ - "API Key", - "API Secret", - "Unlimited Plan Subscription" - ], - "operations_available": [ - "Create/Update/Delete Manufacturing Orders", - "Manage Bills of Materials (BOM)", - "Sync Inventory/Stock Items", - "Retrieve Workstation Status", - "Manage Customer Orders and Shipments" - ], - "confidence": 0.9, - "research_notes": "Production Planning is a broad category, but in the n8n and SMB manufacturing context, it is most frequently associated with MRPeasy. Research shows a strong pattern of users integrating MRPeasy via HTTP Request nodes to automate production schedules. Community experts like Samir Saci also demonstrate a 'Production Planning' pattern using n8n to orchestrate custom FastAPI microservices for optimization logic, though MRPeasy remains the primary SaaS target for standard integrations.", - "sources_consulted": [ - "Official API Documentation", - "n8n Community Forum", - "YouTube (Supply Science channel)", - "GitHub (samirsaci/production-planning)", - "Developer Blogs (Towards Data Science)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "standard", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 10, - "rationale": "Production Planning is a broad category, but in the n8n and SMB manufacturing context, it is most frequently associated with MRPeasy. Research shows a strong pattern of users integrating MRPeasy via HTTP Request nodes to automate production schedules. Community experts like Samir Saci also demonstrate a 'Production Planning' pattern using n8n to orchestrate custom FastAPI microservices for optimization logic, though MRPeasy remains the primary SaaS target for standard integrations." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/project-management-docs.json b/technical-research/project-management-docs.json deleted file mode 100644 index aa5d080..0000000 --- a/technical-research/project-management-docs.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "integration": "Project Management/Docs", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:39:35.216Z", - "model_used": "gemini-3-flash-preview", - "name": "ProjectManager.com API", - "api_documentation_url": "https://api.projectmanager.com/", - "authentication_methods": [ - "API Key (Bearer Token)", - "OAuth 2.0" - ], - "rate_limits": { - "standard_limit": "100 requests per minute", - "burst_limit": "Not explicitly defined (Fair Use Policy applies)", - "notes": "ProjectManager.com enforces a Fair Use Policy. While the standard threshold for most integrations is 100 requests per minute per workspace, higher-tier plans (Business and Enterprise) may request increased limits. Exceeding these limits results in an HTTP 429 'Too Many Requests' error." - }, - "auth_notes": "Authentication is primarily handled via API Keys for unattended applications or OAuth 2.0 for interactive ones. API Keys are generated in the 'Integrations' section of the ProjectManager.com workspace by an Admin or Global Admin. The key must be passed in the HTTP 'Authorization' header as a Bearer token (e.g., 'Authorization: Bearer '). API keys are valid for two years from creation and are tied to a specific workspace.", - "key_features": [ - "Task and Project Management", - "Resource and Workload Planning", - "Time Tracking and Timesheets", - "Real-time Dashboards and Reporting" - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/property-management.json b/technical-research/property-management.json deleted file mode 100644 index 96450ea..0000000 --- a/technical-research/property-management.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "integration": "Property Management", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:07:33.992Z", - "model_used": "gemini-3-flash-preview", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/qms.json b/technical-research/qms.json deleted file mode 100644 index 5acadfe..0000000 --- a/technical-research/qms.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "QMS", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T18:04:12.394Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "QMS (Qualio / AlisQI)", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires generating a 'Developer API token' within the Admin Settings of the platform. For Qualio, this is found under Admin Settings > Developer API tokens.", - "api_quality": "good", - "api_documentation_url": "https://api.qualio.com/docs/", - "rate_limits": "200 req/min (Qualio); 30 req/min (AlisQI)", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "API access for production accounts often requires a specific pricing plan (Enterprise/Growth).", - "Data models in QMS platforms like AlisQI are often user-defined, meaning the API structure for 'analysis sets' is dynamic and requires fetching the set definition first.", - "Rate limits are strictly enforced with 429 status codes; headers like X-RateLimit-Remaining should be monitored." - ], - "client_must_provide": [ - "API Key (Developer Token)", - "Instance URL (e.g., company.qualio.com)", - "Admin access to enable Beta API features if applicable" - ], - "operations_available": [ - "List/Get Documents", - "Create/Update Quality Events (CAPA, NCR, Deviations)", - "Query Training Records", - "Manage Users", - "Export Audit-Ready Evidence" - ], - "confidence": 0.9, - "research_notes": "QMS is a category (Quality Management System), but research identifies Qualio and AlisQI as the primary platforms integrated with n8n. Qualio is the most prominent in the life sciences sector and has a well-documented REST API with a 200 req/min limit. AlisQI is a no-code alternative with a 30 req/min limit. No native n8n node exists, but both are easily integrated via the HTTP Request node using Bearer/API Key auth. Users on forums (Reddit/n8n) often use n8n to bridge QMS data with Jira or ERP systems (SAP/NetSuite).", - "sources_consulted": [ - "Official Qualio API Docs", - "AlisQI Developer Portal", - "n8n Community Forum", - "SourceForge/Slashdot Integration Lists", - "GitHub (MCP/SDK Repositories)", - "Postman API Network" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "QMS is a category (Quality Management System), but research identifies Qualio and AlisQI as the primary platforms integrated with n8n. Qualio is the most prominent in the life sciences sector and has a well-documented REST API with a 200 req/min limit. AlisQI is a no-code alternative with a 30 req/min limit. No native n8n node exists, but both are easily integrated via the HTTP Request node using Bearer/API Key auth. Users on forums (Reddit/n8n) often use n8n to bridge QMS data with Jira or ERP systems (SAP/NetSuite)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/realtor.com.json b/technical-research/realtor.com.json deleted file mode 100644 index 4142b21..0000000 --- a/technical-research/realtor.com.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Realtor.com", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:17:49.580Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Realtor.com", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "Authentication is handled via the 'Lead Delivery API' settings in the Realtor.com Pro Dashboard. Users must provide an 'Application URL' (n8n Webhook URL), an 'API Key' (generated by the user/CRM), and an optional 'Application login name'.", - "api_quality": "fair", - "api_documentation_url": "https://support.realtor.com/s/article/Lead-API-Quick-Start", - "rate_limits": "Push-based (no limit on incoming leads); Unofficial RapidAPI version limited to 100 requests/month on free tier.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "The official API is strictly for lead delivery (push) and does not allow querying property listings directly.", - "Email lead delivery is mandatory and cannot be disabled; users must implement deduplication logic in n8n to avoid double-processing.", - "The Lead Delivery API is only available for 'Connections Plus' leads; other lead types like 'Advantage Pro' still require email parsing.", - "Realtor.com often changes its site structure, making unofficial scraping-based APIs or SDKs highly unstable." - ], - "client_must_provide": [ - "Realtor.com Pro Dashboard access", - "Active Connections Plus subscription", - "n8n Webhook URL for lead reception" - ], - "operations_available": [ - "Receive Lead Data (Webhook)", - "Lead Enrichment (via Lead Delivery payload)", - "Property Search (via unofficial RapidAPI only)" - ], - "confidence": 0.9, - "research_notes": "Realtor.com does not offer a public REST API for property data. Their official integration path is the 'Lead Delivery API' (eLead), which functions as a webhook system pushing lead data to a third-party URL. For property listings, developers typically use the unofficial 'Realtor Data API' on RapidAPI or web scraping. Integration with n8n is best achieved using the Webhook node to receive leads and the HTTP Request node for any third-party property data lookups.", - "sources_consulted": [ - "Official Realtor.com Support Portal", - "n8n Community Forum", - "RapidAPI Realtor Data API Documentation", - "YouTube Integration Walkthroughs", - "Reddit Real Estate Automation Threads" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Realtor.com does not offer a public REST API for property data. Their official integration path is the 'Lead Delivery API' (eLead), which functions as a webhook system pushing lead data to a third-party URL. For property listings, developers typically use the unofficial 'Realtor Data API' on RapidAPI or web scraping. Integration with n8n is best achieved using the Webhook node to receive leads and the HTTP Request node for any third-party property data lookups." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/rectangle-health.json b/technical-research/rectangle-health.json deleted file mode 100644 index 1901199..0000000 --- a/technical-research/rectangle-health.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Rectangle Health", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T22:58:24.036Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Rectangle Health", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "Authentication requires a Merchant ID, Public Key, and Private Key. For 'TokenPay' transactions, a specific 'Authorization' header is required in the format: 'TokenPay '. Standard transactions may use Basic Auth with the Private Key.", - "api_quality": "good", - "api_documentation_url": "https://rectanglehealth.com/developer-portal/", - "rate_limits": "Managed via API Key; specific numeric limits are not publicly disclosed but typically follow industry standards for payment gateways (approx. 100 req/min).", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 16, - "webhook_support": false, - "gotchas": [ - "TokenPay transactions require a non-standard Authorization header format (TokenPay + Base64 string).", - "The platform uses Vantiv/Worldpay as a backend processor, which may introduce secondary latency or reporting nuances.", - "Users have reported that matching payments to specific patient records in EHRs can be manual if identifying metadata isn't strictly passed in the API request.", - "Flat-rate pricing is common, which may be less cost-effective for high-volume users compared to interchange-plus models." - ], - "client_must_provide": [ - "Merchant ID", - "Private Key", - "Public Key", - "Authentication Token ID" - ], - "operations_available": [ - "Process Transaction (Card Present/Not Present)", - "Wallet Management (Store/Manage Card Data)", - "Recurring Payment Management", - "Transaction Reporting", - "Credential Management" - ], - "confidence": 0.9, - "research_notes": "Rectangle Health provides a robust set of RESTful APIs under their 'Practice Management Bridge' platform. While no native n8n node exists, the API is well-documented for HTTP Request node integration. The primary complexity lies in the authentication headers for tokenized payments. No native webhook support was found in the official developer documentation, though third-party sync tools like NexHealth offer webhook wrappers for their platform.", - "sources_consulted": [ - "Official Developer Portal", - "G2 Reviews", - "SourceForge Comparison", - "Merchant Cost Consulting Analysis", - "n8n Community Forum Search" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 16, - "rationale": "Rectangle Health provides a robust set of RESTful APIs under their 'Practice Management Bridge' platform. While no native n8n node exists, the API is well-documented for HTTP Request node integration. The primary complexity lies in the authentication headers for tokenized payments. No native webhook support was found in the official developer documentation, though third-party sync tools like NexHealth offer webhook wrappers for their platform." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/referrals.json b/technical-research/referrals.json deleted file mode 100644 index 1a2c9b4..0000000 --- a/technical-research/referrals.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "integration": "Referrals", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T01:23:27.808Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Referral Factory", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key (Bearer Token)", - "auth_complexity": "simple", - "auth_notes": "Authentication is handled via a Bearer Token passed in the Authorization header. Keys are generated within the Referral Factory dashboard under Settings.", - "api_quality": "good", - "api_documentation_url": "https://referralfactory.io/api-documentation/", - "rate_limits": "Typically 60 requests per minute, though this varies based on the specific subscription plan.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "Webhook signatures should be verified to ensure data integrity, which requires a Crypto node in n8n.", - "The API uses specific Campaign IDs that must be hardcoded or dynamically fetched before adding users.", - "Rate limiting errors (429) do not always return a 'Retry-After' header." - ], - "client_must_provide": [ - "API Key", - "Campaign ID", - "Webhook Secret" - ], - "operations_available": [ - "Add User to Campaign", - "Get Referral Link", - "Update Referral Status", - "List Referrals", - "Track Conversion" - ], - "similar_integrations": [ - "Rewardful", - "FirstPromoter", - "PartnerStack" - ], - "confidence": 0.9, - "research_notes": "Implementation requires the HTTP Request node. Users must manually map JSON bodies for POST requests to add participants. Webhooks are configured in the Referral Factory UI to point to the n8n Webhook node URL. Data transformation via the 'Set' or 'Code' node will be necessary to handle the nested JSON responses typical of their API.", - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Implementation requires the HTTP Request node. Users must manually map JSON bodies for POST requests to add participants. Webhooks are configured in the Referral Factory UI to point to the n8n Webhook node URL. Data transformation via the 'Set' or 'Code' node will be necessary to handle the nested JSON responses typical of their API." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/reporting.json b/technical-research/reporting.json deleted file mode 100644 index 6f113a6..0000000 --- a/technical-research/reporting.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "integration": "Reporting", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T18:09:18.267Z", - "model_used": "gemini-3-flash-preview", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/research.db b/technical-research/research.db deleted file mode 100644 index ca6eaa9cae8dda99f1f682fa41f6c4d7ad03fc65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110592 zcmeFa2b>(ml|SBLLQhZ6^aic8ViiURfrK=hW}}FUvkM8??|`;N1*v9Zk^#+b$9gyg7411|L_0V z1?_gd>h7w3_3G8D_g=j>bo!QTF_Re0h_ZB8*#@s??s+iAa3gLA-2M2ZyCN^(d zKX_K6;`YS$ZHe+nR?>S`WrCpvy(@%fvQx#(SUz3M=B5gJr_z%d5fG|qMyzGGQ&S>v zCB0)+X?`HQV8sgg@?0^!Z^HLZ@#Y|Z|E_^kwha1SlUS)IgrDpPK6TgN#=)J59XmH~ z9oTtx;kHJm9c27JgVt7K?igC|#A(IBb(N08Wqy3C+n@>Muum<*v+2VvfJbt8)W+yUxr_;spR~kBY6W?pT!UzxNGwEVx zWG{B4beF%Ondy<*mBYEo=?Toj;_TkSa4w(0kPnoRPi7PyDDEw0Gx;iSAI?pUW=CjD zt30|dUC8Vm&&}iu4o&;Jwr{48oyrsnd#Cd`5JjQN``uwH&Q4cD<5*@YgE^fUNu08M z`@grtNqaloW;sL!tJR3z2I<0l zhAxjV|6=~Z{H^(-`4jVb^V{Y#>c1;b$+t;Gs{Eh)DIFcJlP-dmxhp31!jAB$!QleQQt@Aeqw4I}iYg)oXmqePyl!OuPe1y)5!T+{y(j1* z?4{4&c<#!7eXRMF5H{d`ZE2NJCtZ4}r2=7L(AJQMu!+oAdLnt@Os<$o@`*+WN>7a> z)6<}&1E|Fab|*VJlPQ6;{x;7!c;d~!I$^c<_3Sx$o=s0Kx_01*UZKi^6P2gJ-1N>V{^-)urnYozL)@dTDvQztVGr&teGn|cX<=&NAdBdbT&DiJDAC5Mv@bm z^av;^J&_&F4%_prFk2{QCaV(A-|E5FiKA3&Kao&liv4&bbi(xep4Cr~t{B*y++lxj zVhg?()FgawVu*cj>6{37R1^Md;ZttENJqm!f0h>PWNxNtlN2tnz7LPHdB^ZLnVw3I zWhRO3SDSwSci-{)aoW>|X=#(2hf{l6=GQs+NNnf$pbLf%Ha8ibx4QT!wQK(~D?r6$ zeWi8wRp$BYe)RRDu)AMa0e(RXz~^sFytWmb#mNBiHoA25%ZdU|4Mt+n@DW;zBRE9-zwrN85FtwUnhyauBj!8 zu>ai$Uq8A!y7rvhRL1RpX_wnyX?D2+X?@_oFEO-xGW%qYislJe;-pjdba8+JRhlIFrPhk40^2cs7aUFP$tDb9t1puNlp!3&s4*aB(J| z`QN$K_u-xWui?WxyY>W~J>p5fr1|r{XLr+QBnCDo?9WKhXC(M%u(itnDG4kK#Y}z* zTVU}E_hK!Zm@Q-r)|65wopjPUgr}CUY}HE|_Tl5;L?hYZvTfh%uMoD0{;%(S4PW2U zxhKpu2Pg6AaLAbsJMx+2&deCZUz=gB!H%sklTVX|V0R|(ihpYoLzC%zQP{>=N6Mzu z+j}-A4D7S>*u)Og4jf!}I*Sj_W5-(+SeTs}PKq_d>4}L#vY7Lp^M9sD-Po%)TNC)* zU~R(hdh1yHHmoRqMsb_>#!;kxxW_ z6Z&rW3&HEucWbMnFGL=TJ{x=?`qk*8%3aZqhc^bU)&5a_Qh7eKKm4|ESlg{Fj=n>? zNqrd`$ERZ*=8?wl1C5~; zZA`yc`D*Yq^QUSyuqOOu@MZnofqw~T`t`vJg2yWTdMW&zcCUUgcvkp4{Q_-M_~Ysy z0(a@>sF$j%m1X+YP;aBD=Jfo-dqxEJz5C??>N}0}Q zMzLQZ6=iZFH=CX)&Por{ZKIjY$iDROe(6)1+NeO+D}Ay_O)A4PnBbF{e6lbzJ&jo? zePV&yp%gRe$>db7=n{KD`Z&F$FrJ;B22D#Jt5cUNApiZD;`Bs%I3sVKpu=xq~ZqG6m_wEo#4lSuwnyv^?mVGn-NOkfF9H*~#=6wew(9UC7ZO zJz%QKl94bop&jZfEQL~wYN#|YCeS`!DCCT*gFgCSCdegl}sJ%*NA~Rgf zV{bd0EM&)~(!`Mq(mjOhk=*bM+mK`q4Uea%#xl~~E7c*Tm_C#QPN&m0Gr%>et?+@K z{3LydI^rUdu!zz4V57Q9$z$sS4cA0^YKr>s0s1t~P^I@13iqX_7z)zUS?PTQ7)5gv z=_092rMn2_v{eB6nU(IO&nLwMXe5)LmhPZ&1S^$pr|0m3SHsK+RU^fXms^&Lj#^)xt+@K5wg192S@!(?W1A4n4TiiKXp=ryI%E&zC5t|7dOQtJF3^NsA-%Cd zT_umrP72?2**rBV7t*7d;w;oVM4x!);d=ELxtN{AWa9Ji(iZhN8KT++m?Of|Nz9DG zC7RkK)2zEVqArjz8;XUCqG}7SX7jm;iCJpFok5(!4;`WQ%kESp&MIxYe`XVMBld6hgwNXwN3kB*AcCF)i>IJfSne{f#D>m#7FXD z^w4NFGcl4ZWby}ykU>zN7IvqVd{KgI!B{I6uggmI69M= zNbBlCKCo|~dkd3=y@bPw9CTIAG(La6+989f*;+k!w9li4s4Jl9bLrvYWZ@iwK|uqF zZfp;sevECJZI*F1_0#SEs?VZQ0few0n$+x>bhDt@$?smErihln`$2RbuRNnsT}=Zz zilwf|hkaLEU51AlV;h+)3{hwBcPD)bz6d0X1rf^h!s!IT!v)|bNgT4U!zMA#Ly{z0 zIoi4HG#0*M+WFQup(5E-Q{F@DHR!BPokMb z9F-7rqFb2WcjyEvI2_}6dI%~|TCp;PE$0`L%Rs0k$*hb3db0#vc2KgJ2pC z@9$*~xE!{J71I-$0{SqV>86)6X$JhU(8c%;E&eH@HIWx~(v2K2S?Hi<9Uk3Iw9gA* zsLV!(-n7xsVQHSo<@UD{A@J*@P46^Beh7>O6SU-KC)Usqfu6wwlH!88n)){}Qy5Pl zOKrk>wI8d%6cI~)2HZZsinyx_W^)CbMH}5KiB|ax@P;y3$c+{crt_I&2zfLGG9yP* z&&Ox>5jR-DuA$$+7ac{-k4+boUCRlJ_QD8JvT!6-urXam^J+AGD8aZ8WVU_ydRwiH z`(gb1 z{FsB1<29M5d3S?<<$$#Z+SFlUxey9olOjo7tezy-RGTQxYHx(A6R_QEqB(6#Z7~!T z^P7_SP4lHH8__w?90ukvFo%IT49sC*4g+%-n8Uyv2Iep@hk-c^%wb>-1OMN^z&shs zFUNUfFSKm=Y!g7Rh4N!a43sIzd+HU~{m2C492-(TNdEtd`7(XU0`t%2%jU1lyUe$n zZ!!;>`^|IBt>%g5vF1WEZp!gr$A29EX8eixBk_CV?~UIOzaoApet!Ja_^P-bmtsGU zeJl3m*k@xOjNKZ$E|!mFV!LCTV*Rl-v3bTHj2DgX7*86XHXbl;H?D`@z(Hf&*llby zdW@ru7Q=}CKKjGxx1vu)ACEp1y(9Y8=w;FU(RB2*Xm|AJXk%2;U)F!7KczpeKce5G z-=^QFTY6C+(!2FVdR^oXk!K^1MLrREPvp&!iy~8z^CMd$$4A;D%Omq5s`h*BN7_GY zk87XQKA_#I9fJSBpw^`wrOnd<;g`eT4*x^=&af384{s0mg_nh)GYtJ0z7G$DZVr_~ zlcCc>t3uJ>OTp)Yj|CqL-V(eaczN)`;NIY-U`KF%;4gun2EGyaeBdL2I|4TbE)I+Z z&I)V}oES(2jtVrXe^FmhzovdlyZ@ADB@qqQXE)GHwE5NvZbgEd*V@Ru7PpS4 zj=L6+Ox!xo4=}8?0g2f%nbpm(`o*GV^$|MB4yReY&Sjm|6OjB?xjL)c0VTMhE@E{N z&Y7()Vx`>csMQ&eT+?0D>JUnr)lQ9&El;!BoXZBQH6WE+_8P3D15CK)z6I8rfK=7u zx4>HMt4TO^obwFpSo&ng9B5dpc(IMFgPOIHx(PT zDl;I~TgzQo8#gM(ts`kLJiB7tT2>B75WurF#;v6;AVJ2*dTR;2*JppMw-!4v3zzkbzUP z<`WXh#;I9N&Sir&j|S6k@ocafIS>aJ9W!Wy)j&YMCA7h+7l16jOJPTgRTq%R2w&Ag z+G3f$+Jw)3y3~r(T=W?~{U+3 zl}6&`OT`+2gg3-5p$X#|kmDDZl`o>QU{aptIY#t&C_AHa@%!6fs#DReH%68|( zjC+U3p4(i$d`hH9{E^wF%>un2=4d)-OxEdmo_a(8+ddt;Fd*3$>Nc`a$EMvP*{EYV zDmqkne0+)?_UzQ=B)uJ$YSs~0s$&y$ziX?G?q}@SwpQyG1SH2^ZD!enp2gZ6X8>3z zxy?F0MooEEYkicSX7rz`&k#pq*L+|*W5d+2Ypq_ekN7h$CIox6ktPatEY=Ngp!vf~ zZMMyN@m``DAFPd8tw9H{S~s6hv|-z=6F$4OejfGEwp=ebm)duX)HGkX?RwEU0m-vo zCy3J~U{$jRW98C4#0G5pb;6^PgloT!o=phl7Hs1z`WDBAZJfzU+={L5rq0-QZ1W7l zt!>FpkR@B+MU}QKTN@&_N!IN7JK3_&?b&wM$eyjAPIucDZG8v3W;X5m?KBF^s-56g z?fPv5^4YaxTWMfi%l147Vqgj64=vcX=Rpv|!oaQD32xoim>@>>?FPtU#HK|HcO3*W z+s4f&Xj2SgnPBCPK{9iSuyZ#-F7sQu6J+VuAf4H^?l8nMX6@D>jsXOFcO3GU;1LmD z0I|y@E5QvS7K60q`FX@55UuP9Xv85*2~)-}Aw#h#!<{>f7-T39K}H=UD4*%xh(UJXy%$m(H8QPgF<9x{|4@wx#S3e;iKgRVn-;*(ErfcR8~P2GSP<fgXccGO)$W)x0L`=w1 z7!jBCMB+@4a{XYmCdg5K${`;KO@lPWC`VfiG0J5b-1WtCbO|qoQ02^O!I9SWN(nVU z!gAS={d}mINmy0X4rJ91q4JHwk1Mj6rJhC@K(z zf9H>K7=R9X%$GM*h9pU51@OsG-FNejWE ziAm^Z|_lsX6|%Vpt^fKm^cWQETUMu|ZlSsHN;8_+KQ%4YnI zm(IiQm~|}q|10KK@LO7F{?h!4@f+g|^GwxLrT9t4R`Y42FMh1@fbxFjACylj&njP0 z)+uW=LtAL9j=jZLqF$k1q>X7ijJWYcY)SOrLkC0qLVpbXNO_y`#^}q@=c8YX{o43! z^il0N?P%kV(Fa4H2;Cq4`|#cJzXV5v1+yo5Q}j0VLUla;K=hj6wqQ@R5X;3s72O}+ z7yeE7neZur?UB8KzQ{@1AGM#y|0DinG_Cwj`BC7zfv3%fgZBsj-fW2Oj2&+dMuL$> z<0sKgF)ez0tUcNu`($*5`hxlu^Xl-?VO^<{Uk=O!M$J3bUFyl9B_Shtd+=@1Q0P7J zk8@Lw+G%DxI*7+ z!*St{sy7uYN=1_b5cjn>vqxvfINW@h5 zeBgJ1pTuMO5qdN>PnUz?z<-9m9{T&(m61OLn$>@cJs0_T@IQjT3Vbf`;mEg*2h0b| z5##pA*VNBIdvKe2L-3m58)NrG9#z}aCFVQLWc3Oj(;ajVu?~`AAg_o}MFMcrJ`AFX*w`HIAuJm0OgmsxY z^h)0$KWWjUSNgU9VMmUnZ;=Z&oP4F{oQr44!<*cFrEj`d|4hEr-1Ap@Ml5`Top<1V zz|zyc($~qU+;t0@n&=?lDQ>tCeDXc!<<`CX8u&x>GJ_ac36sXCz4 zc1@Q4!B=0Qcaa{Y*H&m{kh*0#&M zQ#1gA@3Ztt2LSnroS~&p5H?A}B7NMw`WPKcuszR0+uOZWTWu0BP&k3NcPQ>1%&fpjU-J=8EXDbn4}#fPYxYf+>RiiHo* z%&^6Kern_WE`;k(r1ueOUG0f_*PL|oKHPsYK!wkhkH+HajxiaU#7A+$8)%^rm)!KIozKu zINYBlINYB}%`-*CZo-?VrZ|Htn37@_ceo!C9qwHP#ZJ19sV7cnS0v%@a2@WsYGQl2 z!~HfwwxgEV>NwmBN{KC^!#!6?oW>pQPpxpc-|RTt^NF*GUhg>EZ}bZ3{DyLeds0IT za)H6ddm^nBaCG?-OZ*%R|SSr!uWT3BTeds4*t3ABB7P37TUzIcMn^% zdebrKA$ekU4K>Dfc&n+xnd!%R1i4D2c2AkGl5TgV`!V!EY;GLwkcgm0SV6UHc#iT< z`Q^TGJFRi>Rk;jIhMu zYQUr~;Ad=X$t+GSI%&3YLT%d00F7vXs{+CVwiN*( zdXmY4LFz9l0kHe4TcjR`Bj4=Erm*(4VGCH0evTVVl9opgktEBM3v#z`{(s)w`Tx1| z|IXR0x%2;X=l|!<{}-jX^Z#?_|L4yC&z=9L5X70n-1+~x^Zy7N>6u06&j0)TBxrNv zs3Ydi|IeNOuL$ZpcmDsiMb-Y_J^$ZG+5_+We;gtH&2!=x#7;3<_5X}KtvwySJv0!k zn~VQnE#rU_cag{Qc(w47bMgOQH^S!P|5N&bS0}8w`2Q5pw`Sgr_PO}~uNv`qF8=?k z<{@y{7mw)kYSR)q73Sjqv%sNVDu>sP!nyeWJbe(zX)gYM4HggF%*FrrX4z}tOmp%7 zUqND+i~nz*7oUs&kBk`qFUS9{nujjc+S}JD8NPPc5va%wQVFXFW#tKQ?=<1N-)^b*_!I=t=@D`kC!1R zU>&i>lukHdV~w^2<+ZOHZ37h4HnFw5N5cIzI@i^|wma3@QEMQ&d&SN*t~RAq>I9D_ zsvHj5%HruJhJ*n1Rqm?Mn^!>Yl=%U7DxamNkP*RSyRh&hA1=i=OMZK3m?8*$!q0|ni7 z`{uv9Mh8>fYrFefyL)PMu(NMZkR457LGz0lCv9KII_4Nt8W=c@ddcx-hY0t4bKRq8 zTUbqEz|HoM7~-LmYX?=X+FdsBIy+iB`)ka3h@UP#e`fQ)=KV*T(!zzyy^h)kT{p9U z&GvQG#u$U?fDn?ZK~EhiFG~$)X!FKalrc1Zkap9|z9Gbf=A|0#y~v*&~it4 z4KX6&XEHb0M>Bb;Rzp2&JG)yuYfxope}5&bj%Syb%}M56yK%>^WEZ=t-BhX{oU%F& zJNv~{tb9%y(?^=pvSq8;^k=Jr7cYAwODT~U7%6zLS}ngKWq0U0$qu7AKU2;SE5PsKwd8((ix4p*8 zd%6VS!C6l&W2q^%we@?%UU6!6gL4#{aSb4{;*P5Q!Q$S%wu^SZomE*`XLpx38~8xh zrI(bUl{t$JQW$e~RkbBH$=kbIJ5tppiO#NmVIE``drdI3vZLdJw2-r_s!d?^?x6)7 z%S82$=}LJc=dirM;YFsjVnv%bf~=)!Kz*!qwZXhI1>t(3DoM?)En-cuP~;i9t7@J#|5-t=1FB zsSp$}wYqz&=ZEeDWB0zEPc7qcv)hptVi6H1umJKnQP})-{x}0=wUr$~g0Swj9sO%l zDXhLVhM_&RC&X3KzfoC{8*pYwgE^acV<;#=ahzl79Fu!sTi78%? z0Ik-zO>dpO80G5p*3m1jat_D3V4g?gY$0$?Tdc#$8%lHFl&iH#l-2u6dy)=NoI9@r z`9`lT8`rFjG;-2XTj{*rRytqVmP0(KCJ(6a~hAaQTj?MU8yOFM*)~?PP zUo0wS183ElQhj|3`%wGk*@4aJ>TiBEe%O)f7RK!yv%K3Q1+1eua#FS1Y~_3f8M`CZ zE=VG@|6eM7Ofs)Go8s??9~=8vY{2-EF%tc+=ylN}^!xR`$QL3zv~Ov9!+#8K3_Tgz z9sEkLD{yl_QxB^#WlDZQJ|B<&Eq|<)+uW@HGQ5K|`VKoL*%?Bf#A-t(;~jPM9lWgl zjEGgHZ|LaU)zP^&)knOuvs0MfBD}k!l8M(@(pHzh*}E3sNzWa0f{yiSXzP%#rdA(% ziR#X%OEr()FzDp{cySvM(LG!0x&`NdJ=R6ZpLV z?*^|8I-&j?UTav3PBW$c{&gNZ@C}1|PSrPT?g`cE_txrO``YgI*1n#U#~{S+VeSUp z?s0Cc=T0r#ju`htsB_NOSKyW`|s!y7J0G3jy{1S@dlf%@Md?Fw@I1HQcl(= zE@nCBYs+eD^aKi-R5unPVU-tq0tW7_f{w6d8Jo%^`HEA#>sb0p;rwpJ9ku$?2V!Y$ zPYG;P=ucNqr?-iA5p%>wPl*+wIc`sn$|PC#9IA|rR_p%SeS~ta3mbZOJrVne{J1W; z1gyplWlF3n2a$Jx15sv3;T%?#yK48Qy|=Ypl+%RXq@a$dm|L0^88oG(8&?T)%SjQo z!MRAR#2ynlq(%}hXq9^?x>{d4!1Vgpc46z%C&*MCyIgpx6RU|kksRT5W<9#HROpI( zx_aY|p|%Z_sLX}bYPOFx+g+nsh?#16v)Z9`-bS7+44!hxQwDjk+AViLvD_{&df|gR z`+F-Hy=Em(F{O29Ze_@4^jZ-d!%MohfpY#OhU}bwZ4j#4Haq#)5-Yjp2E#%DBZS0& z-t)Ek-AntOj&>gdatErj52`gs_|-=TOsT19sYfdmXAfDvN9eEkenyrFu492 z3W9Ddj2>HY6aBzS@?c`if~p_F9*Onv=W!<|BvLHNP{4Mz zc0=6vTIP0*x|x&8NRV1#$`xvusajl!*sSxxq(^2S?Bk=pW;;9~%@ug_Czc7>&Y9-j z+c)oM!!qxb#Wsacg-qYkk6n~7h+>=I-L6i~X;aIeP_0dzd)}Qxn>$W9%Q^chw&{K+ z)K-1eW>>GUk_&Bi^$Ug#ug&Aj+H}q)@8Xh|Q?A|mFZbkK!VYu2XWj=t7jD37X95~0A|0O!`aq-(e4}klp|`cW zUs#Jp-1c^Q4d(mHQ0koD9^zROopQCNXfN19!eMU>?O<1r$hUre3;o<`4EK4;YNlnd zquUL!7*>tc)`%UhADTeUM|M@Kg&sERYi#DbAOw4R z+e1C>VA*n%muYv%4Qb)QDqF;$F!e}RAGG~7CPJ5BW^*P&V7l9D+5R{;X2y_v<;CTz zY?&!8Fm{-Nz6D<-6WDD$DiPwifnOZ5*8D`*j3f07*#^|-!HDF;+J7`D;e71&N9uTD9o`Id9V=?UfI4qrVu{+ z;gct9nSAY6W2iG7Wf<>H^I8MDm`A_9)rCz>A?w3CLH{JdR zCQWJ8s+1?Y_~Wmg=A>~>oPyYo{yGtH?$#b#*)H0kbhHbyCbrdpGx?&2c$q6}@*PTO zY64oBRf2s5(cK1j?ntcMm7SVR;A#~BwcDcww`?2lwg(%vxA-~JZ*+f|#742>*5M!h ztFTIR*?f@#I&ppL#EFmpi}?Yr^lb~(APT}Z8FJJ+^%`YlOfv#^&}>=?9S z)@{~Slt3+L=hogep0PvRxsV#oc6Bi;Bc_(SwzFnA9P6LXmD?wM+Ft%vTCs6=*K70A ziU@kJ+p>^)ZtT2@J8E@@A-^APAyvBr5u}2s0@kr(u4-!;W3shl^bI+Q#Vexo)qbW{ zS0PG+PQ=Zxh&fnibT9LQLn$k*;HZbZ>U*AwoleEBrbdrQvhQr|!HVlgo&y(lf1zTg zjC9;cgYLGOj*)4EJ980!&MqDh|~SYT^-IdmGm@TIQ$ z@{TGROXK2wW!4ZO*dlopK%GHh76oXnFT+}w@*CnAN;?_63;H+r%N$us%cNZ%XEOnc z=`Du1ez}YF1ot{D5z?qfz)anw{R6SVesuMwqT=QJC@Gb?W&UKZ&HnH&lor7D} zw?RwAOSKy8UE9^s+6%|KYE+l%t->(&pM$YpE(i<=`#Fdd8<|2ev1{uPO10WzYKSh; zdMx4_UNs(J@sHCE?7_#avbhuE6>!cfAV}1PnW?GFL;}7TRN}x|?RKo~f-8-v?_upi z8$ zFn>ug!O~_Y7eHcnCZ8S64yS2xtbT8;?)9zh?1MkDplcMnS4{%ZY5%`OdR#KEFk|ss zVgG+5c82jyV`ud9(WCU+_14Ivku#AyFBSe^xG{89@ZW;P!1IAA_1Ef@@+aj~`A705 zJp6zC=Q1nm&gsQW8n=DoTyAc=%el}Wvu?rAZc4qq z1EiL)r}JcHavwCra*4HVb%6rEt9obcPC<9jBRWuvoq~a&a=u%UvI&m>lsmRV zoUcCN@r6*mLX|AK&Iyf>&A(D{V6C<^*ud7=HZXhh>Z)Fo@Ec2#$3}m(%D)N_(1yeH))oI8{Y~BqLqu98h)DU&fo$erVdvoP&4XtS zwPtf1P@_>S$e@lcC~HKf*bSXEgG2LI!3;u&tx(yDZ0p#Q%-!AAx+k_GLr7YL*X}?H z)4go(=yrgP(3XF-c8L}AlxJ+B__6ID7Jpr>Za~4>)!GA(tEzZ__pI9uJ!b`6q1zUO zV1p}Ui)0L>KfF|{C1}XV=gYqY;DZ^wzf(MK;n<9s7zrvpWO#hbTGNYEBI=vb^^*v zwnOMILyQgYgX4v8>VuR25=*z_GQS{EnV!rZ$TMAcVraGiqgvbM-8;+cYjp;G+kLGm z2&5uCxSfHL$-@ZmjcG+J$z|ZS+&(>?&QGR?XOp&T#|~cP{VA)h-4)oVx{Ud5RZB+3{#S# z9%FMs@hgS#YJ3p%UD>FRKO0}AU{~lDVP}lg; z&YKhYwmbB>*)sNx|y3n2bHcp9%aBhHz3x9a2R)g46KxYX0^)nmZAb4H{5-*%~t>Jci zqdbMz2L9J6*J=_{A*|sY{!Kv_xyi6^ui`5`lPgoxxtYNRFs)}{_bj-Os;#;vTpZ~U zKh%XoO;b6N7frb~7yC=GlsYNLu#h^J0`#wJyb7t({{NmplVtwdeBON0{EYdKd6)Ti z^G)VKbH916xz#+;Jl0%j#!Wf?>-dl3-;6&Ie;I>CN|IbgYlyA9pg#k)5ZhF?Z)-S<;Fo{+}Lew zGDX& zLX)A>LaRd2;7h^hf{z6s4BisFA$WQ4!rGp9a1W_1}+Ya z11KH}>xhL!v-~=4Ax$Cp}2L_2^iC6k%rI7C>Sqr>_+ozE6B$+3KT zBr~?uLPlEQjtWcn*nA5~YLTn8+*x*XzJ-*vyh6;qG#a;%yOwfoAg?DRh}lfsLhf1- zU|7gr+v4Of8Zj)SuJwwVh19i;GOVt{nuW}@_GO)g+_lS*l|EO5P)R0*eRURc*V-U% zG~E}mkifP{CTnIoVj+Pozm8f+T#M8m%^1Y_i7f>);3Z~_`MAl za?~Cp`^w(}NPt9>=D+3h^TLjKwoWH=cioz1z1 zh5WUwNIC1y)huMNZIofKI!CjRv(~;eEaa9wZLO=fJ1cG>Z|zc91R!JWQec`JP|l27NL=5p39(?SN@W$4QoZDpZhA2KcEv2`Gn*KSC&kjb`D#^p}ULKa*5vcWmpYPD^tg>1O&4(}|H@5t4*1`7#tkKwtX=$ID1Zfk=Tb%E@5 z0ybGlmYb9z%=?ZiZE3QQIM;!D&1`A0kU+QJ-#hm-(P=FfGU~Eg?-BP@(P@T-47)AJ zb2XAgvb$3a3psXKk#gUiI?qCyUF2T2&pSKkayHMikZackJLhvY&$p0ow@t1%8MA4= zC3_XZ8JbOtEs63j`;;p}7QBs%FLSG_q`}+ReAp&b`>=_yq217YsaPW%L)j3&geHu8 z?qe{1aas8yD!T_X*2iag*-nYK-aJGU?46@nXC5pABn||mb(LHhp8uTdo|2ex?-1Fu zmm2SsNRjv>oktij3-o>{2NT##;po80@jUg20L-KRq}YX&X_?&IDMj9iv1zvmFZdH; zIVwVY8s3j(=J@y&J?wglA7@U|+r3nIYhx31zvFG)AKlN`F>{IT(=VU|%*<`M*UYj9 zT_tyqInDsCb-6n}MoqcixLx`vJ=P2T3+eOP zj5JZG6RoJ>4K#mv$xfJ;T)bCE=3S9QZ%y<0L>u60GuW*{8v<5oGv(F#dDKG|_2$?G z=Zcxiy;ORu7M&xePcKWRw{qzoVgokItCmjhnCRJrP)G`y%*fHkS@bPDP{|78Ojfdk ziX5fyX4$T%i^;C#<{5-rI|@ev-91v@MU`y)muW-9HWAw*F@Gmp_MM;;v~!oxs=bBt zAc$cF@Sn?X)|em$^T&b)$YEs}>*v=&AX^T0fn(KJYk|9h7?6z z*6Sfd`4O)hkfA^wHa+M%#3w%a^ahAeW!TgWh*2&r=_bS|hhiu}pRO@UimnzxkUCDT z5xGd857`Q$Bc~xZO`jfxcm=tPF#H6r&t%F~q1795!M{BNJkOg_lC8a%Oe4G=8B5NLVf#vY!t% zGYQM)Grm-QAsqr1pN}C85*3@h!8n8{fnNr7NKbr@2jh^N1TqfBAT@au6^KG|auWNg zG00AfvHs*U```nvYLJ>(azC{WqLMGYpBjan0W#2bttPxYt9AlP`x{!|?z4Nv!{#v#TC3ICKR#1|*!pJG5-ag+WjQAj6F z+CN2yY{C=&DRmG`?9_k5pa$5llzPY{D`YW(f)ax~vNSRcPt=io_CUsj6tX-*=>qvP zwEzE@`~xYpFSIF?3M~mWhP2?HgD(c34?Yw89QM5L3%(24=PwFogJ%U#3LYH{1bz^B zBJknB?SUHtmj)&RZwTySd)}3S2J4 z&=*``6payMD|7|RpegwG=!?-WN8cZPSM>VmRCGtQFPezz&=34n|F-^j`W^ZW`X&0b zKBAwcZ_(H4D|Hk4fnP-aCGyqC!;yO;w??jy9F9y!_CGP_9=FDPziR2|`^JkYtqN!B`oYBpuU8)eK}864)4?9jP%j^64v-K z*!&Wf`J|Fbl1@F7AI>nne@6Pq{1VoDv4R-@P|;k12+*OxfeaxdVdmvV>F~a5`=<&#Ss#dzI~4L(4rFL1h2Xc)xy&c#Y&JFT9oW$dW=5z!B`0bgHSd~ zkQf&7#MsgUMhT*VSF9^RMp(uZVUvMKy1%XjVS$6%Y*14PvchV`c1m!qZPI;BB}fbo z+}*=V_bn_zbVw<#`N5OdrF$2aAV+w0f|MrRJEvxvQ!~+WiH+3%vYM%-1hKVOL2$O= zB6RxM;bb8@HkBr?`+{^&O9`T^Sep=Q7nC61wkfW)50d?OdTJ~q-Myd$dDp8+cr~j^ zkbH-fV)_tyTR?%tT;`MR`eM*j{;qsH7mEK!lf@sZP2^ZE-f`q+7v0e4-wxrt{N|3WTu+0NP++LxG z`&j8c4J8QO<-lkO!uJBD09{X7dUv!0iQ6qLEJ5H-QTpVOnexo13ri5d#X4_%ZjF^7 zhPNpB>9J%so0V>fl^}|UTv;ki&%%#P0=4hA3OQIa-1U?v{)a zByKDclpne%z0)W`zV?cBC5YC`6w*&JDlSOxs4GFH_JblN60MbqTtRw!qy*ubU(YW= zu*Tw9rf`>TnqPvHEmkC$CSJP9EJ55}iq!-(k)Fb8{Wh}%iQ5N>lpuCvl*jYZTO%cs zxt(iB-Hi$~EYe#dCCJMzaK|n?u?dkgkkb7g0Ohxlg(xX3hG_&DJ3j%PM{Dq|2MFgF=;vt;-v&12kSf|2V1C zXw6iC&bNw0);=XGJlrH}zEyB5xE8LBRWw<78s9QMGwF>@)`cRRKO?=d(VE7m%YF~A z%Nng5hYDT4tjU@}quku%xo{nBvL-z^)NS0g>u`fLfp3C&PVln2w87f%09~Q)(nZz< zq}Zt8-gL<#D=SnBU1AyHFNs*=m?Y4Q9x7fOvBunM-5Ld7;tAt)E8`UmYXl=nx+HS{ znKi6ovDjqoqwjIoXugCUYO>NI-0|Ew)MCAX)by^z>T{zx*kbJ!YyD0(2j^SolhUTb zvE{&g3)>&Df}3UzG+5XRL197uDA4i1Gb>-1X|S*l;y}kqWv1T39%uy_SX>{HV!egU zj|*eIBt^}_t_RALVxgc}*zeev5eqw=CYii3@(~L=9DZ$B*x9tO9>aa&Lc_v-#w*4w z>|&t8;JyyiF$-H4p&YlcUs)=8s%&8#qq{?F!o1e7Wh6q z1U?eO3K`oU8&XQjq1d`uDz+?U8hl|3jct28#lr~;NrlW0tbz~#yX?TIKl`- zf2H04|A5D$52zO+FTs`3L+}sS9UTaq6F4dGli-r*n&^UPNdH&;Mg52R7xV|!KdR5d zOJG*tr*GC%@DflXFDbVw*TYlbbCCy;(cs$1EVKY)@D(^CvMF+0BoPT}f6!jkzN0;^ z?$ti7-L7uc-mDe0v$b_v65awWTAdaQ|7-Zi;qQdM9{zOrPIaLgf=*y2JQ>b}cZWBI zj|oRZzX?4P`ZzKqTo<}DG#c6vY73bmIr#hFPXen03xeMbJ{|nK;N8JngVzTy3+994 z!SjO~f~~57ND4nzo=`rlyj{6cIiL(F?aC6xP$c<9`8oN^^2726>(v#cE*RlcHZR>~ zs*twQ`>=kIR$9K^Ei+P-uWM9SDSl4@>1#e1^AnK18dY6QQ{^N>CMy=O1qoQj3hJD*k{fZWjLMBXEC8|Z91t*U2#{rx>-%( zhKY$JDZg-&?OI$=E@)7(kQ{;oI$4ZqEmyAfKtMVJT_e0-;GHB2GI3gY6Lra!SM4{; zKXV~`p^$&NNIlNmDR4Cl?}$RiBv|x(sKtPm?ih+3I(O;!4fmm2?i^)sQt=FW-{k!Sx7kH z-~O~y=O{{0=V0OMM6M*n@Oz))WvBk1j!=7PD3h*{lHXZSrg&Att>OWGJR2Q3M7mZvBO1Wp9cfY+OV|nToTWXEKsY8DgP$G1W40 zxWI%5+)ue(nN@6;d(}*NnH_ETyqGE&e=qTsE?%m>qS^Mqe6>xfaJG^D-hHgPEqBI! zOstpwj(sAGfV67MZ}64&(lGm!a1fMe?iS>`h3v#}!CgIjx=yFTGwU<{D zh1(p}-DAm`dmF?yQbEXT+}k*>MniJAPW2mhw=;y0)pti+6-_%P5k*xkl)TnGWz{~_}Yx!B|5=O9#kZ%xyP$e+nn~4cKE(BY}!f}mi zg>iR<0~0(9w$SI7+iv7@eNb>Sv{#VdMO|?3wKb3OiQ=t}d?BCXgE}v`S$qLkUCJj= zubj6g>_h~o5#JonLqtGk0{hf5EL3Tl^zyZpb+As^b=MF##JYECRCUx^@)F^CF->!E z&n10ZfG{yv`W8(H+(XB>ZO1q1Z34*l4wBx=KE>~_C*3Ln`JPa^rCu%bDcD>ANtvq8 zwPCGO=2X9lIJ4~l)&{y5!;!v;Y;jh;ohCwsW0+JDz{2Dk_ui5e-*Sg{yWm9zMTYxw zaq^8Ze6qOB@)qIxG+Jw+P8!}1mn?bISIRJf96`mTFS}P?B67v*i;e2U>_)M$#w(=r z8;A=+w@Qw4(v`eGPIb~%#N7lHwcIBFNIxz2(ic>0-=%-?gPno;9=)6&Igp+a3*Vql z(`H-xrhE0zH1n}7m!5Mjo}H&wIzucg2a<2iAn^v#q^?rW1?{!m$^nk*T22yWbr#HJ+oL zdj_^(4tHYOuN8w375bg{w4~Ij)41F*3 zPoYo3R&Iqdq1~a4p`)-L{&nzsfe!|53w~XFuliQ(i0^@4{Wa>>)h`AQ1~cX_%xBCm znU5eJ;T6z6jNk-9tGNUM)z8%L#eWz7PW;jM-H20geS9`P8b2?-3+E3`j;{=SD_$3u zW50{N5PK^237kN9TkK7-OJZ4^K{!5kWUL{k7=JQ;WBkZ?&UoCo$GF+J$jBKZfzCjq zai(#qkunw;rlCat6}|;OjQ(@sr5B9^ypdXrru=XqUlla!Rs3rA~ zI;HMacc=qur@B-%R8{#iyak?DzM$N#+^k#$e}M~>z3>>=qMV|1D=U>2C9cTw?-6I= zS@|nC5%BPQRg!2*XsYd+Rdg;+q)FhYSpO^*{zOCWIZqZy;&)vq^F)1)?w?Y4*Ab5$SP% z@r$hJoRW~fz>D@73F$Gy5VPk0%)R<44TtNDIu)al+dq*$ke$sb9~288pu$)#KZf7{ z%3WgNPU7qn>4Q+iDt8Fix05hGk%45Qoa{S0uX4LJAT_F92!vrZ& z`ZaBgSyIK_?o}Us7nu)7DOtlTFC|$CGrG(XGEPejpIcB`ba+K_zCME_toh~V!a_YmDw zG4RVr`zu`QzP!S&pt#x@SiK8v6S>*+1f=NR3H9}rs+?!J_kKp2>dSO5xGrkRCVMlvV+ zLZxw-&LJ4uEIg(su{XHDgJ38Ll4Unz;e6P+_!Lox>td?Vdcyc8W0vw}nlN@5f`rU0 z7an_+Po>?bUA8eqp+}^b7po`up-jbR^JD3a?kh<)k>AVOr^wt?9PpKn^pzI4j66y2 z!`;&LZu=b5%>MiPMJhj&!=bjm&u;%R+7hrX^U93-TIT?hbRAJ4yJytBI*Jyma*Ois zL?C~k^jq5fIl2r-x1K4;OdIIH1s%uf#OWNk{5D_dt!$X~9g>;;1LB+f4q__YW-I+j zEc}p>2S0x@JYTJLOyFbzEF4PN$KOLH7wHkP@M)4gK%dxu{lvTcF=5zuXr+zpJCrXc zJF%BIjIZ(y!tE8#=}U#%?aIZ(2Kfup!u4uG23%p~^PP+Hh+I848hKG!xrKIC)!a|y zxL4!%J&|KX4?e@P^j#O^n3bjP5HgrskbInn1J?Ma3UMoF7WIK_Co|@Fe@9~x1O+@FO*MN>HKLcxBer1bV^B6~)_=tCS z>0I%VvZG5(H1^!uL1fLMZOowYENsU;g`Y_pvRhq z|L^@+4c4(`fkGW2PB?0^*$J=W;kL?MRYM~nGYSHBbRrLnKQ04zphp{kbH!qR{JAu zx!vd!LytLe5_490=6CMKHDo&^^HPl#I}x3>8=1TOA?OjVj=?F%T1B9lz{M6)zxy)s z3X0=XY&U0$ZzDi!x84p4C<_7Ov`(3!z3@exkd2EiWP|s$F6CGQ|4^S5V}G zq!Jr#k8}b0*R_t6F_nXR*jns{rQ+)e+w$5d9i;0v8_}ZEd+iP&MPyG|1bPfRg4LxE z6|}3e1EB+!kW$``{wbXO9ulra*{@aykTs6t$Caac5%Leqvzfj*W@Un>X`Ptro$g5njA3XrwdR-H7sCWl}94 zw~$1hqupN2*mh$Z9YtVQwOT`9LqudO3w%s0#fDdj)-`S+U%am=cBmmU1YbUORkbOW zdk~S&y2^5tIPmUv1fVRBt~OyIY5c;4Li!H-jKn&2Qo_Ej)fxhsBWWGtsfh#Uv{rRN z(5;Y#4DriOV0@7Ww8K{0_IBLvUL{s~*Bz_84P~vK0Gkl8$|M4}CqTUy)s9oPewl@A z@r@f<3JK1jbA>J2hY~BdAs6!3wTsxYnv-|dS?=dqO;+5Ly1P&E!lhT!v216@ejM$} z##|05ORC*ht7jCW6%ttabmtgBW|Io$GHS)jBDa!llM<=Y-&*aYD5NhXdGNCpJ|b8m zJtA_5*HSIRjgx85X5WFNp@AKA4rx1fL`YU59#yK{2_$LgDO)0(;qOM|!759{659VS zk&2Qz6aNdW>Mh9s_fum}^t;h9{TY2@`x@`UtjJp4L;4q3=G&IL`Ip|ZFY%#)p^W?{}f9<1sIV*}B?wiC>}EF%Qq2uP0A z84{3(bv|_i7g-x!0gz8!&j&A)q}7U@KNURlYP6n0wz(c82kfBNV{EEa{}Ecj|AsxS3FRayK40c`RyQK z_4_4Aw^s-!U%{EIuyu;7n&8uh$5%+=BuHkWFvN=qyXZt;;I*}Sf^g{Ft=-5XRTV#w zWh-{*+Kh$t;f=jQE~^VC3#TKa%gWPXZ$~Vnw!{Dwxuq&YA(iup4+kOTwLwGT0KMJ#va5YuRb=N(4JIGCgV~I>Bd*AX!Djc z@gU9SU5Q;zY)uhfwFAg3hUKIash0fGf(u6=@CxEMWFhakkEMG4-h-~^w+E}$GGc=F zK~C{c7Pn<29r5;Cd{F8@mnW3bW!XW64RmfHvEDhiP*z*3D+r0)j{x2N?Y-L-=pa4r z&eznyVGCKw`6$@rA=)x`FuP`AfUKAzymki=_qn$$C#2f}Bpj-Oi{Kg6&{a-tjXofyBu1qt<<}tgBDgclLPgnUT)mPrYx7olVsl4r?`ZU$a;-+OpyR{K zSd`Of50ZZc%LPpAQ!J!5FVh0JW_-t5zk`M5vn~5uYy&=&Ada!$xvO@!pn>Tw(*n5N z>g}&25M$axF7(BV*>EgmIyM|sVdq~q@V`#ER-<@7maVeo%xx4iR4rsDVMldh_G7n# z+~|BGVJ~K|e{SD3fZw&+fU=SjdCUMH{;nS2NBJxw(q- zAv?BEd3}w}KyK(vVWli*hBmw(*stu2X(2^=N5^p>6mmKDBc4Uu+?dx=-6F z7=pL5LygQxEI@0uPFX0RH}R{o-7m&c=`D$z85>r_>L??L@+eM&?zxo&Sranl^|g9q zXI3st`Reqhk3@$G`mD2%T%D5yUmD;i;|~zEgF_NL3sR=wxKwy97&W?tpz>HOx+@k7 z4u@&aLy*gx7g=p?UJ1KTj;E^Mi**uVoLxA~T@^e+)8+3-x5{@%B41ahjb9o+3Xg|= zZhTk$Mnp5d6nYeq@Sh4@rCzIlEOIJh@jVc}FLJ9s6FyRYRCy@)89a7D_&nn_<2vm! z?X#f=1KW+ugDd!z5rZc-l!JQJOb z?hAe+{Cr@4^sG=*^ki+VvN0G6^oQOPcqDL+`GlfGgVFlva;0A{g`d;z)ei>G3ZJK6 zplu3&T>S&ydyaZ3JiV6bTSL9!{_yHhL~GJdR;~*DQN7>1CGZSR3mmOC>yhALI(<>? z$8)-~-SDK(k`qXUpeTKYoMar4O?re%jw~g8T3IFq$hoXc-u556l|IECp`=fegGl+J zEd8JMt_4hvqFPta&dz(LcQ?BmHk*)v@JN8ozF{{HLs%e0@>sHgKzMGFNwUdiceAsb z2O&UD&nV)9`vK}zQBgruRKR;xK2SkH1R*>`4dR0fe%A*AA_xM4-2YTpbyxTFkY(la zUB5d7NY|s$pMua+uiHDh61D-cBbN)CU=nT9hhLVoBIn+=-oz69~DSq-%RA zFJmXzm*^f9zYzP;@Q@u-W(7&bR~ucg*^MG?Xd@35DtDQ5A1$B zVvYSf9ZCo*JC~1rj5_G-gRqZ^XfVdJIKA5f>?#UGv%U4~N`5tY}se|t!>cj?j(kOe7Vm|#akSJ2lgK`u;npKYYX9%+WYTz9ESxrR|DiNs! zV@PClus@HHK)@pa=72px?>iQ(cJ2iGjgu$QB%&(WuSscGtvI%k%+P0#Q6ioF28jrf zUDGN`V*60)`#Kmo7D<)hVcx-`I$iKQ6nLwqgpTpVIKtaO!VyQY1BIXk6sGU2JiPW*UK=7iej1Uk!=q2oF>LKS8q30&L#xrf$OFWR) z6?u6cg+*dg%Xrv8NO6+zBeID_h~9%_jkL3ktwO~Bu)=;o{!*NPKof2Z-`O8)J& zhL~T9$4UyabdOdZQ7%mD74+*WzKph9jA2)T`Z8+3^(!{C#Hpk#$sxg$w>^vz^t8nn zJUhN_+dwvpjoMRS0fa_2lWN>>E9?b&y?h~1*fXSh8~y}2FD|kMXwM0d?6HwKcs3GY z=+T>RkFOIFFR}%kV}Z1etUy$8h6VajDq8#s6c$eVUlcKqL_<-aFSAHh(@v*?$WGJx zoFp{uG(LT)*gEV@1xQDkYi*z&_J)dsBSDJgboDAt#PUOl^{WMC`3j|7U;xtN@YnWc1S?;SCK(WXq?0Rj1od2UC-7szoIuUF~%TglWMg#{|m z_1_16j#wYcz}bQCDw@K*h;iR^g#4Ug&TGPpv2`P1AjvI?me$nqL8F2I_9k#SK1jnB zj*y%t3;+>V(nNEUHH=Y<);pV8+nU;26I~VK%Ebf7&IG9= zjVfz8NAP@;yH#;vd||~U%7y&{h*#Z-oTd%d(A!SiHj;B*yl6_Zv86$yPPu$Nx;KF5 zoFQYt>H-cBnYey4@3}Jda|ABu2BMQzpSY1od&O3zCz)ND_2c|GN}En@&nevxyH#$f zd9ca0O`+oTcyH9H$mwy&t+|N~7t!6yNj|WaU~|QKnsPB=<6&XTaftY%0QDw$PcdMz zu*;5(0<0E*$rUpy7HNn`-i*8203>C1KLc1~HYlk7O?I{xtw6VgZe!tj`d{^5>ksR9 zM~;sy)xQc1zz^$t^ljh(T%^y@8^TZO)u}gAFQ^rD`M}79TS@stBr*tYk=Q>Pq-Ec z{x?NG7riQK0KIQ8+8e$rjJ3ikM0XS1_kkarF_#THzp^nkI4$?rw` zzE~#^!a7n{sO2AX9U^=z%S{<}FZulJ04{bnxmM&psEAr(KcE&6M#R2PZVtXwf zE{hCMmY>AB75!Z(v1-_d->#uWo(`FP!{CK=<0;cJ(|>1<-9#%ES+{@|C*)(HRgVjF zW-l$hZGf3Ayd(i-kb5uixw$xljec0++4XpOHO80BCDAJntEvSC^Z@Yl!X_ae1(RY!K=+zs| zY$Ldg(d=oYJxI={#i>QcNRLI19rhpOVNhN$@_7Kv0#>m_t;jATkBj>RR^a!I-4qLC z|5$pp1XBe0FkCUX>_hxy8p>Erug`SS0@UK~MK8(ckMVvnzlHvdz|XjV6l_yOP~+}| zJ$C&;700Q(T#kj#uauDe^oDpg1KEwFb%$e;JQ7%+;$0lutt@FyCx-*%TQG$v;wJb^ zvKP^Ogt}tli^(m1j%{jb#lNY^T`iYRlU^!{=982D0lC(6uN&X3rTV0ojPCBf&1LRn z*46KvTfjY1-mZJX8ootwTkKZrT`0m@IhlX8h-QPP9W@q^eTQZiBKM|GmGj+XU!||B zRaRh13>zjyI!(A!*@6jKLhdp3k~Vr#gFN;TTZhXm$cJ+?nMf@)E^Xt z-As-@0q3!s=3F_;wUFyk6cnD%W^q2bW;T@f|I7RTf*g=WxV>#Hg7(V$|K|1a3BcHPqD{r~d*|G)Z{Ub+8e z4U{!d*1&``P~QJ9@Bf$g|I7RT<^BKi{=ff9`=4HGy4Q{G)>3`aOGbBh-{vxRGVAJh z&Mn|xWS95<-?jb!r1o)kt+tct@725Y*?J=NeCmnRgQ@SPzM8r+wJWtgwIX$F>fls7 z`AYJ)$p@3SB(F|h24=kt$z{owWG#60o=-fSxEYLk7bmtP&PenmS`t&@F9SdD2k~p- zJK}5NUGc-?HL=%XPsQ$yeLeQ+*oR_UVyA#HuO&7$`j6;yi0t1N{Z16P0?|vN8=@yi zXGbd|PepEt1cFdd9n{ITLk71vc56`LzoRy2dv;Pt>C0}ltj9k?nm95^e`6PO!l2t>5M zX}{GT(%!G_)L+zpr|;MA)o<0mq}{Gxt=*`7N?T+75vFUha8Qsb331SJm0C^~>Z#ri zS4|e`TxI+_c=70#W!lFnZoWN)3in9lF@IVHWZ zf4gk=Z!_~31=(BB_OX{|=JzOP6f^gMTsnUtJzRGJaZP@=BeeMY*h|&>xk3iBk6UZ7G^Kh=0{2FO(3q#Z@0xZb0GUm zV}2yaN`_K5=7+ttl9(QW){Xfgsx6Uw+nC=bYSVTKu6PVt_DnQC7-RykAe!H5A2;N; z1X+pn?S}k-tV^#)Ojc&p{=KK`^P6ed6vutn=Qp`3(lQ`Cp5GW`c1(CYpHWIx`3*GS z)l~ng{CY){rtJUP{5n#pH(R|n-|vV)$Tu{ENK*E@n*0ScK-}TR&=9a(PY1zVjgKrC6OlkrI#`O4J{^OziRO(Ry>LT0!(#Rz=i=;UZE#q9%+M zaXizkrO%7Vz?X?2GMPG)Wsl4>r#NS%KyN^$)R|Wx^0r&cdWSJ~WmEyZYezaX5Z}ACYDE zPc>l*`DWWpHDL=mHP#*SJe+AJj3Jdu9NEN@y!F0mCd?wW(%~5gN|6Zz31*a%#8YL$ zCK4h`JNH(bFoQg3N!2-6Kpt6r4#rP0SsA;hJ_nOWR49C9?4B7p7&;}HLD>&yPRh*0dZ99#^G}am?0a5bsT|Cl88rWMv{v@*R1PMNDv0J_-iT0YtODO7kLz3af-15z9kZiC|1CCL>37De+JvE z>6=pfQ->zaWF)aS{!DyFY+q~`=>NN-!N^GX(eRO>Gq9fS3Em!@&wjx+SKN$*vs(kr zV5L80LYp;g$hZLfFbfZ7=;AzX0W0;W-q;N>5y5tg}#UZ3VzKawX-ilI8R% zJW1DEf8ge=VeQA-Kxpgz9_Uc9V26eQde%R>gtMeLEDgNaBx`*dU)=&cT@Y8agC5g? zG;Zs3f+SG1zbg!+jp~eOFbp*5?=h#5U z9vojhds-2#mI%HW8&vi#rHXpf3hlQ7S9V^_vu$1( zfpkn@woPIg)=LGBYzs@!wLmM?3A_v~b34G>=jnuywyaQm&l z+L2;x5toZxjai|$K2z(6*Oz8+mW|B^rnAm=l>jJ z%r?%_+2X~gI%Fw+U9eV*emBv#J3EGSZHxmLVVUAZXo;@2wG)44o5~ZyyDH^v#b3S% zcx%t}@Yeb+TTjj?XwuDMWcr?2+`0DEEtn=j9nvwkTZLw~<(+)kIv*x6GOCO!V~q!h zTY%yL4s+AMIsi0`?e5{Q&&?+}lHzkp_X)7mtt#cG-6!fRrgZxS7JaJSZk%p|vs)9H zTv9I+Y}B$`qEXQ7v;q)bnKfE@qf+iOd2KRQ+u+(WI2EH3r8)$AncgtRSZ-B2)a5hX zgYR&u&0J;m$9csZ=iB1-+{FjWtl3th-+84vh6x#5XI&*a26D|JBbxC4J`&o`^xx_~ z)^E|jsDE0&I{d-#A0k&ocI%hx7wJR#`FgK@lHQ^>>M31Iy^wk;d{}r2VgznWeJyou z>gv>GsnOIqsb#4JsU{IA@NDv__N22$DHQ&Mn^$m!gC!U^Mmav3gP19}f`JQ)B>+~|aXyeP|h)BEGQ95}+j4&`{f1T>-cpu573NYM6`#4HSqc&qHI z0>gA0Sbn-Zr-98bsfcL_Y_dTP0~?*g3|E8)?@;@SDwSLC+LtAE;FvrBianl#01Rs(JK)ZW>D*JmD=fHVrUKl`HnV$v1jcO>{DR~o8i-Ow%N6nYMq;COzWkt zO6TOTS~!Xzvw&B~z9bKBAW%FPav^(0ifrO4i?zkscf5xXAD!Y4c~PPpvb#kwJ)Q+1 zIlGHAL~cv=2m9#v^f<_q#uFcgT&0EnFo@b(DNhfne1F>FBS~)q&Urt3!-0w1 z>Krz4z(y4@l3guC2xSoLSH9-s4f_eGq#Lxr)_0`7}AGt}#RP}ne*12&AMHrqKo zl50a{mDgfIgz<@giFIC!@}IInE;qZ2v-mg04g}G1cA5K1G=rvMFD52?&XM9#2&7E* zEPaBkbJ;hP<6G!O5V)DzVWN;87#PrI6@zGM3v3w$*bWV0Kx*>|qg0894yGz*sX&|j zH!XNgjVT58COu*g)~0rfBedr@Z3zv$QA9xu4p!5wyeGRxtx)D9_9-G$DFOV+o=&oVur&K* zg}y!Yc`Nqb>ornPu34iJ!hnx|mB3DQon7i9J*hX6yd8ymM zW(y)pFyj`xi7M+^gcwpYIe6oVDU~*Lxi?-xmhJ<{be{z>tw<-@Zl}VHn&{8L74Nzy zL7B5;cytpYA4F-QzugL^S?_K}Y&ZuOJGHS;Mp}q0gFegJ6(yfGR=3cG&b-#vx$Ow4 zP_$^t;f5y%X7L8-c{zC98yaRgPinA#CnmOK{X2X6cU#9k%_$8Kb1t4#7vD^B9+Pm+ zCeF;kU0zo=(`kTMwR-R${XNm2?oyt_BIzjHlY>j##gVJb6{|3T^jNC^Me5TYX|4mC zwXN8}c6LKB{%m>Mv0&)6pOxG?-kyX1ThIbqUP0_Wa1JeOPmK40OG}m~)o3exqY+7k zEACh~T8+Ir>)E?2 zVDAFs-NI$@7<9I`3iwD~;%K&noA5HLg zTS2j0^o$Z)at(IGm9>T9gzGN>x%1HG;qh$7kxjHQB2V@Xh*|l1}k*&@kR`ZVx zmcw?=;fFWVBxpT6mE3JH2d3YUJ_-3ts=T;I@(l*VZ+Fq0DBk$aE>+2rUijcq;}RX_8`(uz?D-ceW{?A|8_@e418YS4>J2WeECtA5Qm#QElwj+5Gt@ zIfKyNIj6lOpume}>CQ~CPRCoeutXr}Zv2kc#2$2{!*w%}{; z1V@R_NXVFK?63j^?A}R0uVHYhVI)B@qI13Qtzd>O&Xg;8#YDT-sYX_cuGJ>?u_&Lh zHW}mgcc+nm0z~8*X9Kfh+R|qbGngtrVB3iBLu6Y=d-vL?um}#`W{f#jZ&+h23JNz# zShC7FRHPGbMzyu18F!wM_1K9PAIe(Jieep4w1Ku3WfNcMFo8u#gw2`LK4gsA!J#6! zW|)Xqn#M<(D4XzPUP_-nl0E??H}U2~JJ8bYynKlr#&)Mcu1R;E;wj?@flT+ExGGI7 z9qzgVH`q3>{Wt{RVO!ZYAf-x;>Bfj1J7CSY{v?+tX0{DWCm_B2R-~H$xjsGO^KmPU zpe`jE(TWj;jYV>dtm652moe-Kt8mid5alH2L7R+ta!t2&_}Fm96l2H=RdyCawpT>5 zp=SGRk?ouINy#hKEksP)(8T{w|N4^eF=ZgP*{NMuKAwn(>eDy zOazK|`b265<+@#ejOVl8sDDPkLcdfW(J#QC`TA^GU;ewSfwBh58YpX^tbwuy${HwZ zpsazi2Fe;JYoM%w{|_3d$~O}@g2)#aI7vX(@xw`Ka>VKXwY>cTuwPu@aDaYM%GCuR Ozj!bN@SJMBvi|{S0LIP$ diff --git a/technical-research/review-tracking.json b/technical-research/review-tracking.json deleted file mode 100644 index e323c38..0000000 --- a/technical-research/review-tracking.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Review tracking", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:54:50.928Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Review tracking", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires an API Key (X-API-KEY header). For legacy ReviewTrackers accounts, this is found in the account settings. For modern Reputation accounts, keys are typically obtained via a Customer Success Manager (CSM) or the developer portal.", - "api_quality": "good", - "api_documentation_url": "https://apidocs.reputation.com/", - "rate_limits": "25 requests per minute (legacy ReviewTrackers); up to 25 QPS (Reputation platform modern tier).", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "ReviewTrackers was acquired by Reputation; legacy documentation is being deprecated in favor of apidocs.reputation.com.", - "API access is often restricted to Enterprise-level plans and may not be available on basic tiers.", - "Legacy rate limits are quite strict (25 req/min), which can cause issues with high-frequency polling.", - "Pagination is limited to 100 results per request, requiring loop logic in n8n for large datasets." - ], - "client_must_provide": [ - "API Key", - "Location ID or Account ID", - "Tenant ID (for Agency/Enterprise accounts)" - ], - "operations_available": [ - "List reviews", - "Get review details", - "Reply to reviews", - "List locations/sites", - "Create monitoring sites", - "Fetch sentiment analysis data" - ], - "confidence": 0.9, - "research_notes": "Review tracking most commonly refers to the 'ReviewTrackers' platform (now part of Reputation). While no native n8n node exists, the REST API is standard and integrates easily via the HTTP Request node. Research shows users frequently use n8n to automate review monitoring by scraping or polling APIs and then using AI nodes (like OpenAI) for sentiment analysis before alerting teams in Slack or logging to Google Sheets. Note that 'Review tracking' is also a generic category, but ReviewTrackers is the primary B2B service associated with this specific name.", - "sources_consulted": [ - "Official Reputation API Documentation", - "ReviewTrackers Master Service Agreement", - "n8n Community Forum", - "Reddit (r/n8n)", - "YouTube (n8n workflow walkthroughs)", - "G2/GetApp Pricing Pages" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "Review tracking most commonly refers to the 'ReviewTrackers' platform (now part of Reputation). While no native n8n node exists, the REST API is standard and integrates easily via the HTTP Request node. Research shows users frequently use n8n to automate review monitoring by scraping or polling APIs and then using AI nodes (like OpenAI) for sentiment analysis before alerting teams in Slack or logging to Google Sheets. Note that 'Review tracking' is also a generic category, but ReviewTrackers is the primary B2B service associated with this specific name." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/reviews.json b/technical-research/reviews.json deleted file mode 100644 index bca8a85..0000000 --- a/technical-research/reviews.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Reviews", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:09:57.447Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "REVIEWS.io", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires a Store ID (sometimes called url_key) and an API Key (Private or Public). These are found in the REVIEWS.io dashboard under Integrations -> API. Note that the Private API Key is required to access sensitive data like reviewer email addresses.", - "api_quality": "good", - "api_documentation_url": "https://developer.reviews.io/", - "rate_limits": "500 requests per minute and 150,000 requests per day per account.", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": true, - "gotchas": [ - "API access is exclusively available on the 'Plus' plan (starting at ~$499/month), which may be a barrier for smaller users.", - "Public API keys have strict limits on review submission (e.g., 3 reviews per IP per 30 mins), which are only lifted when using the Private API key.", - "The platform was formerly known as Reviews.co.uk, so some older documentation or forum posts may use the old domain." - ], - "client_must_provide": [ - "Store ID (url_key)", - "Private API Key", - "Plus Plan subscription" - ], - "operations_available": [ - "Queue Product/Company Review Invitations", - "Retrieve Product/Company Reviews", - "Tag Reviews", - "Unsubscribe Users", - "Retrieve Product Ratings/Counts", - "Create New Product Review" - ], - "confidence": 0.95, - "research_notes": "REVIEWS.io is a robust platform for e-commerce reviews. While n8n lacks a native node, the API is a standard RESTful interface easily handled by the 'HTTP Request' node. Research confirms that webhooks are supported for real-time review notifications. The primary hurdle for developers is the high-tier pricing required for API access.", - "sources_consulted": [ - "Official REVIEWS.io Developer Hub", - "REVIEWS.io Pricing Page", - "n8n Community Forums", - "Pipedream Integration Docs", - "Reddit (r/ecommerce)" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "REVIEWS.io is a robust platform for e-commerce reviews. While n8n lacks a native node, the API is a standard RESTful interface easily handled by the 'HTTP Request' node. Research confirms that webhooks are supported for real-time review notifications. The primary hurdle for developers is the high-tier pricing required for API access." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/route-planning.json b/technical-research/route-planning.json deleted file mode 100644 index 24dbd03..0000000 --- a/technical-research/route-planning.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Route Planning", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:37:01.768Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Route Planning", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires a 32-character API Key obtained from the Route4Me account dashboard under 'My Account > API'. The key is typically passed as a query parameter (api_key).", - "api_quality": "excellent", - "api_documentation_url": "https://route4me.io/docs/", - "rate_limits": "200 requests per minute (default limit for standard accounts).", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": true, - "gotchas": [ - "Demo API keys (1111...) are strictly limited to a predefined list of latitude/longitude coordinates and cannot be used for real-world data.", - "Large optimization problems (e.g., 500+ stops) are processed asynchronously; users should implement polling or use the 'callback_url' parameter to receive results via webhook.", - "The API is 100% RESTful but requires specific PHP-style endpoint structures (e.g., .php extensions in URLs) which can be confusing for modern REST developers." - ], - "client_must_provide": [ - "API Key", - "List of addresses or GPS coordinates", - "Optimization parameters (e.g., vehicle capacity, time windows)" - ], - "operations_available": [ - "Create Optimization", - "Get Optimization", - "Get Routes", - "Update Route", - "Remove Optimization", - "Re-optimize", - "Address Geocoding" - ], - "confidence": 0.95, - "research_notes": "While 'Route Planning' is a generic term, in the n8n ecosystem it almost exclusively refers to Route4Me or OpenRouteService. n8n provides 'credential-only' support for Route4Me, meaning it handles the API Key storage, but users must build the logic using the HTTP Request node. OpenRouteService is a common community alternative found in n8n templates for logistics and circular economy workflows.", - "sources_consulted": [ - "Official Route4Me API Documentation", - "n8n.io Integration Pages", - "n8n Community Forum", - "NextBillion.ai Developer Blog (Competitor Comparison)", - "GitHub (Route4Me SDKs)", - "YouTube (n8n Route Planning Tutorials)" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "While 'Route Planning' is a generic term, in the n8n ecosystem it almost exclusively refers to Route4Me or OpenRouteService. n8n provides 'credential-only' support for Route4Me, meaning it handles the API Key storage, but users must build the logic using the HTTP Request node. OpenRouteService is a common community alternative found in n8n templates for logistics and circular economy workflows." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/rpg-iii.json b/technical-research/rpg-iii.json deleted file mode 100644 index 99293a1..0000000 --- a/technical-research/rpg-iii.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "RPG III", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:16:37.269Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "RPG III", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "Basic Auth", - "auth_complexity": "complex", - "auth_notes": "Authentication is handled at the system level. For REST integration via IBM i Integrated Web Services (IWS), it typically uses IBM i User Profiles with Basic Auth. For direct database access, it requires an ODBC connection with system credentials.", - "api_quality": "fair", - "api_documentation_url": "https://www.ibm.com/support/pages/integrated-web-services-ibm-i-web-services-made-easy", - "rate_limits": "Configurable via IBM Application Gateway (IAG) or HTTP server settings (e.g., WindowSize and MaximumWeightedNumberOfHits policies).", - "complexity_score": 9, - "complexity_tier": "enterprise", - "estimated_hours": 35, - "webhook_support": false, - "gotchas": [ - "RPG III is not thread-safe, which can cause issues in high-concurrency web environments; wrapping in RPG IV (ILE) is recommended.", - "Data conversion issues between EBCDIC (IBM i native) and ASCII/UTF-8 (n8n/Web) are common.", - "RPG III has a 6-character limit for variable names, making modern JSON mapping difficult without a wrapper.", - "Direct integration requires the IBM i Access ODBC Driver to be installed on the n8n host machine." - ], - "client_must_provide": [ - "IBM i System IP/Host", - "Authorized User Profile and Password", - "IWS (Integrated Web Services) Server instance", - "Library list (LIBL) configuration" - ], - "operations_available": [ - "Execute SQL (via ODBC)", - "Run CL Commands (via QCMDEXC)", - "Call RPG Program (via IWS REST wrapper)", - "DB2 CRUD operations" - ], - "confidence": 0.95, - "research_notes": "RPG III is a legacy programming language for the IBM i (AS/400) platform. There is no native n8n node, but a community node 'n8n-nodes-ibmi-odbc' exists for direct database and command execution. For modern API-led integration, the standard approach is using the IBM i Integrated Web Services (IWS) server to expose RPG programs as RESTful endpoints, which are then consumed via n8n's HTTP Request node.", - "sources_consulted": [ - "Official IBM Documentation (IWS/IAG)", - "n8n Community Forum", - "GitHub (n8n-nodes-ibmi-odbc)", - "YouTube (IBM i API Strategy tutorials)", - "Eradani Modernization Blog" - ], - "has_native_node": false, - "complexity": { - "score": 9, - "tier": "enterprise", - "estimated_hours": 35 - }, - "effort_recommendation": { - "tier": "enterprise", - "base_hours": 35, - "rationale": "RPG III is a legacy programming language for the IBM i (AS/400) platform. There is no native n8n node, but a community node 'n8n-nodes-ibmi-odbc' exists for direct database and command execution. For modern API-led integration, the standard approach is using the IBM i Integrated Web Services (IWS) server to expose RPG programs as RESTful endpoints, which are then consumed via n8n's HTTP Request node." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/safety-reporting.json b/technical-research/safety-reporting.json deleted file mode 100644 index f8a0780..0000000 --- a/technical-research/safety-reporting.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Safety Reporting", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:41:46.414Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Safety Reporting", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "API access is typically an 'Add On' feature in Safety Reports (AlignOps). Users must enable 'Personal Access Tokens' in the Team Settings under the Integrations menu to generate a key.", - "api_quality": "good", - "api_documentation_url": "https://www.safety-reports.com/", - "rate_limits": "150 requests per minute", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "API access is not included by default and requires a specific 'Add On' subscription tier.", - "Rate limits are strictly enforced at 150 requests per minute; exceeding this returns a 429 error.", - "Media files (photos/attachments) in reports may require a sync delay before they are accessible via the API.", - "Webhooks are often scoped to 'Saved Custom Reports' rather than all raw data events." - ], - "client_must_provide": [ - "API Personal Access Token", - "Subscription with API Add-on enabled", - "Organization ID (Context ID)" - ], - "operations_available": [ - "Get List of Inspections", - "Retrieve Incident Reports", - "Get Training Documentation", - "Update Safety Categories", - "Export OSHA 300/301 Logs", - "Create/Update Safety Observations" - ], - "confidence": 0.9, - "research_notes": "Safety Reporting (primarily known as Safety Reports by AlignOps) is a major EHS platform. While no native n8n node exists, the platform provides a robust REST API. Research indicates that the API is frequently used in construction and fleet management (e.g., via ZenduIT or Samsara). Integration in n8n is best handled via the HTTP Request node using Bearer Token authentication. Webhooks are supported for real-time incident and inspection triggers.", - "sources_consulted": [ - "Official AlignOps/Safety Reports Pricing & Features", - "ZenduIT Developer Updates (Rate Limits)", - "n8n Community Templates (Compliance Report Collector)", - "D4H/Samsara Integration Guides", - "Postman API Network (Veeva/Safety Distributions)" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "Safety Reporting (primarily known as Safety Reports by AlignOps) is a major EHS platform. While no native n8n node exists, the platform provides a robust REST API. Research indicates that the API is frequently used in construction and fleet management (e.g., via ZenduIT or Samsara). Integration in n8n is best handled via the HTTP Request node using Bearer Token authentication. Webhooks are supported for real-time incident and inspection triggers." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/safety.json b/technical-research/safety.json deleted file mode 100644 index 2bebd54..0000000 --- a/technical-research/safety.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Safety", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:20:37.568Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Safety (SafetyCulture / iAuditor)", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires a Personal Access Token (Bearer Token) generated from the SafetyCulture web app under 'My Profile' > 'API Tokens'. Tokens expire after 30 days of inactivity.", - "api_quality": "excellent", - "api_documentation_url": "https://developer.safetyculture.com/", - "rate_limits": "800 req/min (general); 200 req/min (search); 30 req/min (create audit); 20 req/min (export audit)", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": true, - "gotchas": [ - "API access is restricted to Premium and Enterprise plans only.", - "API tokens automatically expire after 30 days of inactivity; regular usage is required to keep them active.", - "Webhooks are organization-wide and cannot be scoped to individual users.", - "Webhook delivery is not guaranteed to be in chronological order, and duplicate payloads may occur.", - "Service users must have 'Override permissions: Manage all data' to receive webhook payloads." - ], - "client_must_provide": [ - "API Token (Personal Access Token)", - "SafetyCulture Premium or Enterprise Plan", - "Administrator permissions for webhook setup" - ], - "operations_available": [ - "Search/Retrieve Inspections (Audits)", - "Export Audit Reports (PDF/Word)", - "Manage Actions and Issues", - "Manage Users and Groups", - "Create/Update/Delete Webhooks", - "Retrieve Asset Data", - "Schedule Inspections" - ], - "confidence": 0.95, - "research_notes": "The 'Safety' integration refers to SafetyCulture (formerly iAuditor), the industry leader in digital inspections. While n8n does not have a dedicated native node, it is fully supported via the HTTP Request node. The API is a well-documented RESTful service. Research confirms that users typically use the HTTP Request node with Bearer authentication to interact with the /audits and /webhooks endpoints. No community node was found, but n8n provides official documentation on connecting to SafetyCulture via generic credentials.", - "sources_consulted": [ - "Official SafetyCulture Developer Portal", - "n8n Integration Documentation", - "n8n Community Forum", - "SafetyCulture Pricing Page", - "GitHub (for community node search)" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "The 'Safety' integration refers to SafetyCulture (formerly iAuditor), the industry leader in digital inspections. While n8n does not have a dedicated native node, it is fully supported via the HTTP Request node. The API is a well-documented RESTful service. Research confirms that users typically use the HTTP Request node with Bearer authentication to interact with the /audits and /webhooks endpoints. No community node was found, but n8n provides official documentation on connecting to SafetyCulture via generic credentials." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/sales-data.json b/technical-research/sales-data.json deleted file mode 100644 index d43784e..0000000 --- a/technical-research/sales-data.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Sales data", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T18:40:22.915Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Sales data", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication is handled via RapidAPI. Users must provide an 'X-RapidAPI-Key' in the request header. This requires creating an account on RapidAPI and subscribing to the 'Sales Data' API (by developer anwar016bd).", - "api_quality": "good", - "api_documentation_url": "https://sales-data-documentation.netlify.app", - "rate_limits": "100 requests/month (Free), 10,000 requests/month (Pro), 50,000 requests/month (Ultra), 100,000 requests/month (Mega). Burst limits typically apply at 1-5 requests per second.", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": false, - "gotchas": [ - "The API provides a structured dataset of retail and warehouse sales rather than a live CRM connection.", - "Documentation is hosted on a third-party Netlify site (sales-data-documentation.netlify.app), which may lack the depth of major enterprise portals.", - "Requires a RapidAPI subscription even for the free tier to obtain the necessary API key." - ], - "client_must_provide": [ - "RapidAPI Key", - "RapidAPI Host (typically 'sales-data.p.rapidapi.com')" - ], - "operations_available": [ - "Get all sales data", - "Filter sales by Year", - "Filter sales by Month", - "Filter sales by Supplier", - "Filter sales by Item Type", - "Retrieve Retail Sales metrics", - "Retrieve Warehouse Sales metrics" - ], - "confidence": 0.9, - "research_notes": "The 'Sales data' integration refers to a specific dataset API available on RapidAPI. While 'Sales data' is a generic term often associated with CRMs like Salesforce or HubSpot (which have native n8n nodes), this specific integration name points to the RapidAPI service used for retrieving retail, transfer, and warehouse sales metrics. It is implemented in n8n using the generic HTTP Request node. Research confirmed no official community node exists for this specific API, though several community nodes exist for 'sales forecasting' (e.g., @faim-group/n8n-nodes-faim).", - "sources_consulted": [ - "Official API Docs (Netlify)", - "RapidAPI Marketplace", - "n8n Community Forum", - "GitHub Repositories", - "npm Registry" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "The 'Sales data' integration refers to a specific dataset API available on RapidAPI. While 'Sales data' is a generic term often associated with CRMs like Salesforce or HubSpot (which have native n8n nodes), this specific integration name points to the RapidAPI service used for retrieving retail, transfer, and warehouse sales metrics. It is implemented in n8n using the generic HTTP Request node. Research confirmed no official community node exists for this specific API, though several community nodes exist for 'sales forecasting' (e.g., @faim-group/n8n-nodes-faim)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/sap-or-oracle.json b/technical-research/sap-or-oracle.json deleted file mode 100644 index b9fa832..0000000 --- a/technical-research/sap-or-oracle.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "SAP or Oracle", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:33:14.669Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "SAP or Oracle", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2 / RSA Key Signing", - "auth_complexity": "complex", - "auth_notes": "SAP typically requires OAuth2 (Client Credentials) via the SAP Business Technology Platform (BTP). Oracle Cloud (OCI) requires a complex RSA-SHA256 request signing process involving a Tenancy OCID, User OCID, Fingerprint, and Private Key, which is difficult to implement in a standard HTTP node without custom code.", - "api_quality": "excellent", - "api_documentation_url": "https://api.sap.com/", - "rate_limits": "SAP: Varies by service (e.g., 40 req/sec for Cloud Foundry services). Oracle OCI: Default 10 Transactions per Second (TPS), burstable to 100 TPS upon request.", - "complexity_score": 9, - "complexity_tier": "enterprise", - "estimated_hours": 30, - "webhook_support": true, - "gotchas": [ - "SAP OData APIs often require a 'fetch' call to obtain an X-CSRF-Token before any POST/PATCH/DELETE operation can be performed.", - "Oracle OCI REST APIs require headers to be signed with an RSA key; n8n users often have to use a 'Code' node with crypto libraries to generate these signatures.", - "SAP Business One (B1) Service Layer uses session-based cookies (B1Session) which must be managed manually across nodes if not using a specific community node.", - "Oracle's default 10 TPS limit is very low for enterprise workloads and frequently triggers 429 errors in parallel n8n loops." - ], - "client_must_provide": [ - "SAP: Subaccount Technical User, Client ID, Client Secret, and Token URL", - "Oracle: Tenancy OCID, User OCID, API Fingerprint, and Private Key (.pem)", - "Network access (VPN/Allowlist) if connecting to On-Premise SAP/Oracle instances" - ], - "operations_available": [ - "CRUD on SAP OData Entities (Sales Orders, Business Partners)", - "OCI Infrastructure Management (List Instances, Manage Buckets)", - "Oracle Database Querying (via REST Data Services)", - "SAP SuccessFactors Employee Data Sync" - ], - "confidence": 0.95, - "research_notes": "While n8n has specific nodes for 'SAP ERP' and 'Oracle Database', broader enterprise integration (OCI or SAP B1) requires the HTTP Request node. Community nodes like 'n8n-nodes-odata' are available but often require manual session handling for enterprise-grade security. Oracle OCI is particularly challenging due to its unique request signing requirements. SAP's Business Accelerator Hub is the gold standard for endpoint discovery.", - "sources_consulted": [ - "Official SAP Business Accelerator Hub", - "Oracle Cloud Infrastructure API Reference", - "n8n Community Forums (OCI Signature & SAP OData threads)", - "GitHub (n8n-nodes-odata repository)", - "YouTube (OCI AI Agent & n8n walkthroughs)", - "Reddit (Self-hosting n8n on Oracle Cloud)" - ], - "has_native_node": false, - "complexity": { - "score": 9, - "tier": "enterprise", - "estimated_hours": 30 - }, - "effort_recommendation": { - "tier": "enterprise", - "base_hours": 30, - "rationale": "While n8n has specific nodes for 'SAP ERP' and 'Oracle Database', broader enterprise integration (OCI or SAP B1) requires the HTTP Request node. Community nodes like 'n8n-nodes-odata' are available but often require manual session handling for enterprise-grade security. Oracle OCI is particularly challenging due to its unique request signing requirements. SAP's Business Accelerator Hub is the gold standard for endpoint discovery." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/scada.json b/technical-research/scada.json deleted file mode 100644 index d08f936..0000000 --- a/technical-research/scada.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "SCADA", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:17:55.996Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "SCADA", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key / Basic Auth / OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Authentication varies by SCADA platform. Modern systems like Ignition require the 'WebDev' module to expose REST endpoints, typically secured via API Keys or Bearer Tokens. Industrial IoT platforms like ThingsBoard use JWT or Access Tokens. Older on-premise systems often rely on Basic Auth or IP whitelisting within a local network.", - "api_quality": "good", - "api_documentation_url": "https://docs.inductiveautomation.com/display/DOC81/Web+Services", - "rate_limits": "Varies by implementation; AVEVA Insight defaults to 1,000 requests/second, while on-premise systems like Ignition are limited only by server hardware and user-defined throttling.", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 15, - "webhook_support": true, - "gotchas": [ - "Network Isolation: Most SCADA systems are on OT networks (Air-gapped or behind strict firewalls), requiring an n8n tunnel or VPN.", - "Protocol Bridging: Native SCADA protocols like OPC UA or Modbus are not natively supported in n8n core; they require community nodes like '@fiqch/n8n-nodes-fiq-opcua' or 'n8n-nodes-modbus-fccomplete'.", - "Data Transformation: Industrial data often arrives in raw formats (e.g., arrays of tag values) that require significant JSON mapping in n8n." - ], - "client_must_provide": [ - "Gateway Access (IP/URL)", - "API Credentials (Key/Secret)", - "VPN or Network Tunnel access to the OT environment", - "Tag/Variable list for mapping" - ], - "operations_available": [ - "Read Tag/Sensor Data", - "Write Tag/Control Values", - "Fetch Historical Data (Historian)", - "Trigger Alarm Notifications", - "Acknowledge Alarms" - ], - "confidence": 0.95, - "research_notes": "SCADA is a broad category of industrial control systems. In the n8n ecosystem, 'SCADA integration' almost always refers to connecting to platforms like Ignition (Inductive Automation), AVEVA, or ThingsBoard. Users typically use the HTTP Request node for REST-enabled SCADA or the MQTT node for real-time telemetry. Community nodes for OPC UA and Modbus are actively maintained and are the preferred method for direct PLC/SCADA communication without a REST bridge.", - "sources_consulted": [ - "Official Docs (Inductive Automation, AVEVA, ThingsBoard)", - "n8n Community Forum", - "NPM Registry (Community Nodes)", - "YouTube (Industrial Automation Tutorials)", - "GitHub (n8n-nodes-opcua repositories)" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 15 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 15, - "rationale": "SCADA is a broad category of industrial control systems. In the n8n ecosystem, 'SCADA integration' almost always refers to connecting to platforms like Ignition (Inductive Automation), AVEVA, or ThingsBoard. Users typically use the HTTP Request node for REST-enabled SCADA or the MQTT node for real-time telemetry. Community nodes for OPC UA and Modbus are actively maintained and are the preferred method for direct PLC/SCADA communication without a REST bridge." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/scheduling-crm-gps-payments.json b/technical-research/scheduling-crm-gps-payments.json deleted file mode 100644 index 1316cab..0000000 --- a/technical-research/scheduling-crm-gps-payments.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Scheduling/CRM/GPS/Payments", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:15:15.832Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Scheduling/CRM/GPS/Payments", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.hubspot", - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a Public App in the HubSpot Developer Portal to obtain a Client ID and Client Secret. n8n handles the 30-minute access token refresh automatically. Private App access tokens (Bearer) are also supported for single-portal use.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.hubspot.com/docs/api/overview", - "rate_limits": "100 requests per 10 seconds (Free/Starter), 150 requests per 10 seconds (Professional/Enterprise), and 200 requests per 10 seconds (API Add-on). Daily limits range from 250,000 to 1,000,000 requests depending on the tier.", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": true, - "gotchas": [ - "GPS tracking is NOT a native HubSpot feature; it requires 3rd-party integrations like Mapsly, HyperTrack, or Map My Customers to sync location data into custom properties.", - "The CRM Search API is limited to a maximum of 10,000 total results per query.", - "OAuth scopes must be explicitly defined in the Developer Portal (e.g., 'crm.objects.contacts.read') or the node will return 403 errors.", - "HubSpot's 'Meetings' (Scheduling) and 'Commerce Hub' (Payments) features may require specific subscription tiers (Starter/Pro) for full API access." - ], - "client_must_provide": [ - "HubSpot Developer Account access", - "Public App Client ID and Client Secret", - "Specific Scopes (crm.objects.contacts, crm.objects.deals, etc.)", - "Access to a HubSpot Portal with Commerce Hub enabled for Payments" - ], - "operations_available": [ - "Create/Update/Get/Search Contacts and Companies", - "Manage Deals, Pipelines, and Stages", - "Create and Manage Engagements (Meetings/Scheduling)", - "Create Invoices and Track Payment Status (Commerce Hub)" - ], - "confidence": 0.95, - "research_notes": "The integration name 'Scheduling/CRM/GPS/Payments' is a functional description of a Field Service Management (FSM) stack. While the user-provided context 'n8n-nodes-base.hubspot' is a native node, HubSpot lacks native GPS tracking. Research indicates that users typically use HubSpot as the central CRM/Scheduling/Payments hub and integrate GPS via 3rd-party apps. Alternatives like ServiceM8 or Jobber cover all four pillars natively but use community or partner nodes rather than the core 'n8n-nodes-base' library.", - "sources_consulted": [ - "Official HubSpot Developer Documentation", - "n8n Community Forums", - "HubSpot App Marketplace", - "YouTube (Ucidity HubSpot/n8n tutorials)", - "Reddit (r/n8n)", - "npm Registry (@arisegroup/n8n-nodes-jobber, n8n-nodes-servicem8)" - ], - "has_native_node": true, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "The integration name 'Scheduling/CRM/GPS/Payments' is a functional description of a Field Service Management (FSM) stack. While the user-provided context 'n8n-nodes-base.hubspot' is a native node, HubSpot lacks native GPS tracking. Research indicates that users typically use HubSpot as the central CRM/Scheduling/Payments hub and integrate GPS via 3rd-party apps. Alternatives like ServiceM8 or Jobber cover all four pillars natively but use community or partner nodes rather than the core 'n8n-nodes-base' library." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "hubspot", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/scheduling-crm.json b/technical-research/scheduling-crm.json deleted file mode 100644 index 315e32d..0000000 --- a/technical-research/scheduling-crm.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Scheduling/CRM", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:08:54.650Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Scheduling/CRM", - "has_native_n8n_node": true, - "native_node_name": "HubSpot", - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a Developer App or Private App in the HubSpot portal to obtain a Client ID and Client Secret (for OAuth2) or a Private App Access Token. Scopes must be manually selected to match the required operations (e.g., crm.objects.contacts.read).", - "api_quality": "excellent", - "api_documentation_url": "https://developers.hubspot.com/docs/api/overview", - "rate_limits": "100 requests per 10 seconds (burst limit for OAuth/Private Apps); Daily limits range from 250,000 (Free/Starter) to 500,000 (Professional/Enterprise).", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "HubSpot only allows one webhook URL per developer app. If multiple n8n workflows use the same app for triggers, they will conflict. Workaround: Use separate apps or a single 'router' workflow.", - "The legacy 'Developer API Key' was deprecated in 2022; all new integrations must use Private Apps or OAuth2.", - "The CRM Search API has a stricter secondary rate limit of 5 requests per second per token.", - "Scopes are granular; missing a specific scope (like 'crm.objects.deals.read') will cause 403 Forbidden errors even if the connection is successful." - ], - "client_must_provide": [ - "HubSpot Developer Account access", - "Client ID and Client Secret (for OAuth2) or Private App Access Token", - "List of required Scopes based on business logic" - ], - "operations_available": [ - "Create, Update, Get, and Delete Contacts", - "Manage Deals, Companies, and Tickets", - "Search CRM Objects with complex filters", - "Manage Engagements (Meetings, Tasks, Notes, Emails)", - "Add/Remove Contacts from Lists" - ], - "confidence": 1, - "research_notes": "The integration identified as 'Scheduling/CRM' in the provided n8n context refers to HubSpot, which serves as both a CRM and a scheduling platform (via its Meetings tool). The n8n 'HubSpot' node is highly mature. Research across the n8n forum and Reddit highlights that while the API is robust, the 'one webhook per app' limitation is the most common point of failure for developers attempting to scale multiple event-driven workflows. The transition from API keys to Private Apps is now mandatory.", - "sources_consulted": [ - "Official HubSpot Developer Documentation", - "n8n Community Forum", - "n8n Official Node Documentation", - "Reddit (r/n8n)", - "HubSpot Community Developer Logs" - ], - "has_native_node": true, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 10, - "rationale": "The integration identified as 'Scheduling/CRM' in the provided n8n context refers to HubSpot, which serves as both a CRM and a scheduling platform (via its Meetings tool). The n8n 'HubSpot' node is highly mature. Research across the n8n forum and Reddit highlights that while the API is robust, the 'one webhook per app' limitation is the most common point of failure for developers attempting to scale multiple event-driven workflows. The transition from API keys to Private Apps is now mandatory." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "hubspot", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/scheduling-services.json b/technical-research/scheduling-services.json deleted file mode 100644 index c83f94b..0000000 --- a/technical-research/scheduling-services.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "integration": "Scheduling services", - "found": true, - "generated": true, - "from_database": true, - "research_date": "2026-01-25T03:20:50.330Z", - "has_native_n8n_node": true, - "has_native_node": true, - "native_node_name": "n8n-nodes-base.calendly", - "auth_type": "api_key", - "api_quality": "good", - "complexity": { - "score": 2, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "Native n8n node available (n8n-nodes-base.calendly). LLM enhancement failed." - }, - "research_notes": "Database match only. LLM error: Gemini API key not set", - "_database_match": "calendly" -} \ No newline at end of file diff --git a/technical-research/scheduling.json b/technical-research/scheduling.json deleted file mode 100644 index 5f05462..0000000 --- a/technical-research/scheduling.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "integration": "Scheduling", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-30T05:19:48.297Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Scheduling (Calendly)", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.calendly", - "auth_type": "api_key", - "auth_complexity": "simple", - "auth_notes": "Requires a Personal Access Token (PAT) generated from the Calendly Developer Portal. OAuth2 is also supported for broader organizational access.", - "api_quality": "good", - "api_documentation_url": "https://developer.calendly.com/api-docs", - "rate_limits": "30 requests per minute for Standard/Professional/Teams plans; 10 requests per minute for Essentials/Free plans.", - "complexity_score": 2, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": true, - "gotchas": [ - "Webhooks for event notifications often require a paid Calendly subscription (Professional or higher).", - "API responses use UTC ISO8601 timestamps; manual conversion is required if the client needs local time in subsequent nodes.", - "The 'Organization URI' is a required parameter for many v2 API calls but is not always intuitive to find in the standard UI." - ], - "client_must_provide": [ - "Personal Access Token", - "Organization URI", - "User URI (for user-specific event filtering)" - ], - "operations_available": [ - "Get Event Type", - "List Scheduled Events", - "Create Webhook Subscription", - "Get User Details", - "Cancel Scheduled Event" - ], - "similar_integrations": [ - "Cal.com", - "Acuity Scheduling", - "YouCanBook.me" - ], - "confidence": 0.95, - "research_notes": "Calendly is the primary scheduling provider for n8n. The node uses API v2. Users should be aware that Cal.com is the primary open-source alternative with a similar native node footprint.", - "has_native_node": true, - "complexity": { - "score": 2, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "Calendly is the primary scheduling provider for n8n. The node uses API v2. Users should be aware that Cal.com is the primary open-source alternative with a similar native node footprint." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with node database" - }, - "_database_match": "calendly", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/servicetitan.json b/technical-research/servicetitan.json deleted file mode 100644 index a900947..0000000 --- a/technical-research/servicetitan.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "ServiceTitan", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T22:47:56.068Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "ServiceTitan", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2 (Client Credentials Grant)", - "auth_complexity": "complex", - "auth_notes": "Requires a two-step machine-to-machine flow. 1. POST to the auth endpoint with Client ID and Client Secret to get a Bearer token. 2. Use the Bearer token PLUS a mandatory 'ST-App-Key' header for all resource requests. Access tokens expire every 15 minutes (900 seconds).", - "api_quality": "excellent", - "api_documentation_url": "https://developer.servicetitan.io/", - "rate_limits": "60 requests per second per application per tenant (Standard APIs); 5 requests per minute per tenant (Reporting APIs).", - "complexity_score": 8, - "complexity_tier": "enterprise", - "estimated_hours": 16, - "webhook_support": true, - "gotchas": [ - "Access tokens expire in 900 seconds and no refresh tokens are provided for the Client Credentials flow; you must implement a caching/re-auth logic in n8n.", - "The 'ST-App-Key' is a static header required for every request, distinct from the dynamic OAuth token.", - "Tenant ID is required in the URL path for most V2 endpoints (e.g., /crm/v2/tenant/{tenant}/customers).", - "API access is typically restricted to Enterprise-tier plans or requires specific paid add-ons." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "App Key (generated in Developer Portal)", - "Tenant ID (found in Settings > Integrations > API Application Access)" - ], - "operations_available": [ - "Get/Create/Update Customers", - "Manage Jobs and Appointments", - "Retrieve Invoices and Payments", - "Access Pricebook (Services/Materials)", - "Export Payroll and Timesheet data", - "Manage Projects and Estimates" - ], - "confidence": 0.95, - "research_notes": "ServiceTitan uses a robust V2 API following OAuth 2.0 standards. While no native n8n node exists, the integration is highly stable via the HTTP Request node. The primary challenge for n8n developers is the 15-minute token expiration and the requirement for three distinct credential pieces (App Key, Client ID, Secret) plus the Tenant ID. Community sentiment highlights that while the API is powerful, the onboarding and setup fees for API access can be a barrier for smaller businesses.", - "sources_consulted": [ - "Official ServiceTitan Developer Portal", - "n8n Community Forums", - "ServiceTitan Knowledge Base", - "GitHub (PHP SDK & MCP Server repos)", - "Reddit (r/HVAC and r/n8n)", - "YouTube (Integration walkthroughs for Zapier/n8n)" - ], - "has_native_node": false, - "complexity": { - "score": 8, - "tier": "enterprise", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "enterprise", - "base_hours": 16, - "rationale": "ServiceTitan uses a robust V2 API following OAuth 2.0 standards. While no native n8n node exists, the integration is highly stable via the HTTP Request node. The primary challenge for n8n developers is the 15-minute token expiration and the requirement for three distinct credential pieces (App Key, Client ID, Secret) plus the Tenant ID. Community sentiment highlights that while the API is powerful, the onboarding and setup fees for API access can be a barrier for smaller businesses." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/shipping-labels.json b/technical-research/shipping-labels.json deleted file mode 100644 index dd4a869..0000000 --- a/technical-research/shipping-labels.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "integration": "Shipping labels", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T18:04:55.545Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Shipping labels", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication is typically handled via a 'Shippo-Token' or 'API Key' provided in the Authorization header (e.g., 'Authorization: ShippoToken '). Keys are generated in the developer dashboard.", - "api_quality": "excellent", - "api_documentation_url": "https://goshippo.com/docs/reference", - "rate_limits": "500 requests per minute for Live tokens; 50 requests per minute for Test tokens.", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "Address validation is often a separate API call and may incur additional per-request costs depending on the plan.", - "Carrier accounts (UPS, FedEx, DHL) must be manually connected and authenticated within the provider's dashboard before the API can return rates for them.", - "Label generation can be asynchronous for certain carriers; workflows should be designed to handle 'queued' statuses or use webhooks for completion notifications.", - "Refunds for labels are subject to carrier-specific windows (usually 14-30 days) and must be initiated before the label is scanned." - ], - "client_must_provide": [ - "API Key (Live or Test)", - "Carrier Account ID (for non-default carriers)", - "Sender and Recipient address objects", - "Parcel dimensions and weight" - ], - "operations_available": [ - "Create Shipment", - "Get Shipping Rates", - "Purchase Label", - "Validate Address", - "Track Shipment", - "Create Refund", - "Generate Manifest", - "List Carrier Accounts" - ], - "confidence": 0.95, - "research_notes": "Since 'Shipping labels' is a category rather than a single app, this analysis focuses on Shippo, the most common API-first shipping label provider used in the n8n community. While ShipStation has a native node, Shippo is the primary choice for users seeking a flexible, developer-centric API for custom HTTP Request patterns. Community nodes like 'n8n-nodes-shippo' exist but are often bypassed for direct HTTP Request nodes to handle advanced carrier-specific metadata. ShipEngine (now rebranded as ShipStation API) is the main enterprise competitor with similar technical requirements.", - "sources_consulted": [ - "Official Shippo API Documentation", - "n8n Community Forum", - "npm (n8n-nodes-shippo)", - "GitHub (Shippo-Node SDK)", - "ShipEngine/ShipStation API Status Pages", - "YouTube (n8n E-commerce automation tutorials)" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "Since 'Shipping labels' is a category rather than a single app, this analysis focuses on Shippo, the most common API-first shipping label provider used in the n8n community. While ShipStation has a native node, Shippo is the primary choice for users seeking a flexible, developer-centric API for custom HTTP Request patterns. Community nodes like 'n8n-nodes-shippo' exist but are often bypassed for direct HTTP Request nodes to handle advanced carrier-specific metadata. ShipEngine (now rebranded as ShipStation API) is the main enterprise competitor with similar technical requirements." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/shipping.json b/technical-research/shipping.json deleted file mode 100644 index a31c3c4..0000000 --- a/technical-research/shipping.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Shipping", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:16:20.213Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Shipping", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires generating an API key in the Ship.com dashboard under Settings > API Integration. The key is used as a Bearer token in the Authorization header.", - "api_quality": "good", - "api_documentation_url": "https://docs.ship.com", - "rate_limits": "6 requests per second", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "Authentication requires a Bearer token prefix even though it is an API Key.", - "Tracking webhooks must be configured manually via the API or dashboard.", - "Rate limits are strictly enforced with 429 error codes; retry logic is recommended." - ], - "client_must_provide": [ - "Ship.com API Key", - "Access to Ship.com Dashboard" - ], - "operations_available": [ - "Order List", - "Order Creation", - "Order Batch Creation", - "Order Edit", - "Order Delete", - "Shipment Rating (Quote)", - "Purchase Label", - "Add Tracking Webhook" - ], - "confidence": 0.9, - "research_notes": "The integration refers to Ship.com (often simply called 'Ship' or 'Shipping' in its own documentation). It provides a robust REST API for e-commerce logistics. While n8n has native nodes for Shippo and ShipStation, Ship.com must be integrated via the HTTP Request node. The API is modern and uses JSON for all requests and responses.", - "sources_consulted": [ - "Official Docs", - "n8n Community Forum", - "GitHub", - "Shopify App Store", - "Developer Blogs" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 10, - "rationale": "The integration refers to Ship.com (often simply called 'Ship' or 'Shipping' in its own documentation). It provides a robust REST API for e-commerce logistics. While n8n has native nodes for Shippo and ShipStation, Ship.com must be integrated via the HTTP Request node. The API is modern and uses JSON for all requests and responses." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/shipstation.json b/technical-research/shipstation.json deleted file mode 100644 index 00abe17..0000000 --- a/technical-research/shipstation.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "ShipStation", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-28T19:36:17.034Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "ShipStation", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "Basic Auth", - "auth_complexity": "moderate", - "auth_notes": "Requires an API Key and API Secret generated from the ShipStation dashboard under Settings > Account > API Settings. The API Key is used as the username and the API Secret as the password for Basic Authentication.", - "api_quality": "good", - "api_documentation_url": "https://docs.shipstation.com/", - "rate_limits": "40 requests per minute (V1) or up to 200 requests per minute (V2/default). Responses include X-Rate-Limit headers and a Retry-After header on 429 errors.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "As of May 28, 2025, API access is restricted to the 'Gold Plan' ($99/mo) and above; lower tiers no longer have API access.", - "API keys expire periodically and must be manually rotated in the dashboard to prevent workflow failure.", - "The API uses PST/PDT timezone for all DateTime values (ISO 8601 format).", - "Rate limits are enforced per set of API credentials, not per account." - ], - "client_must_provide": [ - "API Key", - "API Secret", - "Gold Plan (or higher) subscription" - ], - "operations_available": [ - "List/Create/Update Orders", - "List/Create Shipments", - "Generate Shipping Labels", - "Retrieve Shipping Rates", - "Manage Inventory", - "List Carriers and Services", - "Subscribe to Webhooks" - ], - "confidence": 1, - "research_notes": "Confirmed via official documentation and community forums that no native n8n node exists; users must use the HTTP Request node. A significant recent change (May 2025) moved API access behind a $99/mo paywall, which is a major point of friction for smaller users. Webhooks are robust but require manual setup in the dashboard or via the /webhooks/subscribe endpoint.", - "sources_consulted": [ - "Official API Documentation (V1 & V2)", - "n8n Community Forum", - "ShipStation Pricing & Help Pages", - "YouTube Integration Tutorials", - "GitHub (shipstation-node SDK)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Confirmed via official documentation and community forums that no native n8n node exists; users must use the HTTP Request node. A significant recent change (May 2025) moved API access behind a $99/mo paywall, which is a major point of friction for smaller users. Webhooks are robust but require manual setup in the dashboard or via the /webhooks/subscribe endpoint." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/sms-reminders.json b/technical-research/sms-reminders.json deleted file mode 100644 index a643004..0000000 --- a/technical-research/sms-reminders.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "SMS Reminders", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T12:50:24.315Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "SMS Reminders", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key / OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Authentication typically requires generating an API Key or setting up OAuth2 credentials within the provider's developer portal (e.g., SeoSoft or SMSMobileAPI). Some providers also require a 'Sender ID' or 'Originator' name to be registered.", - "api_quality": "good", - "api_documentation_url": "https://seosoft.dk/products/sms-reminder/", - "rate_limits": "1000 requests per minute", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "The term 'SMS Reminders' is generic; users must distinguish between specialized reminder services (like SeoSoft or GoReminders) and general SMS gateways (like Twilio).", - "Many services require pre-registration of 'Sender IDs' or '10DLC' compliance for automated messaging in certain regions.", - "Webhook support is often limited to delivery receipts rather than incoming message triggers unless a dedicated virtual number is used." - ], - "client_must_provide": [ - "API Key or OAuth Credentials", - "Registered Sender ID", - "Recipient Phone Number (E.164 format)" - ], - "operations_available": [ - "Send SMS", - "Schedule Reminder", - "Check Delivery Status", - "Manage Templates", - "Balance Inquiry" - ], - "confidence": 0.9, - "research_notes": "Deep research indicates that 'SMS Reminders' is primarily a use-case category rather than a single dominant platform. However, specific services like 'SMS Reminder' by SeoSoft ApS and 'SMSMobileAPI' provide dedicated RESTful APIs for this purpose. In the n8n ecosystem, this is most commonly implemented using the 'HTTP Request' node to connect to providers like Twilio, ClickSend, or SMS Everyone. No native 'SMS Reminders' node exists, but several community nodes for specific SMS providers are available.", - "sources_consulted": [ - "Official API Documentation (SeoSoft, SMSMobileAPI, Everyware)", - "n8n Community Forum", - "n8n Workflow Templates", - "YouTube Integration Tutorials", - "GitHub Repositories (flowroute/sms-reminder)", - "NPM (n8n-nodes-clicksendsms, n8n-nodes-labsmobile)" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "Deep research indicates that 'SMS Reminders' is primarily a use-case category rather than a single dominant platform. However, specific services like 'SMS Reminder' by SeoSoft ApS and 'SMSMobileAPI' provide dedicated RESTful APIs for this purpose. In the n8n ecosystem, this is most commonly implemented using the 'HTTP Request' node to connect to providers like Twilio, ClickSend, or SMS Everyone. No native 'SMS Reminders' node exists, but several community nodes for specific SMS providers are available." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/sms-system.json b/technical-research/sms-system.json deleted file mode 100644 index aa4fe59..0000000 --- a/technical-research/sms-system.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "integration": "SMS system", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:32:58.855Z", - "model_used": "gemini-3-flash-preview", - "sms_gateway_providers": [ - { - "provider_name": "Twilio", - "api_documentation_url": "https://www.twilio.com/docs/messaging/api", - "rate_limits": { - "outbound_sms_10dlc": "1 message per second (MPS) per number", - "outbound_sms_toll_free": "25 messages per second (MPS) per account", - "outbound_sms_short_code": "40 messages per second (MPS)", - "inbound_sms": "500 messages per second (MPS) per destination", - "verify_api": "60 requests per minute / 180 per hour / 250 per day" - }, - "authentication_details": { - "method": "HTTP Basic Authentication", - "credentials": [ - "Account SID (used as username)", - "Auth Token (used as password)" - ], - "notes": "Credentials must be passed in the Authorization header. API Keys can also be used as an alternative to the main Account SID/Auth Token for improved security." - } - }, - { - "provider_name": "Vonage (formerly Nexmo)", - "api_documentation_url": "https://developer.vonage.com/en/messaging/sms/overview", - "rate_limits": { - "default_outbound_sms": "1 request per second", - "carrier_specific_limit": "600 texts per minute (TPM) per number for certain US carriers", - "account_api_limit": "170 requests per second for non-SMS endpoints (e.g., Redact API)" - }, - "authentication_details": { - "method": "API Key/Secret or JWT", - "credentials": [ - "api_key", - "api_secret" - ], - "notes": "Supports authentication via query parameters (api_key and api_secret) or via the Authorization header using a Base64 encoded string of 'api_key:api_secret'. JSON Web Tokens (JWT) are required for the newer Messages API." - } - }, - { - "provider_name": "Bird (formerly MessageBird)", - "api_documentation_url": "https://developers.bird.com/api/sms", - "rate_limits": { - "post_requests": "500 requests per second", - "get_requests": "50 requests per second", - "patch_requests": "50 requests per second", - "delete_requests": "50 requests per second", - "recipients_per_request": "Maximum 50 recipients per single API call" - }, - "authentication_details": { - "method": "AccessKey Header", - "credentials": [ - "AccessKey" - ], - "notes": "Authentication is handled by sending the AccessKey in the Authorization header with the prefix 'AccessKey'. Example: 'Authorization: AccessKey your_api_key_here'." - } - }, - { - "provider_name": "Plivo", - "api_documentation_url": "https://www.plivo.com/docs/messaging/api/message/", - "rate_limits": { - "account_level_outbound": "5 messages per second (MPS)", - "api_request_burst": "300 requests per 5 seconds (60 req/s)", - "concurrency_limit": "100 simultaneous API requests" - }, - "authentication_details": { - "method": "HTTP Basic Authentication", - "credentials": [ - "Auth ID", - "Auth Token" - ], - "notes": "Uses standard HTTP Basic Auth where the Auth ID is the username and the Auth Token is the password. All API requests must be made over HTTPS." - } - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/sms.json b/technical-research/sms.json deleted file mode 100644 index 7832742..0000000 --- a/technical-research/sms.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "SMS", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:20:12.175Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "SMS", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires an API Key (Bearer Token) generated from the provider's dashboard (e.g., SMS.to or ClickSend). In n8n, this is typically implemented using the HTTP Request node with 'Header Auth' (Authorization: Bearer ) or 'Generic Credential Type'.", - "api_quality": "good", - "api_documentation_url": "https://sms.to/docs/", - "rate_limits": "150 requests per second (SMS.to standard); ClickSend typically allows 100 requests per minute via RapidAPI or 40 concurrent connections directly.", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": true, - "gotchas": [ - "Character Encoding: Using non-GSM characters (like emojis) drops the character limit from 160 to 70 per segment, potentially doubling or tripling costs.", - "Concatenation Billing: Long messages are split into segments (e.g., 153 characters for GSM); each segment is billed as a separate SMS.", - "E.164 Formatting: Recipient numbers must include the country code (e.g., +1 for USA) or the API may reject the request.", - "Insufficient Balance: API calls will return a 402 error if the prepaid balance is exhausted, which can halt automated workflows without proper error handling." - ], - "client_must_provide": [ - "API Key / Token", - "Verified Sender ID (Alphanumeric or Phone Number)", - "Recipient Phone Number in E.164 format" - ], - "operations_available": [ - "Send SMS", - "Send Bulk SMS", - "Get Message Status", - "Check Account Balance", - "Estimate Message Cost", - "Receive Inbound SMS (via Webhook)" - ], - "confidence": 0.95, - "research_notes": "While n8n has native nodes for specific providers like Twilio and Vonage, generic 'SMS' integrations are best handled via the HTTP Request node using services like SMS.to or ClickSend. SMS.to is highly recommended for n8n users due to its high rate limit (150 req/sec) and straightforward REST API. Community nodes like 'n8n-nodes-clicksendsms' also exist but require manual installation on self-hosted instances.", - "sources_consulted": [ - "Official API Documentation (SMS.to, ClickSend, Sinch)", - "n8n Community Forum", - "YouTube Tutorials (n8n SMS integration guides)", - "GitHub Repositories (n8n-nodes-clicksendsms, n8n-nodes-smskub)", - "Reddit (Developer sentiment on SMS automation)" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "While n8n has native nodes for specific providers like Twilio and Vonage, generic 'SMS' integrations are best handled via the HTTP Request node using services like SMS.to or ClickSend. SMS.to is highly recommended for n8n users due to its high rate limit (150 req/sec) and straightforward REST API. Community nodes like 'n8n-nodes-clicksendsms' also exist but require manual installation on self-hosted instances." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/social-media.json b/technical-research/social-media.json deleted file mode 100644 index e45514f..0000000 --- a/technical-research/social-media.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "Social Media", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:09:38.643Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Social Media", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key & OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Integration typically utilizes a 'Unified Social Media API' provider (like Ayrshare or Upload-Post). Users must create an account on the provider's portal to get an API Key, then connect individual social accounts (Facebook, X, LinkedIn) via the provider's OAuth flow to grant posting permissions.", - "api_quality": "excellent", - "api_documentation_url": "https://docs.ayrshare.com/", - "rate_limits": "100 requests per minute", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "Tagging/Mentions: Most unified APIs require platform-specific internal IDs for tagging rather than simple @usernames.", - "Media Hosting: Images and videos must often be provided as publicly accessible URLs; local files must be converted to binary and uploaded via multipart/form-data.", - "Account Requirements: Instagram and Facebook integrations strictly require 'Business' or 'Creator' accounts linked to a verified Facebook Page.", - "Permission Scopes: Some providers request broad permissions during OAuth which can be a security concern for enterprise clients." - ], - "client_must_provide": [ - "Provider API Key (e.g., from Ayrshare or Upload-Post)", - "Authenticated Social Media Accounts", - "Publicly accessible URLs for media assets" - ], - "operations_available": [ - "Post Content (Text, Image, Video)", - "Schedule Post", - "Delete Post", - "Get Post Analytics (Likes, Shares, Clicks)", - "Retrieve Post History", - "Manage Comments" - ], - "confidence": 0.95, - "research_notes": "Research confirms that while n8n has individual nodes for major platforms (Facebook, X, etc.), the 'Social Media' integration name typically refers to unified API services. These services (Ayrshare, Upload-Post, RobinReach) are preferred by n8n users to avoid the overhead of managing 10+ separate developer apps. Community nodes like 'n8n-nodes-ayrshare' and 'n8n-nodes-upload-post' are the standard workarounds for a single 'Social Media' node experience.", - "sources_consulted": [ - "Official Docs (Ayrshare, Upload-Post)", - "n8n Community Forum", - "YouTube (n8n Social Media Automation Walkthroughs)", - "GitHub (Community Node Repositories)", - "Reddit (r/n8n)", - "NPM Registry" - ], - "has_native_node": false, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "Research confirms that while n8n has individual nodes for major platforms (Facebook, X, etc.), the 'Social Media' integration name typically refers to unified API services. These services (Ayrshare, Upload-Post, RobinReach) are preferred by n8n users to avoid the overhead of managing 10+ separate developer apps. Community nodes like 'n8n-nodes-ayrshare' and 'n8n-nodes-upload-post' are the standard workarounds for a single 'Social Media' node experience." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/social.json b/technical-research/social.json deleted file mode 100644 index 28c719d..0000000 --- a/technical-research/social.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "integration": "Social", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T03:35:32.977Z", - "model_used": "gemini-3-flash-preview", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/something-enterprise-grade.json b/technical-research/something-enterprise-grade.json deleted file mode 100644 index 90b7ac6..0000000 --- a/technical-research/something-enterprise-grade.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "integration": "Something enterprise grade", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:42:33.023Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Something enterprise grade", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "Unknown", - "auth_complexity": "complex", - "auth_notes": "Research failed to identify a specific software product or service named 'Something enterprise grade'. The phrase appears to be a generic descriptor or a placeholder in the prompt.", - "api_quality": "poor", - "api_documentation_url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/", - "rate_limits": "Unknown (No specific product identified)", - "complexity_score": 10, - "complexity_tier": "enterprise", - "estimated_hours": 40, - "webhook_support": false, - "gotchas": [ - "The term 'Something enterprise grade' is not a recognized software product.", - "No community nodes or official integrations exist for this specific string." - ], - "client_must_provide": [ - "Specific software name", - "API Documentation", - "Credentials" - ], - "operations_available": [ - "N/A" - ], - "confidence": 0, - "research_notes": "Research failed. Extensive searches across official documentation, n8n forums, GitHub, and developer portals indicate that 'Something enterprise grade' is a generic phrase used to describe robust software (e.g., SAP, Salesforce, ServiceNow) rather than a specific product name. No API, SDK, or n8n-specific integration was found for this exact name. If this was intended as a placeholder, please provide the actual service name (e.g., 'ServiceNow' or 'SAP').", - "sources_consulted": [ - "Google Search", - "n8n Community Forum", - "n8n Documentation", - "GitHub", - "Reddit" - ], - "has_native_node": false, - "complexity": { - "score": 10, - "tier": "enterprise", - "estimated_hours": 40 - }, - "effort_recommendation": { - "tier": "enterprise", - "base_hours": 40, - "rationale": "Research failed. Extensive searches across official documentation, n8n forums, GitHub, and developer portals indicate that 'Something enterprise grade' is a generic phrase used to describe robust software (e.g., SAP, Salesforce, ServiceNow) rather than a specific product name. No API, SDK, or n8n-specific integration was found for this exact name. If this was intended as a placeholder, please provide the actual service name (e.g., 'ServiceNow' or 'SAP')." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/sourcing.json b/technical-research/sourcing.json deleted file mode 100644 index 6be0539..0000000 --- a/technical-research/sourcing.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "integration": "Sourcing", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T03:06:55.774Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Sourcing (Sourcing.io)", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key (Basic Auth)", - "auth_complexity": "simple", - "auth_notes": "Uses HTTP Basic Authentication. The API key is provided as the username, and the password field is left blank.", - "api_quality": "fair", - "api_documentation_url": "https://sourcing.io/api", - "rate_limits": "Not explicitly documented, but standard usage suggests a limit of approximately 60 requests per minute.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": false, - "gotchas": [ - "The API is primarily focused on technical talent (GitHub/Twitter profiles), so data coverage for non-technical roles is limited.", - "Documentation is minimal and lacks detailed error code descriptions.", - "The platform has undergone acquisitions, leading to potential inconsistencies in API uptime and support." - ], - "client_must_provide": [ - "API Key", - "Search criteria (email, GitHub handle, or Twitter handle)" - ], - "operations_available": [ - "Find person by email", - "Find person by GitHub username", - "Find person by Twitter handle", - "Search for developers by skills and location" - ], - "similar_integrations": [ - "Hunter", - "Clearbit", - "Apollo" - ], - "confidence": 0.8, - "research_notes": "Integration requires the HTTP Request node. Users must configure Basic Auth credentials in n8n, entering the Sourcing.io API key in the 'User' field. All requests are GET-based. Response data is returned in a flat JSON structure, making it easy to map to subsequent nodes.", - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Integration requires the HTTP Request node. Users must configure Basic Auth credentials in n8n, entering the Sourcing.io API key in the 'User' field. All requests are GET-based. Response data is returned in a flat JSON structure, making it easy to map to subsequent nodes." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/spark-api.json b/technical-research/spark-api.json deleted file mode 100644 index dcf20b1..0000000 --- a/technical-research/spark-api.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "Spark API", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:09:27.175Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Spark API", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Supports OAuth2 (Bearer Token or OpenID Connect). Standard integration requires a Client ID and Secret. Some specific session-based flows require generating an 'ApiSig' (an MD5 hash of the secret and key) to exchange for a session token that lasts up to 24 hours.", - "api_quality": "good", - "api_documentation_url": "https://sparkplatform.com/docs/overview/api", - "rate_limits": "1,500 requests per 5-minute period for IDX API keys; 4,000 requests per 5-minute period for VOW and Broker Back Office keys.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": false, - "gotchas": [ - "API access is strictly tied to MLS (Multiple Listing Service) approval; developers must be granted access by each individual MLS they wish to query.", - "Session tokens have an idle timeout of 1 hour and a maximum lifespan of 24 hours, requiring robust token refresh logic in workflows.", - "Filtering uses 'SparkQL', a proprietary query language, rather than standard SQL or simple query parameters." - ], - "client_must_provide": [ - "API Key (Client ID)", - "API Secret", - "Active MLS Data Plan/Approval" - ], - "operations_available": [ - "Get Listings", - "Get Contacts", - "Get Market Stats", - "Search Listings (SparkQL)", - "Data Replication (RESO Web API/OData)" - ], - "confidence": 0.95, - "research_notes": "The 'Spark API' (by FBS/Flexmls) is a real estate data platform following the RESO Web API standard. It is distinct from Cisco Spark (now Webex) and SparkPost, both of which have native n8n nodes. Because no native node exists for this specific real estate API, users must utilize the n8n HTTP Request node. Research confirms that while the API is well-documented, the primary hurdle for developers is the legal/administrative process of obtaining MLS data permissions rather than technical implementation.", - "sources_consulted": [ - "Official Spark API Documentation (sparkplatform.com)", - "n8n Community Forum", - "n8n Native Node Database (Webex/SparkPost comparison)", - "GitHub (Spark API PHP/JS SDKs)", - "RESO Web API Standard Documentation" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "The 'Spark API' (by FBS/Flexmls) is a real estate data platform following the RESO Web API standard. It is distinct from Cisco Spark (now Webex) and SparkPost, both of which have native n8n nodes. Because no native node exists for this specific real estate API, users must utilize the n8n HTTP Request node. Research confirms that while the API is well-documented, the primary hurdle for developers is the legal/administrative process of obtaining MLS data permissions rather than technical implementation." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/spot-market.json b/technical-research/spot-market.json deleted file mode 100644 index dc1d3fd..0000000 --- a/technical-research/spot-market.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Spot market", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:22:43.344Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Spot market", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires a Personal Access Token (API Token) generated from the Spot console (Settings > API). Users must also provide their 'Spot Account ID' (e.g., act-12345678) for most requests.", - "api_quality": "excellent", - "api_documentation_url": "https://docs.spot.io/api/", - "rate_limits": "120 requests per minute", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "The 'Spot Account ID' is required in the path or query parameters for almost all endpoints, which is separate from the API Token.", - "API Tokens are tied to individual user accounts; if the user is removed from the organization, the integration will fail.", - "Some advanced operations (like Ocean cluster rolls) require specific cloud provider permissions to be pre-configured in the Spot console." - ], - "client_must_provide": [ - "API Token (Personal Access Token)", - "Spot Account ID" - ], - "operations_available": [ - "List/Create/Update Elastigroups", - "Manage Ocean (Kubernetes) clusters", - "Trigger cluster rolls and scaling", - "Retrieve cost and savings reports", - "Manage Stateful Nodes" - ], - "confidence": 0.95, - "research_notes": "The term 'Spot market' in a technical integration context refers to 'Spot by NetApp' (formerly Spot.io), a leading platform for cloud cost optimization and spot instance management. While 'spot market' is a generic financial term, Spot.io is the primary SaaS platform that developers integrate with for these specific operations. Research confirms no native n8n node exists, but the REST API is robust and frequently integrated via the HTTP Request node in DevOps and FinOps workflows. Webhook support is available through 'Event Notifications' in the Spot console.", - "sources_consulted": [ - "Official Spot.io API Documentation", - "n8n Community Templates", - "NetApp Developer Portal", - "GitHub (Spotinst SDKs)", - "Reddit (DevOps/FinOps communities)" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "The term 'Spot market' in a technical integration context refers to 'Spot by NetApp' (formerly Spot.io), a leading platform for cloud cost optimization and spot instance management. While 'spot market' is a generic financial term, Spot.io is the primary SaaS platform that developers integrate with for these specific operations. Research confirms no native n8n node exists, but the REST API is robust and frequently integrated via the HTTP Request node in DevOps and FinOps workflows. Webhook support is available through 'Event Notifications' in the Spot console." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/spreadsheets.json b/technical-research/spreadsheets.json deleted file mode 100644 index 51af432..0000000 --- a/technical-research/spreadsheets.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "integration": "Spreadsheets", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:18:12.693Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Spreadsheets", - "has_native_n8n_node": true, - "native_node_name": "Google Sheets", - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a project in the Google Cloud Console, enabling both the Google Sheets and Google Drive APIs, configuring an OAuth consent screen, and generating a Client ID and Client Secret.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.google.com/sheets/api/reference/rest", - "rate_limits": "300 read/write requests per minute per project; 60 read/write requests per minute per user per project.", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": false, - "gotchas": [ - "Row numbering in n8n starts at 2 (assuming row 1 is the header), which can cause off-by-one errors if not accounted for.", - "The 'Select from list' feature for spreadsheets often fails unless the Google Drive API is also enabled in the Cloud Console.", - "Hitting the 60 req/min user quota is common during batch processing; users must implement 'Retry on Fail' or use 'Wait' nodes with 'Split in Batches'.", - "Data must be structured as an array of objects where keys match the exact column headers in the sheet." - ], - "client_must_provide": [ - "Google Cloud Project Access", - "OAuth2 Client ID and Client Secret", - "Spreadsheet ID or URL", - "Google Drive API enabled (for file browsing)" - ], - "operations_available": [ - "Append Row", - "Update Row", - "Get Rows", - "Delete Row/Column", - "Clear Sheet", - "Create Spreadsheet", - "Create/Delete Worksheet (Tab)", - "Lookup Row" - ], - "confidence": 1, - "research_notes": "The 'Spreadsheets' integration in n8n refers to the Google Sheets node (n8n-nodes-base.googleSheets). While highly robust, the primary friction point is the Google Cloud Console setup. Community forums frequently highlight 429 'Too Many Requests' errors when users attempt to use Sheets as a high-frequency database. A dedicated 'Google Sheets Trigger' node exists but operates via polling (default every 1 minute) rather than true webhooks. For real-time 'push' updates, developers often use a Google Apps Script workaround to send an HTTP POST to an n8n Webhook node.", - "sources_consulted": [ - "Official Google Sheets API Documentation", - "n8n Official Documentation", - "n8n Community Forum", - "Reddit (r/n8n)", - "YouTube (n8n integration tutorials)", - "n8n Template Library" - ], - "has_native_node": true, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "The 'Spreadsheets' integration in n8n refers to the Google Sheets node (n8n-nodes-base.googleSheets). While highly robust, the primary friction point is the Google Cloud Console setup. Community forums frequently highlight 429 'Too Many Requests' errors when users attempt to use Sheets as a high-frequency database. A dedicated 'Google Sheets Trigger' node exists but operates via polling (default every 1 minute) rather than true webhooks. For real-time 'push' updates, developers often use a Google Apps Script workaround to send an HTTP POST to an n8n Webhook node." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "google sheets", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/sql-server.json b/technical-research/sql-server.json deleted file mode 100644 index aaee58d..0000000 --- a/technical-research/sql-server.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "integration": "SQL Server", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T23:45:58.598Z", - "model_used": "gemini-3-flash-preview", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/storage.json b/technical-research/storage.json deleted file mode 100644 index c7b667e..0000000 --- a/technical-research/storage.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "integration": "Storage", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:28:45.439Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Storage", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.googleDrive", - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating a project in the Google Cloud Console, enabling the Google Drive API, and configuring an OAuth consent screen. Users must generate a Client ID and Client Secret. Note: If the Google Cloud app is left in 'Testing' mode, the OAuth refresh token expires every 7 days, requiring manual re-authentication.", - "api_quality": "excellent", - "api_documentation_url": "https://developers.google.com/drive/api/v3/reference", - "rate_limits": "20,000 requests per 100 seconds per project; 1,000 requests per 100 seconds per user.", - "complexity_score": 5, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": true, - "gotchas": [ - "Most operations require the unique File ID rather than the file name; using names can lead to 'File Not Found' errors if not handled via a Search node first.", - "Accessing Shared Drives (formerly Team Drives) requires enabling the 'Supports All Drives' option in the node settings.", - "Large file uploads (over 5MB) may require specific handling of binary data buffers to avoid memory issues on smaller n8n instances.", - "The 'Google Drive Trigger' node uses polling rather than real-time webhooks, which can lead to delays depending on the polling interval." - ], - "client_must_provide": [ - "Google Cloud Console Project access", - "Client ID", - "Client Secret", - "Google Account with appropriate Drive permissions" - ], - "operations_available": [ - "Upload File", - "Download File", - "Delete File/Folder", - "List Files/Folders", - "Search Files/Folders", - "Move File", - "Copy File", - "Share File/Folder", - "Update File Content", - "Create Folder" - ], - "confidence": 0.95, - "research_notes": "The integration identified as 'Storage' in the provided context corresponds to the Google Drive node (n8n-nodes-base.googleDrive). While n8n also features an internal 'Storage' node for persistent key-value data, the specified 'googleDrive' native node and 'OAuth2' auth type confirm the target is the Google Drive cloud service. Research across the n8n forum and YouTube tutorials highlights that the most common friction point is the initial Google Cloud Console setup and the 7-day token expiry for unverified 'Testing' apps.", - "sources_consulted": [ - "Official n8n Documentation", - "Google Drive API Reference", - "n8n Community Forum", - "YouTube (n8n Google Drive Setup Guides)", - "GitHub (n8n-nodes-base source code)" - ], - "has_native_node": true, - "complexity": { - "score": 5, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "The integration identified as 'Storage' in the provided context corresponds to the Google Drive node (n8n-nodes-base.googleDrive). While n8n also features an internal 'Storage' node for persistent key-value data, the specified 'googleDrive' native node and 'OAuth2' auth type confirm the target is the Google Drive cloud service. Research across the n8n forum and YouTube tutorials highlights that the most common friction point is the initial Google Cloud Console setup and the 7-day token expiry for unverified 'Testing' apps." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "google drive", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/supplier-ordering.json b/technical-research/supplier-ordering.json deleted file mode 100644 index 28d568b..0000000 --- a/technical-research/supplier-ordering.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "integration": "Supplier ordering", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T18:43:12.935Z", - "model_used": "gemini-3-flash-preview", - "supplier_ordering_research": [ - { - "platform": "Amazon Vendor Central (SP-API)", - "api_documentation_url": "https://developer-docs.amazon.com/sp-api/docs/vendor-orders-api-v1-reference", - "rate_limits": { - "get_purchase_orders": "10 requests per second (Rate), 10 requests (Burst)", - "get_purchase_order": "10 requests per second (Rate), 10 requests (Burst)", - "submit_acknowledgements": "10 requests per second (Rate), 10 requests (Burst)", - "note": "Limits are governed by the Token Bucket algorithm and may be dynamically adjusted based on vendor performance and volume." - }, - "auth_notes": "Uses Login with Amazon (LWA) OAuth 2.0. Requires a Client ID, Client Secret, and a Refresh Token. Requests must be signed using AWS Signature Version 4 (SigV4) and include an 'x-amz-access-token' header." - }, - { - "platform": "Walmart Supplier API (1P)", - "api_documentation_url": "https://developer.walmart.com/api/us/supplier", - "rate_limits": { - "purchase_orders": "100 requests per minute (Sync API)", - "feeds_item_price_inventory": "10 requests per hour (Async API)", - "listing_quality": "150 requests per minute", - "note": "Daily aggregate limit is typically 5,000 calls per day for standard partner accounts." - }, - "auth_notes": "Uses OAuth 2.0 with Client ID and Client Secret. Requires a 'WM_SEC.ACCESS_TOKEN' header generated via the Token API. Headers must also include 'WM_SVC.NAME', 'WM_QOS.CORRELATION_ID', and 'WM_SEC.AUTH_SIGNATURE'." - }, - { - "platform": "Shopify Admin API (Supplier/B2B)", - "api_documentation_url": "https://shopify.dev/docs/api/admin-rest", - "rate_limits": { - "rest_standard": "2 requests per second (40 burst)", - "rest_plus": "20 requests per second (400 burst)", - "graphql_standard": "100 cost points per second", - "graphql_plus": "1,000 cost points per second", - "note": "Shopify uses a 'Leaky Bucket' algorithm. Burst capacity is 40 for standard and 400 for Plus stores." - }, - "auth_notes": "Uses OAuth 2.0. Requires an 'X-Shopify-Access-Token' header. For private apps, Basic Auth with an API Key and Admin API Access Token is used. Scopes like 'write_orders' and 'write_fulfillments' are required for ordering." - }, - { - "platform": "Alibaba.com Open API", - "api_documentation_url": "https://open.alibaba.com/en/doc/index.htm", - "rate_limits": { - "default_api_calls": "5 requests per second", - "transaction_fulfillment": "200 requests per minute", - "note": "Rate limits are strictly enforced per AppKey. High-volume partners can apply for quota increases via the Alibaba Open Platform console." - }, - "auth_notes": "Uses AppKey and AppSecret for HMAC-SHA256 signature generation. Every request must include 'app_key', 'timestamp', 'sign_method', and the generated 'sign' parameter. Access tokens are obtained via OAuth 2.0 flow." - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/tax-preparation-practice-management.json b/technical-research/tax-preparation-practice-management.json deleted file mode 100644 index 453b4da..0000000 --- a/technical-research/tax-preparation-practice-management.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Tax preparation/Practice management", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:50:30.200Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Tax preparation/Practice management", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key & Bearer Token", - "auth_complexity": "moderate", - "auth_notes": "Requires dual-header authentication: a 'Bearer' token in the Authorization header and a tenant-specific 'AccessKey' in the AccessKey header. Users must register an app at the developer portal to receive these.", - "api_quality": "good", - "api_documentation_url": "https://karbonhq.github.io/karbon-api-docs/", - "rate_limits": "120 req/min (2 req/sec)", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 10, - "webhook_support": true, - "gotchas": [ - "Requires two separate headers for every request (Authorization and AccessKey).", - "Uses OData standard for searching and filtering, which requires specific URI conventions (e.g., $expand, $filter).", - "App registration requires manual approval from the provider before keys are issued.", - "Webhook payloads often only contain IDs, requiring a follow-up GET request to fetch full data." - ], - "client_must_provide": [ - "Application Authorization Token (Bearer)", - "Tenant AccessKey", - "Developer Portal App Approval" - ], - "operations_available": [ - "Get/Create/Update Contacts", - "Manage Work Items", - "List Organizations", - "Create Notes", - "Manage Invoices", - "Subscribe to Webhooks", - "Query Users" - ], - "confidence": 0.95, - "research_notes": "Analysis focused on Karbon as the leading practice management tool with a public API. While TaxDome and Canopy are popular, Karbon provides the most transparent technical documentation for n8n users. No native n8n node exists; users typically implement this via the HTTP Request node. Webhook support is robust but requires manual subscription via the API or Zapier-style triggers.", - "sources_consulted": [ - "Official Karbon Developer Center", - "Karbon API Reference (GitHub)", - "n8n Community Forum", - "TaxDome Help Center", - "Canopy Public API Documentation", - "Reddit (r/Bookkeeping)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 10 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 10, - "rationale": "Analysis focused on Karbon as the leading practice management tool with a public API. While TaxDome and Canopy are popular, Karbon provides the most transparent technical documentation for n8n users. No native n8n node exists; users typically implement this via the HTTP Request node. Webhook support is robust but requires manual subscription via the API or Zapier-style triggers." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/team-notifications.json b/technical-research/team-notifications.json deleted file mode 100644 index 4cc6079..0000000 --- a/technical-research/team-notifications.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "integration": "Team Notifications", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:18:03.645Z", - "model_used": "gemini-3-flash-preview", - "api_documentation_url": "https://learn.microsoft.com/en-us/graph/api/team-sendactivitynotification?view=graph-rest-1.0", - "rate_limits": { - "endpoint_limit": "5 requests per second (RPS) per app per tenant", - "global_app_tenant_limit": "50 requests per second (RPS)", - "overall_service_limit": "130,000 requests per 10 seconds per app across all tenants" - }, - "auth_notes": "Authentication requires an OAuth 2.0 Bearer token obtained from Microsoft Entra ID (formerly Azure AD). The application must be granted specific permissions: 'TeamsActivity.Send' for delegated (user-context) notifications, or 'TeamsActivity.Send.Group', 'TeamsActivity.Send.Chat', and 'TeamsActivity.Send.User' for application-level notifications. A mandatory requirement is that the Teams app manifest must include the 'webApplicationInfo' section containing the Entra app ID. Furthermore, the Teams app must be installed in the target team, chat, or personal scope of the recipient before the API can successfully deliver notifications.", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/telephony-system.json b/technical-research/telephony-system.json deleted file mode 100644 index 945f4e7..0000000 --- a/technical-research/telephony-system.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "integration": "Telephony system", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:39:00.189Z", - "model_used": "gemini-3-flash-preview", - "telephony_systems": [ - { - "name": "Twilio", - "api_documentation_url": "https://www.twilio.com/docs", - "rate_limits": { - "rest_api_concurrency": "100 concurrent requests", - "sms_throughput_long_code": "1 message per second", - "sms_throughput_toll_free": "25 messages per second", - "sms_throughput_short_code": "100 messages per second", - "verify_status_checks": "60 requests per minute" - }, - "authentication_notes": "Uses HTTP Basic Authentication. The 'username' is your Twilio Account SID and the 'password' is your Auth Token. Credentials should be sent in the 'Authorization' header as a Base64-encoded string." - }, - { - "name": "Plivo", - "api_documentation_url": "https://www.plivo.com/docs/", - "rate_limits": { - "general_api_limit": "300 requests per 5 seconds", - "sms_throughput_long_code": "1 message per second", - "sms_throughput_toll_free": "25 messages per second", - "sms_throughput_short_code": "100 messages per second", - "voice_call_limit": "1 call per second (default)" - }, - "authentication_notes": "Uses HTTP Basic Authentication. The 'username' is your Auth ID and the 'password' is your Auth Token. Both are found in the Plivo console and must be included in the 'Authorization' header." - }, - { - "name": "Vonage (formerly Nexmo)", - "api_documentation_url": "https://developer.vonage.com/", - "rate_limits": { - "application_api": "170 requests per second", - "sms_outbound_default": "1 request per second", - "redact_api": "170 requests per second", - "voice_api": "2 calls per second" - }, - "authentication_notes": "Supports two methods: 1) Basic Authentication using 'api_key' and 'api_secret' as query parameters or in the header. 2) JWT (JSON Web Token) for newer APIs, requiring an Application ID and a Private Key." - }, - { - "name": "SignalWire", - "api_documentation_url": "https://developer.signalwire.com/", - "rate_limits": { - "post_put_patch_requests": "13,800 requests per 10 seconds", - "get_delete_requests": "Effectively unlimited", - "voice_calls": "1 call per second", - "sms_10dlc": "4 messages per second", - "sms_toll_free": "3 messages per second" - }, - "authentication_notes": "Uses HTTP Basic Authentication. The 'username' is your Project ID and the 'password' is your API Token. Requires your Space URL (e.g., your-space.signalwire.com) as the base for all API calls." - }, - { - "name": "Telnyx", - "api_documentation_url": "https://developers.telnyx.com/docs/api/v2", - "rate_limits": { - "general_api_limit": "1,500 requests per second", - "international_spending_limit": "500 currency units per day (default)", - "storage_api_limit": "800 requests per second per bucket" - }, - "authentication_notes": "Uses Bearer Token authentication. You must include your API Key in the 'Authorization' header as 'Bearer {YOUR_API_KEY}'. API keys are managed in the Telnyx Portal under the 'API Keys' section." - }, - { - "name": "MessageBird", - "api_documentation_url": "https://developers.messagebird.com/", - "rate_limits": { - "sms_api_post": "500 requests per second", - "sms_api_get": "50 requests per second", - "conversations_api_read": "500 requests per second", - "email_api_limit": "50 requests per second" - }, - "authentication_notes": "Uses a custom Authorization header format: 'Authorization: AccessKey {YOUR_ACCESS_KEY}'. Access keys can be 'live' or 'test' (prefixed with test_) and are managed in the MessageBird Dashboard." - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/templates.json b/technical-research/templates.json deleted file mode 100644 index 021deef..0000000 --- a/technical-research/templates.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "integration": "Templates", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T23:46:18.754Z", - "model_used": "gemini-3-flash-preview", - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/text.json b/technical-research/text.json deleted file mode 100644 index 1cd7db3..0000000 --- a/technical-research/text.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Text", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:32:04.147Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Text", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2 / Personal Access Token", - "auth_complexity": "moderate", - "auth_notes": "Requires creating an application in the Text Developer Console (platform.text.com). Supports OAuth 2.1 (Authorization Code Grant) for public/private apps and Personal Access Tokens (Basic Auth) for quick scripts and testing.", - "api_quality": "excellent", - "api_documentation_url": "https://platform.text.com/docs/api-reference", - "rate_limits": "50 req/min (Configuration API), 100 req/min (Agent Chat API), 10 req/min (Reports API). There is also a limit of 25 access tokens per client per user account.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "API access for private apps and Personal Access Tokens is a paid service; only public apps listed on the Marketplace have free API usage.", - "A strict limit of 25 access/refresh tokens per client/user exists; exceeding this revokes the oldest token automatically.", - "The platform is a rebranding of LiveChat; many n8n resources and the existing 'LiveChat' node are the primary points of integration." - ], - "client_must_provide": [ - "Client ID", - "Client Secret", - "Developer Console Access", - "Scopes (e.g., chats--all:rw, agents--all:ro)" - ], - "operations_available": [ - "Send/Receive Messages (Agent & Customer)", - "Manage Agents and Groups", - "Retrieve Chat/Ticket Reports", - "Register and Manage Webhooks", - "Update Customer Profiles", - "Manage KnowledgeBase Resources" - ], - "confidence": 0.95, - "research_notes": "Text (text.com) is the unified platform for LiveChat, HelpDesk, and KnowledgeBase. While n8n has a native 'LiveChat' node, it does not yet have a node branded as 'Text'. Integration is highly reliable via the HTTP Request node using their well-structured REST API. The platform uses 'Building Blocks' in their developer console to enable features like webhooks and OAuth.", - "sources_consulted": [ - "Official Text Platform Documentation", - "n8n Community Forum", - "LiveChat Developer Console", - "n8n Node List", - "GitHub (LiveChat SDKs)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 8, - "rationale": "Text (text.com) is the unified platform for LiveChat, HelpDesk, and KnowledgeBase. While n8n has a native 'LiveChat' node, it does not yet have a node branded as 'Text'. Integration is highly reliable via the HTTP Request node using their well-structured REST API. The platform uses 'Building Blocks' in their developer console to enable features like webhooks and OAuth." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/the-usual.json b/technical-research/the-usual.json deleted file mode 100644 index 9b3c38c..0000000 --- a/technical-research/the-usual.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "integration": "The usual", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:44:25.227Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "The usual", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "None found", - "auth_complexity": "complex", - "auth_notes": "Research failed to identify a specific software product or service named 'The usual' with a public API. The term is predominantly used as a common phrase in technical documentation (e.g., 'the usual suspects') or refers to niche local businesses (e.g., 'The Usual' coffee shop or hospitality brand) without developer portals.", - "api_quality": "poor", - "api_documentation_url": "https://theusual.com/", - "rate_limits": "N/A", - "complexity_score": 10, - "complexity_tier": "complex", - "estimated_hours": 40, - "webhook_support": false, - "gotchas": [ - "The term 'The usual' is a generic phrase and does not correspond to a known SaaS integration in the n8n ecosystem.", - "No community nodes or HTTP request patterns exist for this name." - ], - "client_must_provide": [ - "Clarification on the specific service name", - "API Documentation if it exists" - ], - "operations_available": [ - "None" - ], - "confidence": 0.1, - "research_notes": "Deep web research across n8n forums, GitHub, npm, and general search engines indicates that 'The usual' is not a technical integration. It appears in n8n community discussions only as a figure of speech (e.g., 'integrations that go beyond the usual suspects'). A hospitality brand (theusual.com) and a coffee app (theusual.app) exist but lack public API documentation or n8n connectivity.", - "sources_consulted": [ - "n8n Community Forum", - "GitHub", - "npmjs.com", - "Official Pricing Pages", - "Developer Blogs", - "Reddit" - ], - "has_native_node": false, - "complexity": { - "score": 10, - "tier": "complex", - "estimated_hours": 40 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 40, - "rationale": "Deep web research across n8n forums, GitHub, npm, and general search engines indicates that 'The usual' is not a technical integration. It appears in n8n community discussions only as a figure of speech (e.g., 'integrations that go beyond the usual suspects'). A hospitality brand (theusual.com) and a coffee app (theusual.app) exist but lack public API documentation or n8n connectivity." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/ticketing.json b/technical-research/ticketing.json deleted file mode 100644 index 5024821..0000000 --- a/technical-research/ticketing.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Ticketing", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:52:02.704Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Ticketing", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication requires an API Key obtained from the 'Profile' page in the Ticketing.events dashboard. This key must be included in the 'X-API-Key' header. Additionally, all requests must include an 'X-Client-Version' header (e.g., '3.0.0') to ensure compatibility.", - "api_quality": "good", - "api_documentation_url": "https://ticketing.events/api/v3/", - "rate_limits": "100 requests per 60 seconds", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "Every request MUST include the 'X-Client-Version' header; omitting it results in a 412 Precondition Failed error.", - "API keys are tied to the specific user's permissions unless a dedicated 'Integration Key' is requested from a system administrator.", - "The platform is specifically branded as 'TickeTing' (with a capital T), which can lead to confusion when searching for generic 'ticketing' documentation." - ], - "client_must_provide": [ - "API Key", - "Client Version (current version is 3.0.0)" - ], - "operations_available": [ - "Create Event", - "List Events", - "Add Attendee", - "Issue Ticket", - "Validate Ticket", - "Get Event Report", - "Manage Host Accounts", - "Ticket Transfers" - ], - "confidence": 0.9, - "research_notes": "The research identified 'Ticketing.events' (branded as TickeTing) as the primary service corresponding to the 'Ticketing' name. While n8n lacks a native node, the service is well-integrated into other automation platforms (like Power Automate) and provides a robust REST API v3. Users can integrate it into n8n using the HTTP Request node. The API supports a full lifecycle of event management from creation to QR code ticket validation.", - "sources_consulted": [ - "Official API Documentation (ticketingevents.com)", - "Microsoft Connector Documentation", - "n8n Community Forum", - "n8n Workflow Templates", - "Google Workspace Marketplace" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "The research identified 'Ticketing.events' (branded as TickeTing) as the primary service corresponding to the 'Ticketing' name. While n8n lacks a native node, the service is well-integrated into other automation platforms (like Power Automate) and provides a robust REST API v3. Users can integrate it into n8n using the HTTP Request node. The API supports a full lifecycle of event management from creation to QR code ticket validation." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/time-tracking.json b/technical-research/time-tracking.json deleted file mode 100644 index 7983a3e..0000000 --- a/technical-research/time-tracking.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "integration": "Time Tracking", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T14:41:08.828Z", - "model_used": "gemini-3-flash-preview", - "time_tracking_apis": [ - { - "name": "Toggl Track", - "api_documentation_url": "https://developers.track.toggl.com/docs/", - "rate_limits": "1 request per second (Leaky bucket); Sliding window quotas: Free (30/hr), Starter (240/hr), Premium (600/hr) per user/organization.", - "auth_notes": "Uses HTTP Basic Auth. The API token serves as the username, and the string 'api_token' is used as the password. A 'User-Agent' header is required for all requests." - }, - { - "name": "Harvest", - "api_documentation_url": "https://help.getharvest.com/api-v2/", - "rate_limits": "100 requests per 15 seconds for general API; 100 requests per 15 minutes for Reports API.", - "auth_notes": "Supports OAuth 2.0 and Personal Access Tokens. Requests must include 'Authorization: Bearer ', 'Harvest-Account-Id: ', and a descriptive 'User-Agent' header." - }, - { - "name": "Clockify", - "api_documentation_url": "https://docs.developer.clockify.me/", - "rate_limits": "50 requests per second when using X-Addon-Token; approximately 5-10 requests per second recommended for X-Api-Key to avoid 429 errors.", - "auth_notes": "Authentication is handled via the 'X-Api-Key' or 'X-Addon-Token' headers. API keys are generated in the user's Profile Settings." - }, - { - "name": "Everhour", - "api_documentation_url": "https://everhour.docs.apiary.io/", - "rate_limits": "20 requests per 10 seconds per API key.", - "auth_notes": "Requires the 'X-Api-Key' header. Users can find their API key at the bottom of their profile page. The API is currently in beta and accepts only JSON content." - }, - { - "name": "7shifts", - "api_documentation_url": "https://developers.7shifts.com/docs/", - "rate_limits": "10 requests per second per Access Token across all endpoints.", - "auth_notes": "Uses OAuth 2.0 for partners or long-lived Access Tokens for personal/internal usage. Access Tokens provide administrator-level authorization by default." - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/tms.json b/technical-research/tms.json deleted file mode 100644 index 6afa1c6..0000000 --- a/technical-research/tms.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "integration": "TMS", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:16:27.470Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Everest TMS", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Authentication is handled via a secure API token (X-API-KEY) generated within the Everest TMS administration interface under Settings > API.", - "api_quality": "good", - "api_documentation_url": "https://geteverest.io/en/features/automation-api", - "rate_limits": "Tiered: 30 RPM (Tier 1), 60 RPM (Tier 2), 300 RPM (Tier 3)", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "Rate limits are strictly enforced based on the subscription tier (starting as low as 30 RPM).", - "Error handling must be manually implemented in n8n workflows to manage '429 Too Many Requests' responses.", - "The community node 'n8n-nodes-everest-tms' is required for a simplified experience, otherwise, standard HTTP Request nodes must be used." - ], - "client_must_provide": [ - "API Token", - "Everest TMS Account Instance URL" - ], - "operations_available": [ - "Create Mission/Delivery", - "Update Mission Status", - "Get Proof of Delivery (PoD)", - "Export Mission Data", - "Sync Delivery Statuses", - "Trigger Webhooks on Status Change" - ], - "confidence": 0.9, - "research_notes": "TMS (Transportation Management System) is a broad category, but in the n8n ecosystem, 'Everest TMS' is the primary platform with a dedicated community node (n8n-nodes-everest-tms). Everest has recently (2025) marketed its 'native' n8n integration capabilities. The API is REST-based and supports JSON. While no native node exists in the core n8n library, the community node and standard HTTP Request patterns are well-documented for logistics workflows like order prioritization and route sync.", - "sources_consulted": [ - "Official Everest TMS Documentation", - "npm (n8n-nodes-everest-tms)", - "n8n Workflow Templates (ERP-WMS-TMS)", - "PoD Checker AI (Everest Product) Pricing Page", - "n8n Community Forums" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "TMS (Transportation Management System) is a broad category, but in the n8n ecosystem, 'Everest TMS' is the primary platform with a dedicated community node (n8n-nodes-everest-tms). Everest has recently (2025) marketed its 'native' n8n integration capabilities. The API is REST-based and supports JSON. While no native node exists in the core n8n library, the community node and standard HTTP Request patterns are well-documented for logistics workflows like order prioritization and route sync." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/tracking-fee-schedules.json b/technical-research/tracking-fee-schedules.json deleted file mode 100644 index f414ac6..0000000 --- a/technical-research/tracking-fee-schedules.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "integration": "Tracking/Fee Schedules", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T17:05:17.283Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Tracking/Fee Schedules", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "moderate", - "auth_notes": "Requires creating an application in the Accela Developer Portal to obtain a Client ID (App ID) and Client Secret. Supports Authorization Code, Implicit, and Password flows.", - "api_quality": "good", - "api_documentation_url": "https://developer.accela.com/docs/", - "rate_limits": "Not strictly published; traffic-based. The system identifies app traffic patterns and may temporarily limit requests if performance degrades. Pagination typically limits results to 500 records per page.", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 24, - "webhook_support": true, - "gotchas": [ - "Access tokens have a short 15-minute lifespan; refresh tokens expire after 8 hours (as of May 2024 updates).", - "Distinction between 'Agency' and 'Citizen' apps affects available scopes and authentication paths.", - "The data model is highly hierarchical; 'Tracking' (Records) and 'Fee Schedules' (Settings/Fees) require separate endpoint calls and complex mapping.", - "No native n8n node exists, requiring manual HTTP Request node configuration for all operations." - ], - "client_must_provide": [ - "Accela Developer Portal Account", - "App ID (Client ID)", - "App Secret (Client Secret)", - "Agency Name and Environment (e.g., PROD, SUPP)" - ], - "operations_available": [ - "Get All Records (Tracking)", - "Get Record Details", - "Create Record", - "Get All Fee Schedules", - "Get Fee Items for a Record", - "Add Fee to Record", - "Get Payment Details" - ], - "confidence": 0.95, - "research_notes": "Research confirms 'Tracking/Fee Schedules' refers to the core modules of the Accela Civic Platform, widely used in government permitting and licensing. The integration is standard for city-level automation but requires custom HTTP Request nodes in n8n as no native or community nodes are currently available. Webhooks are supported via Accela's Event Manager Scripting Engine (EMSE).", - "sources_consulted": [ - "Official Accela Developer Portal", - "Accela V4 API Reference", - "n8n Community Forum", - "GitHub (for unofficial SDKs/Adapters)", - "City Government Implementation Reports (Fort Collins, Georgetown)", - "Reddit (Developer sentiment on dental/gov-tech integrations)" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 24, - "rationale": "Research confirms 'Tracking/Fee Schedules' refers to the core modules of the Accela Civic Platform, widely used in government permitting and licensing. The integration is standard for city-level automation but requires custom HTTP Request nodes in n8n as no native or community nodes are currently available. Webhooks are supported via Accela's Event Manager Scripting Engine (EMSE)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/tracking-recalls.json b/technical-research/tracking-recalls.json deleted file mode 100644 index 18b8265..0000000 --- a/technical-research/tracking-recalls.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Tracking/Recalls", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-15T01:07:46.023Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Tracking/Recalls", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "None", - "auth_complexity": "simple", - "auth_notes": "The primary source for tracking recalls (NHTSA) is a public API that does not require an API key or app creation for standard data retrieval.", - "api_quality": "good", - "api_documentation_url": "https://www.nhtsa.gov/nhtsa-datasets-and-apis", - "rate_limits": "No specific rate limits are published for the public API, though standard government API practices (typically 1,000 requests per hour) are recommended to avoid temporary IP blocking.", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": false, - "gotchas": [ - "Data is returned in a deeply nested JSON structure that often requires the 'Item Lists' or 'Code' node in n8n to flatten.", - "The API is strictly GET-based; there is no way to 'subscribe' to new recalls via the API itself (requires polling).", - "VIN decoding and Recall lookups are separate endpoints, requiring a two-step workflow for VIN-based tracking." - ], - "client_must_provide": [ - "Vehicle Identification Number (VIN)", - "Vehicle Make, Model, and Year (for non-VIN searches)" - ], - "operations_available": [ - "Get Recalls by VIN", - "Get Recalls by Vehicle (Make/Model/Year)", - "Decode VIN", - "Get Recalls by Campaign Number", - "Get Recalls by Manufacturer" - ], - "confidence": 0.9, - "research_notes": "Research indicates 'Tracking/Recalls' is a functional category rather than a single SaaS product. The National Highway Traffic Safety Administration (NHTSA) API is the industry standard for this integration. While no native n8n node exists, the integration is commonly achieved using the 'HTTP Request' node. Community templates exist for 'Recall Notice Trackers' which combine NHTSA data with notification nodes like Slack or Email.", - "sources_consulted": [ - "Official NHTSA Developer Portal", - "n8n Templates Library", - "n8n Community Forum", - "GitHub (nhtsa-api wrappers)", - "Data.gov API Catalog" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "Research indicates 'Tracking/Recalls' is a functional category rather than a single SaaS product. The National Highway Traffic Safety Administration (NHTSA) API is the industry standard for this integration. While no native n8n node exists, the integration is commonly achieved using the 'HTTP Request' node. Community templates exist for 'Recall Notice Trackers' which combine NHTSA data with notification nodes like Slack or Email." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/tracking.json b/technical-research/tracking.json deleted file mode 100644 index ce71dad..0000000 --- a/technical-research/tracking.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "integration": "Tracking", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T03:07:26.181Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Tracking.my", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires an API Key to be passed in the 'X-Authorization' header for all REST API requests.", - "api_quality": "fair", - "api_documentation_url": "https://api.tracking.my/", - "rate_limits": "Rate limits are plan-dependent; the free tier typically allows for 1 request per second and limited monthly trackings.", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "The API requires specific courier 'slugs' which are not always intuitive and must be fetched via the Couriers endpoint first.", - "Webhook responses expect a 200 OK status immediately or the service may retry aggressively.", - "Data returned for international shipments can be inconsistent depending on the origin carrier's data sharing." - ], - "client_must_provide": [ - "API Key from the Tracking.my dashboard", - "Tracking Number", - "Courier Code (Slug)" - ], - "operations_available": [ - "Create Tracking", - "Get Tracking Status", - "List Supported Couriers", - "Update Tracking Info", - "Delete Tracking" - ], - "similar_integrations": [ - "AfterShip", - "TrackingMore", - "ShipEngine" - ], - "confidence": 0.85, - "research_notes": "Implementation requires the HTTP Request node. Use POST for creating new tracking entries and GET for status retrieval. Authentication is straightforward via headers. For real-time updates, use the Webhook node to listen for POST requests from Tracking.my, ensuring the n8n production URL is registered in their developer portal.", - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Implementation requires the HTTP Request node. Use POST for creating new tracking entries and GET for status retrieval. Authentication is straightforward via headers. For real-time updates, use the Webhook node to listen for POST requests from Tracking.my, ensuring the n8n production URL is registered in their developer portal." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/translation.json b/technical-research/translation.json deleted file mode 100644 index c3161c3..0000000 --- a/technical-research/translation.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "integration": "Translation", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T13:56:44.613Z", - "model_used": "gemini-3-flash-preview", - "translation_apis": [ - { - "name": "Google Cloud Translation API", - "api_documentation_url": "https://cloud.google.com/translate/docs/reference/rest", - "rate_limits": "6,000,000 characters per project per minute for both v2 (Basic) and v3 (Advanced). Recommended maximum length per request is 5,000 characters, with a hard limit of 30,000 characters for Advanced and 100,000 bytes for Basic.", - "auth_notes": "Requires a Google Cloud project with billing enabled. Authentication is handled via an API Key for simple requests or a Service Account (OAuth 2.0) for more secure, server-side integrations. The GOOGLE_APPLICATION_CREDENTIALS environment variable is typically used to point to the service account JSON key file." - }, - { - "name": "Microsoft Azure Translator", - "api_documentation_url": "https://learn.microsoft.com/en-us/azure/ai-services/translator/reference/v3-0-reference", - "rate_limits": "F0 (Free) tier is limited to 2,000,000 characters per month and approximately 33,300 characters per minute. S1 (Standard) tier limits are higher and vary by region, but typically allow 50,000 characters per single request across all target languages.", - "auth_notes": "Requires an Azure subscription and a Translator resource. Authentication uses the 'Ocp-Apim-Subscription-Key' header. For multi-service or regional resources, the 'Ocp-Apim-Subscription-Region' header is also mandatory to specify the data processing location." - }, - { - "name": "DeepL API", - "api_documentation_url": "https://www.deepl.com/docs-api", - "rate_limits": "Approximately 50 requests per second. The total request body size must not exceed 128 KiB (131,072 bytes). Character limits depend on the plan: 500,000 characters per month for the Free plan, while the Pro plan has no fixed character limit but is billed per usage.", - "auth_notes": "Authentication is performed using a fixed API key passed in the 'Authorization' header with the 'DeepL-Auth-Key' prefix (e.g., 'Authorization: DeepL-Auth-Key [your_key]'). Free API keys are distinguished by the ':fx' suffix." - }, - { - "name": "Amazon Translate", - "api_documentation_url": "https://docs.aws.amazon.com/translate/latest/dg/what-is.html", - "rate_limits": "Standard default limit for the TranslateText action is 10 transactions per second (TPS). Synchronous real-time translation is limited to 10,000 bytes per request. Batch translation allows up to 5,000,000 characters per document and 10 concurrent jobs.", - "auth_notes": "Uses AWS Signature Version 4 for authentication. Users must provide an AWS Access Key ID and Secret Access Key. Access is managed through IAM (Identity and Access Management) policies, which must grant the 'translate:TranslateText' permission to the calling identity." - } - ], - "has_native_n8n_node": false, - "has_native_node": false, - "native_node_name": null, - "auth_type": "unknown", - "api_quality": "unknown", - "complexity": { - "score": 5, - "tier": "complex", - "estimated_hours": 24 - }, - "effort_recommendation": { - "tier": "complex", - "base_hours": 24, - "rationale": "No native node - requires HTTP Request configuration" - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/treasury.json b/technical-research/treasury.json deleted file mode 100644 index 8dd6fe5..0000000 --- a/technical-research/treasury.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "integration": "Treasury", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T16:26:11.293Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Modern Treasury", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Uses HTTP Basic Auth where the API Key is the username and the password is left blank. Additionally, the 'Modern-Treasury-Organization-Id' must be passed as a custom HTTP header in every request.", - "api_quality": "excellent", - "api_documentation_url": "https://docs.moderntreasury.com/", - "rate_limits": "100 requests per second (Production), 25 requests per second (Sandbox). List operations are restricted to 20 requests per second in Production.", - "complexity_score": 6, - "complexity_tier": "standard", - "estimated_hours": 12, - "webhook_support": true, - "gotchas": [ - "List endpoints have significantly lower rate limits (20 req/s) compared to standard endpoints (100 req/s).", - "Idempotency keys ('Idempotency-Key' header) are highly recommended for all POST requests to prevent duplicate payments during network retries.", - "Sandbox environment uses 'mocking' logic which may not perfectly replicate bank-side delays or specific error states found in production." - ], - "client_must_provide": [ - "API Key", - "Organization ID", - "Webhook Secret (for verifying incoming events)" - ], - "operations_available": [ - "Create Payment Order", - "List Counterparties", - "Create Ledger Account", - "Retrieve Transaction", - "Manage Invoices", - "Initiate Return", - "Sync Bank Statement" - ], - "confidence": 0.95, - "research_notes": "Modern Treasury is the primary 'Treasury' API targeted by technical researchers for payment operations. While no native n8n node exists, it is a standard REST API easily handled by the HTTP Request node. It is often confused with 'Treasury Prime' (a BaaS competitor), but Modern Treasury is the industry leader for the 'Payment Operations' category. Research confirmed specific rate limits and the requirement for a dual-auth pattern (Basic Auth + Organization Header).", - "sources_consulted": [ - "Official API Documentation", - "GitHub (Modern Treasury Node.js SDK)", - "n8n Community Forum", - "Pipedream Integration Registry", - "Hacker News (Developer Sentiment)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "standard", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 12, - "rationale": "Modern Treasury is the primary 'Treasury' API targeted by technical researchers for payment operations. While no native n8n node exists, it is a standard REST API easily handled by the HTTP Request node. It is often confused with 'Treasury Prime' (a BaaS competitor), but Modern Treasury is the industry leader for the 'Payment Operations' category. Research confirmed specific rate limits and the requirement for a dual-auth pattern (Basic Auth + Organization Header)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/verification-services.json b/technical-research/verification-services.json deleted file mode 100644 index 95cd552..0000000 --- a/technical-research/verification-services.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Verification services", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:06:10.698Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Verification services", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires creating an account on the VerificarEmails.com portal and generating an 'auth-token' in the API section of the dashboard.", - "api_quality": "good", - "api_documentation_url": "https://verificaremails.com/en/api-documentation/", - "rate_limits": "User-configurable in the dashboard (Requests per minute); default limits vary by plan but are typically set around 100 req/min.", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": true, - "gotchas": [ - "Credits are service-specific: Email verification credits cannot be used for phone or address validation.", - "The community node (@verificaremails/n8n-nodes-verificaremails) must be manually installed via the n8n community nodes panel.", - "Large batch processing may require implementing 'Wait' or 'Retry' logic in n8n to avoid hitting user-defined rate limits.", - "SSL certificate issues may occasionally require enabling 'Ignore SSL Issues' in the HTTP Request node if not using the community node." - ], - "client_must_provide": [ - "API Key (auth-token)", - "Active credit balance for the specific verification service (Email, Phone, etc.)" - ], - "operations_available": [ - "Email Verification (Deliverability/Syntax/Spam-trap)", - "Phone Verification (HLR Lookup, MNP, Syntax)", - "Postal Address Validation (Global coverage)", - "Name/Surname/Gender Detection" - ], - "confidence": 0.95, - "research_notes": "The analysis focuses on 'VerificarEmails.com', which is the primary service marketed as 'Verification Services' within the n8n ecosystem and features a dedicated community node. While Twilio offers a 'Verify' service, it is typically integrated via the standard Twilio node or custom HTTP requests. VerificarEmails provides a more centralized 'all-in-one' node for various data types. The API is RESTful and returns standard JSON responses, making it highly compatible with n8n's data structures.", - "sources_consulted": [ - "Official API Documentation", - "n8n Community Forum", - "npm Package Registry (@verificaremails/n8n-nodes-verificaremails)", - "YouTube Walkthroughs", - "Developer Blog (verificaremails.com)" - ], - "has_native_node": false, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "The analysis focuses on 'VerificarEmails.com', which is the primary service marketed as 'Verification Services' within the n8n ecosystem and features a dedicated community node. While Twilio offers a 'Verify' service, it is typically integrated via the standard Twilio node or custom HTTP requests. VerificarEmails provides a more centralized 'all-in-one' node for various data types. The API is RESTful and returns standard JSON responses, making it highly compatible with n8n's data structures." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/voip-pbx.json b/technical-research/voip-pbx.json deleted file mode 100644 index b94ab44..0000000 --- a/technical-research/voip-pbx.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "VoIP/PBX", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T05:58:19.477Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "VoIP/PBX", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.twilio", - "auth_type": "api_key", - "auth_complexity": "simple", - "auth_notes": "Requires Twilio Account SID and Auth Token. For production environments, it is recommended to use API Keys (SID and Secret) for better access control.", - "api_quality": "excellent", - "api_documentation_url": "https://www.twilio.com/docs/usage/api", - "rate_limits": "Twilio typically allows up to 100 concurrent requests to the REST API. SMS throughput is limited by the sender type (e.g., 1 MPS for long codes, higher for Short Codes or Toll-Free).", - "complexity_score": 3, - "complexity_tier": "moderate", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "Phone numbers must be in E.164 format (e.g., +14155552671) or the API will return a 400 error.", - "Trial accounts can only send messages/calls to verified 'Verified Caller IDs' and include mandatory Twilio branding.", - "Handling incoming calls via webhooks requires returning valid TwiML (XML) to instruct Twilio on how to proceed." - ], - "client_must_provide": [ - "Twilio Account SID", - "Auth Token", - "Active Twilio Phone Number", - "Messaging Service SID (optional, for advanced SMS features)" - ], - "operations_available": [ - "Send SMS", - "Make Phone Call", - "Send WhatsApp Message", - "Fetch Call Logs", - "Get Message Status" - ], - "similar_integrations": [ - "Vonage", - "RingCentral", - "MessageBird" - ], - "confidence": 0.95, - "research_notes": "Twilio is the primary provider for this category in n8n. While the node is simple, complex IVR (Interactive Voice Response) logic requires hosting TwiML responses, which can be done using n8n Webhook nodes.", - "has_native_node": true, - "complexity": { - "score": 3, - "tier": "moderate", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 8, - "rationale": "Twilio is the primary provider for this category in n8n. While the node is simple, complex IVR (Interactive Voice Response) logic requires hosting TwiML responses, which can be done using n8n Webhook nodes." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with node database" - }, - "_database_match": "twilio", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/voip-sms.json b/technical-research/voip-sms.json deleted file mode 100644 index 3972002..0000000 --- a/technical-research/voip-sms.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "integration": "VOIP/SMS", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-01T03:03:19.200Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "VOIP/SMS", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.twilio", - "auth_type": "api_key", - "auth_complexity": "simple", - "auth_notes": "Requires Twilio Account SID and Auth Token. For production environments, it is recommended to use API Key SIDs and Secrets for better access control.", - "api_quality": "excellent", - "api_documentation_url": "https://www.twilio.com/docs/usage/api", - "rate_limits": "Twilio typically allows 100 concurrent requests to the REST API. SMS throughput is limited by the sender type (e.g., 1 message per second for standard long codes in the US).", - "complexity_score": 3, - "complexity_tier": "moderate", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "A2P 10DLC registration is now mandatory for all SMS traffic to US numbers; failure to register results in high filtering and fees.", - "Trial accounts are restricted to sending messages only to verified phone numbers and include a Twilio branding prefix.", - "SMS messages exceeding 160 characters are split into segments, which are billed individually." - ], - "client_must_provide": [ - "Twilio Account SID", - "Twilio Auth Token", - "A purchased Twilio Phone Number or Messaging Service SID" - ], - "operations_available": [ - "Send SMS", - "Make Phone Call", - "Send WhatsApp Message", - "Fetch Message Logs", - "Get Call Details" - ], - "similar_integrations": [ - "Vonage", - "RingCentral", - "Plivo" - ], - "confidence": 0.95, - "research_notes": "Twilio is the primary provider for this category in n8n. While the API is simple to use, the primary hurdles for developers are regulatory (A2P 10DLC) and geographic restrictions on certain phone number types.", - "has_native_node": true, - "complexity": { - "score": 3, - "tier": "moderate", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 8, - "rationale": "Twilio is the primary provider for this category in n8n. While the API is simple to use, the primary hurdles for developers are regulatory (A2P 10DLC) and geographic restrictions on certain phone number types." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with node database" - }, - "_database_match": "twilio", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/voip.json b/technical-research/voip.json deleted file mode 100644 index aaab75c..0000000 --- a/technical-research/voip.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "integration": "VoIP", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:33:38.319Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "VoIP", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.twilio", - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires Twilio Account SID and Auth Token, which are found on the main Twilio Console dashboard. These act as the username and password for Basic Auth.", - "api_quality": "excellent", - "api_documentation_url": "https://www.twilio.com/docs/api", - "rate_limits": "100 concurrent requests (default REST API limit); 1 Message Per Second (MPS) for local numbers; 1 Call Per Second (CPS) for Voice by default.", - "complexity_score": 3, - "complexity_tier": "standard", - "estimated_hours": 8, - "webhook_support": true, - "gotchas": [ - "Webhooks will fail if n8n is running on localhost without a public tunnel like ngrok or Cloudflare Tunnel.", - "n8n is designed for event-based triggers, not persistent real-time audio streaming (WebSockets); processing live audio requires a proxy layer.", - "Twilio call summaries and recordings can take up to 30 minutes to become available via the API after a call ends.", - "International SMS/Voice often requires specific regulatory compliance (e.g., A2P 10DLC in the US or Sender ID registration in Saudi Arabia)." - ], - "client_must_provide": [ - "Twilio Account SID", - "Twilio Auth Token", - "Active Twilio Phone Number" - ], - "operations_available": [ - "Send SMS/MMS", - "Make Outbound Call", - "Send WhatsApp Message", - "Retrieve Call Logs", - "Fetch Message Details", - "Trigger on New Incoming Call/SMS" - ], - "confidence": 0.95, - "research_notes": "While 'VoIP' is a broad category, n8n's primary implementation is through the Twilio node. Community nodes exist for SIP and Asterisk, but Twilio is the standard for most n8n users. Research confirms that the native node supports both triggers (webhooks) and actions. A common pain point in the community is the difficulty of handling real-time audio streams for AI voice agents, which usually requires external orchestration (like Vapi or custom proxies) rather than a direct n8n-to-VoIP stream.", - "sources_consulted": [ - "Official Twilio API Documentation", - "n8n Docs (Twilio Node & Trigger)", - "n8n Community Forums", - "Reddit (r/n8n)", - "NPM (SIP Client Community Node)", - "GitHub (Awesome n8n Nodes)" - ], - "has_native_node": true, - "complexity": { - "score": 3, - "tier": "standard", - "estimated_hours": 8 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 8, - "rationale": "While 'VoIP' is a broad category, n8n's primary implementation is through the Twilio node. Community nodes exist for SIP and Asterisk, but Twilio is the standard for most n8n users. Research confirms that the native node supports both triggers (webhooks) and actions. A common pain point in the community is the difficulty of handling real-time audio streams for AI voice agents, which usually requires external orchestration (like Vapi or custom proxies) rather than a direct n8n-to-VoIP stream." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with web grounding" - }, - "_database_match": "twilio", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/weave.json b/technical-research/weave.json deleted file mode 100644 index 9fd9e2a..0000000 --- a/technical-research/weave.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Weave", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T22:57:55.822Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Weave (Weights & Biases)", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "simple", - "auth_notes": "Requires a Weights & Biases API Key (WANDB_API_KEY) found in the User Settings of the WandB dashboard. For Service API calls, this is passed as a Bearer token or via Basic Auth (api:key).", - "api_quality": "excellent", - "api_documentation_url": "https://weave-docs.wandb.ai/", - "rate_limits": "Limits are applied per project and user. GraphQL API limits are based on request rate (typically 100 requests per second for standard tiers). Metric logging has a separate quota based on request size (max 25MB per log call).", - "complexity_score": 4, - "complexity_tier": "standard", - "estimated_hours": 6, - "webhook_support": false, - "gotchas": [ - "Weave is primarily an observability toolkit; it does not support inbound webhooks for triggering workflows.", - "Deep integration with n8n AI agents currently requires using LangChain nodes or custom HTTP Request nodes rather than native n8n AI nodes.", - "Large trace data objects may be truncated if they exceed serialization limits (recommended to use dictionaries of strings for large payloads)." - ], - "client_must_provide": [ - "WANDB_API_KEY", - "W&B Entity/Team Name", - "Project Name" - ], - "operations_available": [ - "calls_query_stream", - "query_costs", - "log_trace", - "create_object", - "fetch_feedback", - "list_models" - ], - "confidence": 0.95, - "research_notes": "Weave is the LLMOps module of Weights & Biases (W&B). While n8n does not have a native 'Weave' node, it is frequently used in n8n AI workflows for observability. Users typically integrate it using the HTTP Request node to send traces to the W&B Service API or by using the W&B MCP (Model Context Protocol) server which n8n supports natively as of v1.88+. Note: 'Weave' is often confused with 'Weaviate' (Vector DB) or 'Weavely' (Form Builder) in n8n forums, but W&B Weave is the primary technical tool for AI tracing.", - "sources_consulted": [ - "Official W&B Documentation", - "n8n Community Forum", - "Reddit (r/n8n)", - "GitHub (wandb/weave)", - "n8n Blog (MLOps Tools Overview)" - ], - "has_native_node": false, - "complexity": { - "score": 4, - "tier": "standard", - "estimated_hours": 6 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 6, - "rationale": "Weave is the LLMOps module of Weights & Biases (W&B). While n8n does not have a native 'Weave' node, it is frequently used in n8n AI workflows for observability. Users typically integrate it using the HTTP Request node to send traces to the W&B Service API or by using the W&B MCP (Model Context Protocol) server which n8n supports natively as of v1.88+. Note: 'Weave' is often confused with 'Weaviate' (Vector DB) or 'Weavely' (Form Builder) in n8n forums, but W&B Weave is the primary technical tool for AI tracing." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/web-forms.json b/technical-research/web-forms.json deleted file mode 100644 index e674d0e..0000000 --- a/technical-research/web-forms.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "integration": "Web Forms", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T00:16:27.578Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Web Forms", - "has_native_n8n_node": true, - "native_node_name": "n8n-nodes-base.typeform", - "auth_type": "api_key", - "auth_complexity": "simple", - "auth_notes": "Requires a Personal Access Token (PAT) generated from the Typeform Admin panel under Personal Settings > Apps & API.", - "api_quality": "excellent", - "api_documentation_url": "https://developer.typeform.com/get-started/", - "rate_limits": "120 requests per minute (RPM) for Personal Access Tokens; varies for OAuth2 applications.", - "complexity_score": 2, - "complexity_tier": "standard", - "estimated_hours": 4, - "webhook_support": true, - "gotchas": [ - "Response data is deeply nested by default; the 'Simplify' option in the n8n node should be enabled to avoid complex JSON path mapping.", - "File upload fields in forms return a URL rather than the file content; an additional HTTP Request node is required to fetch the actual file.", - "Webhooks must be manually or programmatically registered per form; n8n's Typeform Trigger automates this but requires the node to be active to receive data." - ], - "client_must_provide": [ - "Personal Access Token", - "Form ID", - "Workspace ID (if managing multiple environments)" - ], - "operations_available": [ - "Get All Responses", - "Get Form Definition", - "List All Forms", - "Create Webhook", - "Get Response by ID" - ], - "similar_integrations": [ - "Google Forms", - "Jotform", - "Tally.so" - ], - "confidence": 0.95, - "research_notes": "While 'Web Forms' is a broad category, n8n's primary native implementation is for Typeform. Google Forms and Jotform have separate dedicated nodes with different auth requirements (OAuth2 for Google, API Key for Jotform).", - "has_native_node": true, - "complexity": { - "score": 2, - "tier": "standard", - "estimated_hours": 4 - }, - "effort_recommendation": { - "tier": "standard", - "base_hours": 4, - "rationale": "While 'Web Forms' is a broad category, n8n's primary native implementation is for Typeform. Google Forms and Jotform have separate dedicated nodes with different auth requirements (OAuth2 for Google, API Key for Jotform)." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.85, - "reason": "auto-generated with node database" - }, - "_database_match": "typeform", - "_is_category": true -} \ No newline at end of file diff --git a/technical-research/web-intake.json b/technical-research/web-intake.json deleted file mode 100644 index 021401c..0000000 --- a/technical-research/web-intake.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "integration": "Web Intake", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-01T03:11:09.433Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Web Intake", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key / Header Authentication", - "auth_complexity": "moderate", - "auth_notes": "Requires a specific Web Intake Key or API Key generated within the host platform (e.g., Filevine). Authentication is typically handled via an 'x-api-key' or 'Authorization' header.", - "api_quality": "good", - "api_documentation_url": "https://developer.filevine.com/docs/web-intake-api", - "rate_limits": "Typically 10 requests per second, subject to the host platform's global API limits.", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 16, - "webhook_support": true, - "gotchas": [ - "Field IDs in the JSON payload must exactly match the internal field IDs of the destination system, which are often different from the display labels.", - "The API often returns a 200 OK even if data validation fails internally, requiring manual verification of the created record.", - "Handling file uploads via Web Intake requires multi-part form data and separate binary handling in n8n." - ], - "client_must_provide": [ - "API Key / Intake Key", - "Organization ID or Tenant ID", - "Field Mapping Document (Internal ID to Human-readable name)", - "Target Project Type or Intake Form ID" - ], - "operations_available": [ - "Submit Intake Data", - "Upload Document to Intake", - "Retrieve Intake Schema", - "Validate Intake Payload" - ], - "similar_integrations": [ - "Clio", - "Lawcus", - "PracticePanther" - ], - "confidence": 0.85, - "research_notes": "Implementation requires the n8n HTTP Request node. The developer must manually construct the JSON body to match the specific intake form's schema. It is recommended to use a 'Set' node before the HTTP Request node to map n8n expressions to the required API field keys.", - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 16, - "rationale": "Implementation requires the n8n HTTP Request node. The developer must manually construct the JSON body to match the specific intake form's schema. It is recommended to use a 'Set' node before the HTTP Request node to map n8n expressions to the required API field keys." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/website.json b/technical-research/website.json deleted file mode 100644 index 325e018..0000000 --- a/technical-research/website.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "integration": "Website", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-12T15:03:55.895Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Website", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "Authentication is handled via an API Key provided through the SitePanel (Website.com's white-label/reseller platform). Standard users typically lack direct API access unless on a reseller or enterprise-tier plan.", - "api_quality": "fair", - "api_documentation_url": "https://sitepanel.app/api-documentation", - "rate_limits": "1000 requests per hour", - "complexity_score": 6, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": false, - "gotchas": [ - "No native n8n node exists; all integrations must be built manually using the HTTP Request node.", - "API access is primarily restricted to Reseller/White-label accounts via SitePanel.", - "Generic website tasks (scraping, monitoring) are better handled by specialized community nodes like Firecrawl or Apify.", - "The API is focused on site management (creation/deletion) rather than content editing for standard users." - ], - "client_must_provide": [ - "SitePanel API Key", - "Reseller Account ID", - "Target Domain Name" - ], - "operations_available": [ - "Create Site", - "List Sites", - "Get Site Details", - "Delete Site", - "Suspend/Unsuspend Site" - ], - "confidence": 0.85, - "research_notes": "The term 'Website' in n8n typically refers to generic web interaction or the Website.com site builder. While Website.com lacks a native node, it offers a REST API through its backend platform, SitePanel. For most 'Website' use cases in n8n (like scraping or uptime monitoring), users rely on the native HTTP Request and HTML Extract nodes, or community nodes such as 'n8n-nodes-firecrawl' and 'n8n-nodes-crawl-and-scrape'.", - "sources_consulted": [ - "Official Website.com/SitePanel Documentation", - "n8n Community Forum", - "NPM Registry (n8n-nodes search)", - "Lunar.dev API Quota Database", - "GitHub (n8n-nodes-crawl-and-scrape)" - ], - "has_native_node": false, - "complexity": { - "score": 6, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "The term 'Website' in n8n typically refers to generic web interaction or the Website.com site builder. While Website.com lacks a native node, it offers a REST API through its backend platform, SitePanel. For most 'Website' use cases in n8n (like scraping or uptime monitoring), users rely on the native HTTP Request and HTML Extract nodes, or community nodes such as 'n8n-nodes-firecrawl' and 'n8n-nodes-crawl-and-scrape'." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/word.json b/technical-research/word.json deleted file mode 100644 index a1987d9..0000000 --- a/technical-research/word.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "integration": "Word", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2025-12-31T23:46:27.904Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Word", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2 (Microsoft Entra ID / Azure AD)", - "auth_complexity": "moderate", - "auth_notes": "Requires an Azure App Registration with Microsoft Graph scopes such as Files.ReadWrite and Sites.ReadWrite.All. Must configure redirect URIs for the n8n instance.", - "api_quality": "good", - "api_documentation_url": "https://learn.microsoft.com/en-us/graph/api/resources/word-overview", - "rate_limits": "Subject to Microsoft Graph throttling limits, which vary by tenant but typically allow for several hundred requests per minute with exponential backoff requirements.", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 16, - "webhook_support": true, - "gotchas": [ - "The API only supports .docx files stored in OneDrive for Business or SharePoint Online, not local files.", - "Manipulating specific document elements (like tables or headers) via REST is significantly more complex than simple file operations.", - "Session management is required for persistent changes; you must often create a 'workbook session' or similar stateful connection for complex edits." - ], - "client_must_provide": [ - "Azure Client ID", - "Azure Client Secret", - "Azure Tenant ID", - "Microsoft 365 Account with OneDrive/SharePoint access" - ], - "operations_available": [ - "Create document from template", - "Read document content/text", - "Insert text or images into document", - "Convert document to PDF", - "Update document properties and metadata" - ], - "similar_integrations": [ - "Google Docs", - "Microsoft OneDrive", - "Coda" - ], - "confidence": 0.9, - "research_notes": "Implementation requires the n8n HTTP Request node targeting the Microsoft Graph API. Authentication should be configured using n8n's built-in OAuth2 credential type. Users will need to navigate the Graph API's drive/items structure to locate and manipulate specific Word files.", - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 16 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 16, - "rationale": "Implementation requires the n8n HTTP Request node targeting the Microsoft Graph API. Authentication should be configured using n8n's built-in OAuth2 credential type. Users will need to navigate the Graph API's drive/items structure to locate and manipulate specific Word files." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with node database" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/workday.json b/technical-research/workday.json deleted file mode 100644 index cc6c8c4..0000000 --- a/technical-research/workday.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "integration": "Workday", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T22:43:26.175Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Workday", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "OAuth2", - "auth_complexity": "complex", - "auth_notes": "Requires creating an Integration System User (ISU) in the Workday tenant, assigning it to a Security Group with specific Domain Security Policies, and registering an API Client to obtain a Client ID, Client Secret, and a non-expiring Refresh Token.", - "api_quality": "good", - "api_documentation_url": "https://community.workday.com/sites/default/files/file-hosting/restapi/index.html", - "rate_limits": "10 requests per second (general), 5 requests per second for Strategic Sourcing API.", - "complexity_score": 9, - "complexity_tier": "enterprise", - "estimated_hours": 30, - "webhook_support": false, - "gotchas": [ - "No native n8n node exists; all integrations must be built using the HTTP Request node.", - "Native webhooks are not supported; real-time triggers require Workday Studio 'HTTP-out' logic or polling.", - "The REST API is not feature-complete; complex financial and HR transactions often require fallback to the SOAP API.", - "Authentication requires 'Integration System User' (ISU) setup which involves deep knowledge of Workday's security domain policies." - ], - "client_must_provide": [ - "Workday Tenant URL (Host and Tenant Name)", - "Integration System User (ISU) credentials", - "Client ID and Client Secret from registered API Client", - "Non-expiring Refresh Token" - ], - "operations_available": [ - "Get Workers", - "Create Job Requisition", - "Update Employee Profile", - "Get Financial Invoices", - "Manage Time Off Requests", - "Submit Expense Reports" - ], - "confidence": 1, - "research_notes": "Workday is a highly secure enterprise platform. Integration with n8n is typically performed via the HTTP Request node using OAuth2. While Workday provides a REST API, many developers in the n8n and wider community note that it lacks full coverage, necessitating a hybrid REST/SOAP approach for advanced workflows. Webhooks are a major pain point, often requiring Workday Studio or third-party middleware like CData or Knit to simulate real-time triggers.", - "sources_consulted": [ - "Official Workday Community Documentation", - "n8n Community Forum", - "YouTube Technical Walkthroughs", - "Merge.dev & Knit Developer Blogs", - "Reddit (r/workday)", - "Apideck Integration Guides" - ], - "has_native_node": false, - "complexity": { - "score": 9, - "tier": "enterprise", - "estimated_hours": 30 - }, - "effort_recommendation": { - "tier": "enterprise", - "base_hours": 30, - "rationale": "Workday is a highly secure enterprise platform. Integration with n8n is typically performed via the HTTP Request node using OAuth2. While Workday provides a REST API, many developers in the n8n and wider community note that it lacks full coverage, necessitating a hybrid REST/SOAP approach for advanced workflows. Webhooks are a major pain point, often requiring Workday Studio or third-party middleware like CData or Knit to simulate real-time triggers." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file diff --git a/technical-research/zillow.json b/technical-research/zillow.json deleted file mode 100644 index a1ced88..0000000 --- a/technical-research/zillow.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "integration": "Zillow", - "found": true, - "from_cache": false, - "generated": true, - "research_date": "2026-01-27T23:17:27.262Z", - "model_used": "gemini-3-flash-preview", - "integration_name": "Zillow", - "has_native_n8n_node": false, - "native_node_name": null, - "auth_type": "API Key", - "auth_complexity": "moderate", - "auth_notes": "Requires a Zillow Web Service Identifier (ZWSID) obtained by creating a developer account. Modern data access (Zestimates, Public Records) has transitioned to the 'Bridge Interactive' platform, which requires a separate application and manual approval process.", - "api_quality": "fair", - "api_documentation_url": "https://www.zillowgroup.com/developers/api/", - "rate_limits": "1,000 calls per day for standard Home Valuations and Property Details APIs; higher limits require a Zillow audit and review.", - "complexity_score": 7, - "complexity_tier": "moderate", - "estimated_hours": 12, - "webhook_support": true, - "webhook_notes": "Supported specifically for the Zillow Leads API (Rental Network) via HTTP POST callbacks to a partner-defined endpoint.", - "gotchas": [ - "Strict 'No-Storage' policy: Terms of Use prohibit storing Zillow data locally; it must be displayed dynamically.", - "Legacy API returns XML: Many older endpoints (like GetSearchResults) return XML, requiring an n8n 'XML' node or 'Code' node to parse.", - "Manual Approval: Access to the most valuable data (Zestimates) is not instant and can take weeks for approval via Bridge Interactive.", - "Deprecated ZWSID: Some newer integrations and third-party wrappers require a 'Client ID' or 'Server Token' rather than the legacy ZWSID." - ], - "client_must_provide": [ - "ZWSID (Zillow Web Service ID)", - "Bridge Interactive API Token (for Zestimates/Public Records)", - "Approved Use Case description for Zillow audit" - ], - "operations_available": [ - "GetZestimate", - "GetSearchResults", - "GetDeepSearchResults", - "GetPropertyDetails", - "GetRateSummary", - "GetMonthlyPayments", - "Lead API (Webhooks)" - ], - "confidence": 0.95, - "research_notes": "Zillow's API ecosystem is currently split between legacy ZWSID-based endpoints and the modern Bridge Interactive platform. Most n8n users utilize the 'HTTP Request' node or third-party RapidAPI wrappers to simplify the integration. Community sentiment highlights that the official API is restrictive for 'hobbyist' developers, often leading users toward scrapers like Bright Data or ScrapeOps for large-scale data needs.", - "sources_consulted": [ - "Official Zillow Group Developer Portal", - "Bridge Interactive Documentation", - "n8n Community Forum", - "Reddit (r/RealEstateTechnology, r/n8n)", - "YouTube (Technical Walkthroughs)", - "Zapier Integration Docs (for Webhook context)" - ], - "has_native_node": false, - "complexity": { - "score": 7, - "tier": "moderate", - "estimated_hours": 12 - }, - "effort_recommendation": { - "tier": "moderate", - "base_hours": 12, - "rationale": "Zillow's API ecosystem is currently split between legacy ZWSID-based endpoints and the modern Bridge Interactive platform. Most n8n users utilize the 'HTTP Request' node or third-party RapidAPI wrappers to simplify the integration. Community sentiment highlights that the official API is restrictive for 'hobbyist' developers, often leading users toward scrapers like Bright Data or ScrapeOps for large-scale data needs." - }, - "freshness": { - "stale": false, - "days": 0, - "score": 0.65, - "reason": "auto-generated with web grounding" - }, - "_database_match": null, - "_is_category": false -} \ No newline at end of file