Skip to content

Commit 555e9f9

Browse files
committed
Polish ClawHub Mautic plugin listing
1 parent f8666dc commit 555e9f9

7 files changed

Lines changed: 77 additions & 90 deletions

.github/workflows/clawhub-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
id-token: write
4242
uses: openclaw/clawhub/.github/workflows/package-publish.yml@v0.18.0
4343
with:
44-
source: ./clawpack/completetech-openclaw-mautic-plugin-0.1.12.tgz
44+
source: ./clawpack/completetech-openclaw-mautic-plugin-0.1.13.tgz
4545
dry_run: false
4646
source_repo: CompleteTech-LLC-AI-Research/openclaw-mautic-plugin
4747
source_commit: ${{ github.sha }}

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
## 0.1.13 - 2026-05-26
4+
5+
- Polished the ClawHub-facing README with a clearer product overview, quick-start path, capability summary, and streamlined safety sections.
6+
- Kept the same conservative runtime behavior: no broad console access, no workspace access unless explicitly enabled, and HTTPS enforcement for routable authenticated API calls.
7+
38
## 0.1.12 - 2026-05-26
49

510
- Enforced transport safety for authenticated Mautic API requests: routable plain-HTTP `baseUrl` values now fail before credentials are sent.

README.md

Lines changed: 67 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,79 @@
11
# Mautic Control for OpenClaw
22

3-
Operate Mautic from OpenClaw with typed, policy-gated tools for API work, webhook discovery, safe console maintenance, and guarded workspace file staging.
3+
Controlled Mautic CRM operations from OpenClaw: typed API tools, webhook discovery, conservative console maintenance, and guarded workspace staging.
44

5-
| Item | Value |
6-
| --- | --- |
7-
| ClawHub package | `@completetech/openclaw-mautic-plugin` |
8-
| Runtime ID | `mautic-control` |
9-
| OpenClaw compatibility | `>=2026.5.22` |
10-
| ClawHub artifact | ClawPack npm-pack `.tgz` |
11-
| Tested Mautic version | Mautic Community `7.1.1` |
12-
| Mautic series | Built for current Mautic 7.x REST API deployments |
13-
| Source | https://github.com/CompleteTech-LLC-AI-Research/openclaw-mautic-plugin |
5+
![Mautic Control overview](docs/openclaw-mautic-control.png)
6+
7+
| Package | Runtime | Mautic Target | OpenClaw |
8+
| --- | --- | --- | --- |
9+
| `@completetech/openclaw-mautic-plugin` | `mautic-control` | Mautic 7.x, tested with `7.1.1` | `>=2026.5.22` |
1410

1511
## Install
1612

1713
```bash
1814
openclaw plugins install clawhub:@completetech/openclaw-mautic-plugin
1915
```
2016

21-
After installation, set the Mautic connection values in OpenClaw plugin settings and provide API credentials through environment variables or your platform secret store.
17+
After installation, configure the non-secret connection settings in OpenClaw and provide Mautic credentials through environment variables or your platform secret store.
2218

23-
## Compatibility
19+
## What You Can Do
2420

25-
This release was verified against Mautic Community `7.1.1`, the latest GitHub release checked on 2026-05-26. Mautic's own release page lists Mautic 7 as the actively supported series.
21+
| Workflow | Tools | Default Safety |
22+
| --- | --- | --- |
23+
| Check Mautic reachability and policy | `mautic_status` | Read-only status check |
24+
| Work with Mautic API resources | `mautic_request`, `mautic_entity` | Credentials required, API paths only |
25+
| Discover webhook trigger names | `mautic_webhook_triggers` | No credentials required |
26+
| Run maintenance commands | `mautic_console` | Optional bridge, allowlisted commands only |
27+
| Stage import/export files | `mautic_workspace_file` | Off by default, bounded to one workspace root |
2628

27-
Expected production target:
29+
## Good Fits
2830

29-
| Component | Supported Target |
30-
| --- | --- |
31-
| OpenClaw Gateway | `2026.5.22` or newer |
32-
| Mautic | Mautic 7.x, tested with `7.1.1` |
33-
| Mautic API | Legacy `/api` routes and `/api/v2` where available |
34-
| Console bridge | Optional, private network only |
35-
| Workspace file access | Optional, dedicated staging directory only |
31+
- Inspect Mautic health before generating CRM workflow documents.
32+
- Read or update contacts, companies, segments, campaigns, emails, forms, webhooks, and related API entities through policy-gated calls.
33+
- Confirm available webhook events before designing automations.
34+
- Run narrow Mautic maintenance or automation jobs from a private console bridge when an operator enables them.
35+
- Stage CSV, JSON, or Markdown files in a dedicated workspace directory.
3636

37-
Validate against your exact Mautic instance before broad rollout, especially if custom plugins, nonstandard API routing, or reverse proxies are involved.
37+
## Conservative by Default
38+
39+
The plugin starts narrow. API access requires credentials, maintenance commands are off, automation jobs are off, and workspace read/write are off until explicitly enabled.
40+
41+
| Capability | Default | Enable Only When |
42+
| --- | --- | --- |
43+
| Mautic API | Available after credentials | The agent is allowed to operate this Mautic instance |
44+
| Console bridge | Status-only | A trusted operator needs allowlisted console commands |
45+
| Automation jobs | Off | Campaign, segment, or webhook jobs are intentional |
46+
| Workspace read/write | Off | A dedicated staging directory is configured |
47+
| Filesystem boundary | Always on | Every path must remain under `allowedWorkspaceRoot` |
48+
49+
## Production Setup
50+
51+
| Step | Setting | Guidance |
52+
| --- | --- | --- |
53+
| Connect Mautic | `baseUrl` | Use the internal URL OpenClaw should call. Use HTTPS for hosted or routed deployments. |
54+
| Add API credentials | `MAUTIC_API_USERNAME`, `MAUTIC_API_PASSWORD` | Store secrets outside plugin UI and source control. |
55+
| Choose API routing | `defaultApiVersion` | Use `legacy` for `/api` or `v2` for `/api/v2` where available. |
56+
| Keep console private | `consoleUrl`, `MAUTIC_CONSOLE_TOKEN` | Deploy the bridge only on a private network and only if console commands are needed. |
57+
| Guard file staging | `workspaceRoot`, `allowedWorkspaceRoot` | Use a dedicated staging directory, not a home directory or secrets path. |
58+
| Limit agent exposure | OpenClaw profiles | Prefer explicit tool allowlists for agents that process untrusted input. |
59+
60+
## Secure Transport
61+
62+
Authenticated tools send Mautic API credentials with each request. Use `https://` for production, hosted, routed, or cross-host deployments.
63+
64+
Plain `http://` is acceptable only for a trusted loopback address or private container network such as `http://mautic_web`. The plugin reports a transport warning for non-HTTPS `baseUrl` values, and authenticated API tools refuse to send credentials to routable plain-HTTP hosts.
3865

3966
## Tools
4067

4168
| Tool | What It Does | Requires |
4269
| --- | --- | --- |
43-
| `mautic_status` | Checks dashboard reachability, API auth, resolved config, command policy, and workspace policy. | API credentials |
70+
| `mautic_status` | Checks dashboard reachability, API auth, resolved config, transport policy, command policy, and workspace policy. | API credentials for auth check |
4471
| `mautic_request` | Sends authenticated requests to Mautic paths under `/api` or `/api/v2`. | API credentials |
4572
| `mautic_entity` | Lists, reads, creates, updates, and deletes supported Mautic resources. | API credentials |
4673
| `mautic_webhook_triggers` | Lists valid Mautic webhook trigger events. | Plugin only |
4774
| `mautic_console` | Runs allowlisted Mautic console commands through the private bridge. | Console bridge and token |
4875
| `mautic_workspace_file` | Lists, reads, writes, or deletes files under a guarded workspace root. | Workspace toggles |
4976

50-
## Production Setup
51-
52-
Use these production defaults unless a trusted operator needs broader access.
53-
54-
| Step | Action | Guidance |
55-
| --- | --- | --- |
56-
| Connect Mautic | Set baseUrl | Use the internal URL OpenClaw should call, not a public browser URL unless required by your deployment. |
57-
| Add credentials | Provide API username and password | Load them from a secret store or runtime environment, not from plugin UI config. |
58-
| Protect transport | Use HTTPS outside private networks | Basic auth credentials are sent on every Mautic API request. Plain HTTP is acceptable only on a trusted local or private Docker network. |
59-
| Keep access narrow | Leave optional controls disabled | Enable maintenance, automation, or workspace access only for trusted operators. |
60-
| Add console access only if needed | Deploy the console bridge | The bridge is required only for console commands. All other tools can run without it. |
61-
| Limit agent exposure | Use restrictive OpenClaw profiles | Prefer explicit tool allowlists for agents that process untrusted input. |
62-
6377
## Required Secrets
6478

6579
Never store these values in the plugin UI, README, or source control.
@@ -72,12 +86,6 @@ Never store these values in the plugin UI, README, or source control.
7286

7387
OAuth2 is preferred for external production integrations where available. The local verification stack uses Basic auth only for loopback automation.
7488

75-
## Transport Warning
76-
77-
`mautic_request`, `mautic_entity`, `mautic_webhook_triggers`, and `mautic_status` send Mautic API credentials with each request. If `baseUrl` uses plain HTTP, those credentials can be intercepted anywhere between OpenClaw and Mautic.
78-
79-
Use `https://` for production, hosted, routed, or cross-host Mautic deployments. Use plain `http://` only for a trusted loopback address or private container network such as `http://mautic_web`. The `mautic_status` tool reports a transport warning when the configured `baseUrl` is not HTTPS, and authenticated API tools refuse to send credentials to a routable plain-HTTP host.
80-
8189
## Plugin Settings
8290

8391
These settings are non-secret and can be configured in OpenClaw.
@@ -110,36 +118,9 @@ MAUTIC_ALLOW_WORKSPACE_READ
110118
MAUTIC_ALLOW_WORKSPACE_WRITE
111119
```
112120

113-
## Security Defaults
114-
115-
The plugin starts in a conservative mode. API access becomes available only after credentials are provided, and operational controls stay off until an operator enables them.
116-
117-
### Default Access
118-
119-
| Capability | Default | What That Means |
120-
| --- | --- | --- |
121-
| Mautic API | Available after credentials | Requests are limited to Mautic API routes only: /api and /api/v2. |
122-
| Console status | On | Only migration status is allowed, so OpenClaw can check health without changing Mautic. |
123-
| Maintenance commands | Off | Cache clearing and plugin reloads require an explicit toggle. |
124-
| Automation jobs | Off | Campaign, segment, and webhook job execution requires a separate explicit toggle. |
125-
| Workspace read | Off | File listing and reading are disabled until enabled for a dedicated staging directory. |
126-
| Workspace write | Off | File writes and deletes are disabled until enabled for a dedicated staging directory. |
127-
| Filesystem boundary | Always on | Every workspace path must stay inside the configured allowed workspace root. |
128-
129-
### Optional Command Groups
130-
131-
| Setting | Enables | Intended Use |
132-
| --- | --- | --- |
133-
| allowMaintenanceCommands | cache:clear; mautic:cache:clear; plugins:reload | Routine maintenance after config, plugin, or cache changes. |
134-
| allowAutomationJobCommands | webhooks:process; campaigns:rebuild; campaigns:trigger; segments:update | Intentional campaign, segment, and webhook job execution. |
135-
136-
Console requests are checked twice: first by the plugin allowlist, then by the optional bridge allowlist. For agents that process untrusted input, use restrictive OpenClaw profiles or explicit tool allowlists.
137-
138121
## Console Bridge
139122

140-
The console bridge is optional. It is needed only for the console-command tool; API, entity, webhook, status, and workspace tools can run without it.
141-
142-
Use the included bridge file only as a private internal endpoint between OpenClaw and Mautic.
123+
The console bridge is optional. It is needed only for `mautic_console`; API, entity, webhook, status, and workspace tools can run without it.
143124

144125
| Requirement | Production Guidance |
145126
| --- | --- |
@@ -149,11 +130,9 @@ Use the included bridge file only as a private internal endpoint between OpenCla
149130
| Public access | Do not expose the bridge directly to the public internet. |
150131
| Command scope | Keep execution limited to the plugin and bridge allowlists. |
151132

152-
Without the bridge, disable or ignore `mautic_console`; the rest of the plugin remains usable.
153-
154133
## Local Docker Stack
155134

156-
The companion Docker stack uses explicit local settings to preserve the development workflow:
135+
The companion Docker stack uses explicit local settings:
157136

158137
```text
159138
baseUrl=http://mautic_web
@@ -170,19 +149,26 @@ allowWorkspaceWrite=true
170149

171150
These are local-stack defaults, not production defaults. Do not expose the local stack's loopback credentials or Basic auth settings publicly.
172151

173-
## Verify
152+
## Compatibility
174153

175-
Package checks:
154+
This release was verified against Mautic Community `7.1.1`, the latest GitHub release checked on 2026-05-26. Mautic's own release page lists Mautic 7 as the actively supported series.
155+
156+
| Component | Supported Target |
157+
| --- | --- |
158+
| OpenClaw Gateway | `2026.5.22` or newer |
159+
| Mautic | Mautic 7.x, tested with `7.1.1` |
160+
| Mautic API | Legacy `/api` routes and `/api/v2` where available |
161+
| Console bridge | Optional, private network only |
162+
| Workspace file access | Optional, dedicated staging directory only |
163+
164+
Validate against your exact Mautic instance before broad rollout, especially if custom plugins, nonstandard API routing, or reverse proxies are involved.
165+
166+
## Verify
176167

177168
```bash
178169
npm run lint
179170
npm test
180171
npm run package:check
181-
```
182-
183-
ClawHub readiness:
184-
185-
```bash
186172
npm run readiness:check
187173
```
188174

@@ -199,11 +185,7 @@ docker compose exec -T openclaw sh -lc 'openclaw security audit --deep --json'
199185

200186
The package is published on ClawHub as `@completetech/openclaw-mautic-plugin`.
201187

202-
Releases are published as a ClawPack npm-pack artifact, not the older legacy zip artifact.
203-
Trusted publishing uses GitHub Actions OIDC; no long-lived ClawHub token is stored in repository secrets.
204-
The GitHub workflow publishes the checked-in `clawpack/` tarball through ClawHub's official reusable workflow so the release can use both official OIDC and the `npm-pack` artifact path.
205-
206-
Current ClawHub behavior: the release is source-linked to the GitHub commit and passes ClawHub's source provenance readiness check, but community ClawPack bundle releases still display `artifact-only` verification with `hasProvenance=false`.
188+
Releases are published as a ClawPack npm-pack artifact. Trusted publishing uses GitHub Actions OIDC; no long-lived ClawHub token is stored in repository secrets.
207189

208190
For a future release:
209191

-270 KB
Binary file not shown.
270 KB
Binary file not shown.

openclaw.plugin.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"id": "mautic-control",
33
"name": "Mautic Control",
4-
"description": "Typed tools for controlled Mautic REST API access, webhook inspection, optional console maintenance, and optional workspace file staging.",
5-
"version": "0.1.12",
4+
"description": "Controlled Mautic CRM operations for OpenClaw with guarded API, webhook, console, and workspace tools.",
5+
"version": "0.1.13",
66
"contracts": {
77
"tools": [
88
"mautic_status",

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@completetech/openclaw-mautic-plugin",
3-
"version": "0.1.12",
4-
"description": "OpenClaw plugin for controlled Mautic API, webhook, console bridge, and workspace operations.",
3+
"version": "0.1.13",
4+
"description": "Controlled Mautic CRM operations for OpenClaw, with guarded API, webhook, console, and workspace tools.",
55
"type": "module",
66
"private": false,
77
"license": "MIT",

0 commit comments

Comments
 (0)