create-sync-extraction-action

Generates a Glyvio Environment-layer SimpleSyncAction class for scheduled external data ingestion.

1|Updated Jun 11, 2026
One-click install
npx skills add https://github.com/devena/glyvio-forge --skill create-sync-extraction-action-devena
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: create-sync-extraction-action
Source: https://github.com/devena/glyvio-forge/tree/main/claude/skills/create-sync-extraction-action
Command: npx skills add https://github.com/devena/glyvio-forge --skill create-sync-extraction-action-devena

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires axios.

What problem does it solve? When glyvio-plugin-sync cannot reach an external source with its generic connectors (e.g. a Firebird database on a customer's local network or a custom REST/SOAP endpoint), you need a custom Environment-layer @Action that the sync engine invokes on a schedule to pull rows into Glyvio. This Skill produces that action with the correct base class, request contract, pagination translation, and row-shape conventions. ## Core Features & Use Cases - SimpleSyncAction blueprint: Generates a class extending glyvio_core.SimpleSyncAction with a typed request interface extending glyvio_core.DataExtractionActionRequest, plus a fetch method returning raw rows. - Integration conventions enforced: Ensures every row carries a stable integration_code and emits relations as <relation>_ic keys so the sync engine resolves links by integration code rather than internal ids. - Source-specific pagination: Translates optional limit/offset into the source's native mechanism (SQL dialect clauses for databases, query params for webservices). - Use Case: A customer keeps orders in an on-prem Firebird database. Use this Skill to scaffold lp.query_firebird, wire it as a sync task's query engine in the Sync admin UI, and let the scheduler pull rows nightly into the target glyvio_structure entity. ## Quick Start Ask the agent to create a sync extraction action with id lp.query_webservice_orders that pulls orders from a REST endpoint into Glyvio.

Frequently Asked Questions about create-sync-extraction-action

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a custom sync action for glyvio-plugin-sync?▼

Create a class extending glyvio_core.SimpleSyncAction decorated with @glyvio_core.Action, implement the protected fetch method returning rows, and import the file from the environment entrypoint. The sync engine then invokes it as a task's query engine on the configured schedule.

When should I use SimpleSyncAction instead of a baseQuery in Glyvio sync?▼

Use a SimpleSyncAction when the source has no generic sync connector, such as a Firebird database reachable only from the customer's network or a custom webservice. A plain baseQuery works only against dataSources already registered with the sync engine.

How does the Glyvio sync engine map returned rows to entity fields?▼

The engine integrates rows by field name: each key in a returned row is written into the identically named field of the target glyvio_structure entity. Keys a row omits are left untouched, so row keys must be spelled exactly like the target structure's fields.

What is integration_code in Glyvio data synchronization?▼

integration_code is a stable, unique external key each synced row must carry. The sync engine matches on it to decide whether an incoming row creates a new record or updates an existing one, so missing or duplicated values cause duplicates or wrong overwrites.

Should I use relation_ic or relation_id when syncing related records?▼

Default to <relation>_ic, whose value is the related record's own integration_code; the engine resolves the internal id itself. Use <relation>_id only when the task deliberately targets a known Glyvio-internal id, which is the uncommon exception.

Is a sync extraction action the same as a SystemTool in Glyvio?▼

No. A SystemTool exposes a routine to the Jeannie AI agent and requires a manifest permission entry, while a sync extraction action is called only by the sync engine's scheduler and self-registers via the @Action decorator with no manifest entry.