Integration & Extensibility

OpenCore is designed as an integration hub and extensible automation platform. Out of the box, it connects to a wide range of systems and protocols; when you need something custom, you can build your own connector or plugin in your language of choice.


Built‑in Integrations

Databases

  • MongoDB (native driver)
  • PostgreSQL, MySQL
  • Redis (caching, pub/sub)

Messaging & Event Streaming

  • RabbitMQ (AMQP)
  • Apache Kafka
  • MQTT

Cloud Services & Storage

  • AWS S3, Azure Blob Storage, GCP Cloud Storage
  • AWS SQS / SNS, Azure Service Bus

File Transfer

  • FTP / SFTP
  • WebDAV
  • Local file system

HTTP, gRPC & APIs

  • REST (JSON)
  • SOAP (WSDL)
  • gRPC (HTTP/2)
  • GraphQL (HTTP)

Email & Notifications

  • SMTP
  • Slack, Microsoft Teams
  • Twilio SMS / Voice

Identity & Authentication

  • LDAP / Active Directory
  • OAuth2 / OpenID Connect
  • API keys, JWT

UI & Workflow Engines

  • Node‑RED (flows can be deployed/pulled via API)
  • Custom web apps built in any frontend framework

Extending OpenCore

When built‑in connectors don’t cover your use case, you can write your own in any supported language. Every custom integration is packaged as an “agent” and runs alongside the Core.

Connector SDKs


Node‑RED Integration

Node‑RED instances can be managed through OpenCore and used to quickly build integrations to almost any system. With OpenCore’s built‑in nodes, leveraging those integrations from other parts of the platform is extremely easy and intuitive.

If you need to create your own nodes for Node‑RED, see our example node-red-contrib-vat-lookup. Node‑RED also has excellent guides and documentation on its own site: https://nodered.org/docs/.


Web Hosting

Need to host a webpage? Or build your own frontend for OpenCore? Not a problem – you can run or host any number of websites inside OpenCore, and you can easily replace the frontend of OpenCore as well. We provide template projects to get you started:


Best Practices

  • Stateless Connectors: Keep each invocation independent to simplify scaling and retries. Store state in the database or work item queues.
  • Secrets Management: Always store credentials in OpenCore using the Credentials page, and enable encryption for sensitive fields.
  • Versioning: Follow semantic versioning for your connectors. Roll out agent upgrades in a controlled manner. Use OpenCore’s Git server when possible to simplify backups and automate deployments.
  • Monitoring: Emit custom metrics and spans from your code (all SDKs support metrics and tracing) in addition to logs. Integrate with your observability stack for end‑to‑end visibility.

References

  • Rust SDK: https://github.com/openiap/rustapi
  • Core Engine: https://github.com/open-rpa/openflow
  • Docker Samples: https://github.com/open-rpa/docker
  • Helm Charts: https://github.com/open-rpa/helm-charts

Use this page as your starting point for integrating OpenCore into any environment or extending it to fit your organization’s unique needs.