-
Notifications
You must be signed in to change notification settings - Fork 304
Nexus #2137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Nexus #2137
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| --- | ||
| nav: | ||
| title: Getting Started | ||
| position: 2 | ||
| --- | ||
|
|
||
| # Getting Started | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| - Shopware 6.7 or newer | ||
| - Active Shopware subscription | ||
| - Beta access granted by Shopware | ||
| - Nexus service activated | ||
| - Active Shopware services | ||
| - Accept Shopware Service T&C's | ||
| - Activate Nexus service | ||
| - Register shop in SBP if not already done | ||
|
|
||
| ## Accessing Nexus | ||
|
|
||
| - Log in via Shopware SSO (Ory / OIDC) | ||
| - After authentication, Nexus redirects to a demo workflow | ||
| - The workflow becomes functional once your shop is connected | ||
|
|
||
| ## Connecting Your Shopware Shop | ||
|
|
||
| Your shops are pulled from the Shopware Business Platform. | ||
|
|
||
| :::warning | ||
| Beta Limitation - Only the first company linked to your user account is used. As such, only shops linked to that first company will be available in Nexus. | ||
| ::: | ||
|
|
||
| ## Create workflow | ||
|
|
||
| To create a workflow, follow the instructions in the [user documentation](https://docs.shopware.com/en/shopware-6-en/shopware-services/shopware-nexus?category=shopware-6-en/insider-previews). | ||
|
|
||
| ## Known Limitations - Beta-Specific | ||
|
|
||
| | Limitation | Workaround | | ||
| |------------|------------| | ||
| | No test mode | Use staging shops | | ||
| | Limited error details | Add Log nodes | | ||
| | No undo / redo | Save frequently | | ||
| | At-least-once delivery | Design idempotent workflows | |
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,60 @@ | ||||||||
| --- | ||||||||
| nav: | ||||||||
| title: Nexus | ||||||||
| position: 1 | ||||||||
| --- | ||||||||
|
|
||||||||
| # Shopware Nexus Overview | ||||||||
|
|
||||||||
| :::warning | ||||||||
| **Beta Notice** | ||||||||
|
|
||||||||
| Shopware Nexus is currently in **beta** status. The range of functions is limited and may expand in future updates. Behaviour and scope may change. | ||||||||
| ::: | ||||||||
|
|
||||||||
| Shopware Nexus is a unified platform for **event-driven automation and integration**. | ||||||||
|
|
||||||||
| It empowers merchants to orchestrate systems visually using low-code simplicity, creating scalable workflows that connect Shopware with ERPs, CRMs, and other business systems. | ||||||||
|
|
||||||||
| ## Key capabilities | ||||||||
|
|
||||||||
| - Automates repetitive tasks triggered by Shopware events | ||||||||
| - Syncs data bidirectionally between Shopware and external systems (e.g., Microsoft Dynamics Business Central) | ||||||||
| - Enables conditional logic and data transformation without coding | ||||||||
| - Provides real-time execution monitoring | ||||||||
|
|
||||||||
| ## Available in beta | ||||||||
|
|
||||||||
| | Feature | Description | | ||||||||
| |----------|------------| | ||||||||
| | Visual Workflow Builder | Drag-and-drop interface | | ||||||||
| | Shopware Event Triggers | React to entity events | | ||||||||
| | Schedule Triggers | Cron-based execution | | ||||||||
| | Business Central Integration | CRUD for 300+ entities | | ||||||||
| | Shopware API Actions | Call any endpoint | | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||
| | Slack Notifications | Send Slack messages | | ||||||||
| | Conditional Logic | If/else branching | | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||
| | Data Transformation | Map and filter data | | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||
| | Expression Placeholders | Placeholders to insert event data into templates | | ||||||||
| | Execution Monitoring | Track runs & metrics | | ||||||||
|
|
||||||||
| ## Limitations in beta | ||||||||
|
|
||||||||
| The following capabilities are **not available during the beta phase**: | ||||||||
|
|
||||||||
| - SLA guarantees | ||||||||
| - 24/7 support | ||||||||
| - Multi-region deployment (EU only) | ||||||||
| - On-premise/self-hosted deployment | ||||||||
| - Workflow marketplace | ||||||||
|
|
||||||||
| ## Coming after beta | ||||||||
|
|
||||||||
| | Feature | Planned For | Description | | ||||||||
| |----------|------------|------------| | ||||||||
| | AI-Assisted Authoring | GA | Intelligent suggestions | | ||||||||
| | Advanced Analytics | GA | Performance insights | | ||||||||
| | Per-Tenant Quotas | GA | Usage & billing | | ||||||||
| | Workflow Versioning UI | GA | Rollback support | | ||||||||
| | Additional ERP Connectors | Post-GA | SAP, Oracle, etc. | | ||||||||
| | Custom Node Development | Post-GA | Custom workflow nodes | | ||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| --- | ||
| nav: | ||
| title: Integration | ||
| position: 4 | ||
| --- | ||
|
|
||
| # Business Central Integration | ||
|
|
||
| The Business Central integration allows workflows to perform CRUD operations on supported entities via the Business Central API. | ||
|
|
||
| ## Supported Entities | ||
|
|
||
| | Entity | Operations | | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think there's value to the operations column because all the entities support the same operations set:
|
||
| |--------|------------| | ||
| | Customers | Get, Create, Update, Delete | | ||
| | Items | Get, Create, Update | | ||
| | Sales Orders | Get, Create, Update | | ||
| | Sales Invoices | Get | | ||
| | Vendors | Get, Create, Update | | ||
| | Purchase Orders | Get, Create | | ||
|
Comment on lines
+18
to
+20
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These 3 aren't available yet. |
||
|
|
||
| ## OData Filter Examples | ||
|
|
||
| Business Central queries support OData filtering syntax. | ||
|
|
||
| ```text | ||
| email eq 'john@example.com' | ||
| inventory lt 10 | ||
| status eq 'Open' | ||
| externalDocumentNumber eq 'SW-10001' | ||
| ``` | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| --- | ||
| nav: | ||
| title: Security and Troubleshooting | ||
| position: 6 | ||
| --- | ||
|
|
||
| # Security & Data Handling | ||
|
|
||
| - Authentication via Shopware SSO | ||
| - AES-256-GCM encryption using AWS KMS | ||
| - Tenant-isolated storage | ||
| - EU-based infrastructure (eu-central-1) | ||
|
|
||
| ## Troubleshooting | ||
|
|
||
| | Issue | Solution | | ||
| |-------|----------| | ||
| | Workflow stuck deploying | Redeploy | | ||
| | Unauthorized errors | Re-authenticate | | ||
| | Missing event data | Inspect payload with Log node | | ||
| | BC filter returns empty | Validate OData syntax | | ||
| | Slack message not sent | Re-authorize Slack | |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,118 @@ | ||||||||||||||||||||||||||||||
| --- | ||||||||||||||||||||||||||||||
| nav: | ||||||||||||||||||||||||||||||
| title: Nexus | ||||||||||||||||||||||||||||||
| position: 3 | ||||||||||||||||||||||||||||||
| --- | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| # Workflow Builder | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| This page covers the fundamentals of building workflows in Shopware Nexus: | ||||||||||||||||||||||||||||||
| - workflow structure and states | ||||||||||||||||||||||||||||||
| - available node types | ||||||||||||||||||||||||||||||
| - expression syntax for mapping and templates | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| ## Workflow Concepts | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| A workflow is built from nodes connected on a canvas. | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| Typical structure: | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| 1. **Trigger** (starts the workflow) | ||||||||||||||||||||||||||||||
| 2. **Actions** (do something, e.g. API calls, ERP writes, notifications) | ||||||||||||||||||||||||||||||
| 3. **Transforms** (shape/filter data) | ||||||||||||||||||||||||||||||
| 4. **Conditions** (branch logic) | ||||||||||||||||||||||||||||||
| 5. **Outputs** (store results) | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| ## Workflow builder interface | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| | Element | Description | | ||||||||||||||||||||||||||||||
| |--------|-------------| | ||||||||||||||||||||||||||||||
| | Canvas | Visual workspace | | ||||||||||||||||||||||||||||||
| | Node Palette | Available nodes | | ||||||||||||||||||||||||||||||
| | Node Configuration | Params, Credentials, Notes, Debug | | ||||||||||||||||||||||||||||||
| | Toolbar | Save, Publish, Execute, Undeploy | | ||||||||||||||||||||||||||||||
| | Execution Tab | Run history and metrics | | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| ## Workflow states | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| | State | Description | Available Actions | | ||||||||||||||||||||||||||||||
| |-------|------------|------------------| | ||||||||||||||||||||||||||||||
| | Draft | Editing | Save, Publish | | ||||||||||||||||||||||||||||||
| | Published | Built and ready | Execute | | ||||||||||||||||||||||||||||||
| | Active | Running | Undeploy | | ||||||||||||||||||||||||||||||
| | Deploying | Creating deployment | Wait | | ||||||||||||||||||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Added a few more states. |
||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| Workflows move through these states from creation to active execution. | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| ### Execution Metrics | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| - Status (Success / Failed / Running) | ||||||||||||||||||||||||||||||
| - Execution duration | ||||||||||||||||||||||||||||||
| - Messages processed per node | ||||||||||||||||||||||||||||||
| - Error counts and latency | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| ## Current Monitoring Limitations | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| - No per-node execution logs | ||||||||||||||||||||||||||||||
| - Limited payload inspection | ||||||||||||||||||||||||||||||
| - Manual refresh required | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| ## Node types | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| ### Trigger nodes | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| | Node | Description | Configuration | | ||||||||||||||||||||||||||||||
| |------|------------|--------------| | ||||||||||||||||||||||||||||||
| | Shopware Event Trigger | React to entity events | Shop, event | | ||||||||||||||||||||||||||||||
| | Schedule Trigger | Time-based execution | Cron, timezone | | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| ### Action nodes | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| | Node | Description | Configuration | | ||||||||||||||||||||||||||||||
| |------|------------|--------------| | ||||||||||||||||||||||||||||||
| | Business Central | CRUD on BC entities | Entity, operation | | ||||||||||||||||||||||||||||||
| | Shopware API Call | Call any Shopware API | Method, endpoint | | ||||||||||||||||||||||||||||||
| | Send Slack Message | Slack notification | Channel, template | | ||||||||||||||||||||||||||||||
| | API Request | Generic HTTP | URL, headers | | ||||||||||||||||||||||||||||||
| | Send Shopware Email | Email via Shopware | Recipient, content | | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| ### Transform nodes | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| | Node | Description | | ||||||||||||||||||||||||||||||
| |------|------------| | ||||||||||||||||||||||||||||||
| | Filter | Filter array items | | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| ### Condition nodes | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| | Node | Description | | ||||||||||||||||||||||||||||||
| |------|------------| | ||||||||||||||||||||||||||||||
| | If | Conditional branching | | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
|
Comment on lines
+87
to
+90
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||
| ### Output nodes | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| | Node | Description | | ||||||||||||||||||||||||||||||
| |------|------------| | ||||||||||||||||||||||||||||||
| | S3 Storage | Store payload | | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| ## Expression syntax | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| Expressions use `{{ }}` syntax in templates and mappings. | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| ### Examples | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| ```text | ||||||||||||||||||||||||||||||
| {{payload.order.orderNumber}} | ||||||||||||||||||||||||||||||
| {{bc_customers_response.value[0].id}} | ||||||||||||||||||||||||||||||
| {{customer.firstName}} {{customer.lastName}} | ||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| ### Common usage | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| * **Slack templates:** build readable notification messages | ||||||||||||||||||||||||||||||
| * **Mapping data:** pass values from trigger payload into action parameters | ||||||||||||||||||||||||||||||
| * **Branching:** drive `If` conditions based on payload values | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| Refer to user docs for [common use cases](https://docs.shopware.com/en/shopware-6-en/shopware-services/shopware-nexus?category=shopware-6-en/insider-previews#common-use-cases) | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We significantly reduced this number because we wanted to ensure quality over quantity. In future, we will improve this significantly, but for now, it's only 3.
Entities are
items,customers, andsalesOrders.