| name | caseblocks |
| title | Caseblocks |
| description | Caseblocks integration. Manage data, records, and automate workflows. Use when the user wants to interact with Caseblocks data. |
| author | membranedev |
| author_url | https://github.com/membranedev/application-skills/tree/main/skills/caseblocks |
| license | MIT |
| version | 0.1.0 |
| execution_mode | open |
| jurisdiction | general |
| practice | general |
| language | en |
Caseblocks
Caseblocks is a legal case management software used by law firms and legal professionals. It helps them organize case files, track deadlines, and manage client communication.
Official docs: https://developers.caseblocks.com/
Caseblocks Overview
- Cases
- Case Blocks Templates
When to use which actions: Use action names and parameters as needed.
Working with Caseblocks
This skill uses the Membrane CLI to interact with Caseblocks. Membrane handles authentication and credentials refresh automatically — so you can focus on the integration logic rather than auth plumbing.
Install the CLI
Install the Membrane CLI so you can run membrane from the terminal:
npm install -g @membranehq/cli@latest
Authentication
membrane login --tenant --clientName=<agentType>
This will either open a browser for authentication or print an authorization URL to the console, depending on whether interactive mode is available.
Headless environments: The command will print an authorization URL. Ask the user to open it in a browser. When they see a code after completing login, finish with:
membrane login complete <code>
Add --json to any command for machine-readable JSON output.
Agent Types : claude, openclaw, codex, warp, windsurf, etc. Those will be used to adjust tooling to be used best with your harness
Connecting to Caseblocks
Use membrane connection ensure to find or create a connection by app URL or domain:
membrane connection ensure "https://caseblocks.com/" --json
The user completes authentication in the browser. The output contains the new connection id.
This is the fastest way to get a connection. The URL is normalized to a domain and matched against known apps. If no app is found, one is created and a connector is built automatically.
If the returned connection has state: "READY", skip to Step 2.
1b. Wait for the connection to be ready
If the connection is in BUILDING state, poll until it's ready: