Create a plugin
Specify behavior and generate a canonical custom plugin package.
Use the workspace authoring flow to create a plugin from a specific operational requirement.
Before you start
You need a Semogram account with access to the workspace and permission to create plugins. Identify the external system or input data, expected outputs, credentials needed and a small test case. Keep real secrets out of the specification.
Define the behavior
Describe these inputs before generating:
- The capability kind and business operation.
- Connection settings, secret fields and target selectors.
- Supported read modes, pagination, checkpoints and bounds.
- Write behavior, primary keys, expected side effects and retry semantics.
- Input and output contracts, validation errors and lineage.
- A small successful example and failure cases with known expected results.
For example:
Create a read-only connector for our supplier orders API.
Use a protected bearer-token installation setting and a base URL.
The endpoint selects a supplier ID and a date window.
The API returns JSON records in data.orders and paginates with nextCursor.
Follow pagination until nextCursor is absent; bound pages and records.
Emit stable order IDs, dates and quantities, and retain source evidence.
Support full refresh only; do not declare incremental or write support.
Test two pages, empty data, malformed responses and authentication failure.
Use fixture responses for package tests and document the live check.This is a specification example, not a generic API contract. Replace it with your provider’s actual fields and behavior.
Generate
- Open Plugins and choose New plugin.
- Enter the specification and start authoring.
- Inspect the run’s status and generated files. The durable run continues independently of the browser connection.
- Review validation errors and repair attempts. A failed or canceled run is not ready to publish.
- Continue to Test and publish when the run reaches
sandbox_validated.
For an assistant-driven flow, call plugin_authoring_create with the specification, then plugin_authoring_start. Inspect plugin_authoring_get to follow the run. Reuse an idempotency key only for the same request.
Revise an existing plugin
Use Revise plugin on an installed authored plugin, or create an authoring run with its pluginId. To build from a previous run, supply sourceRunId. Inspect the resulting candidate and tests again; a previous successful version does not validate the new code.
FAQ
Can I ask for several capabilities at once?
Yes. A canonical package can bundle connectors, transforms, secret providers, MCP servers and skills. Specify each capability’s contract and verify each independently.
Can I paste credentials into the prompt?
Configure credentials on the installed plugin instead. Prompts, generated package files and test reports should use placeholders or supported secret references.
Does generation immediately install the result?
No. Generation, sandbox validation, publication and installation are separate steps. The workspace catalog receives a published package; an installation supplies the settings needed to use it.