Create a complete ingestion workflow for a new data source
Creates complete data ingestion workflows for new sources with interactive configuration.
/plugin marketplace add treasure-data/aps_claude_tools/plugin install treasure-data-cdp-ingestion-plugins-cdp-ingestion@treasure-data/aps_claude_toolsYOU MUST use AskUserQuestion tool to collect parameters interactively.
Step 1: Check if user already provided parameters
Step 2: Collect Required Parameters (use AskUserQuestion tool for each):
Source Name & Connector Type
Ingestion Mode
Tables/Objects
orders,customers,products)"Incremental Field (ONLY if mode = incremental OR both)
updated_at, modified_date)"Start Date (ONLY if mode = incremental OR both)
YYYY-MM-DDTHH:mm:ss.000000"Target Database
Authentication
Step 3: Show Configuration Summary
After collecting all parameters, display:
📋 Configuration Summary:
Source: {source_name}
Connector: {connector_type}
Mode: {mode}
Objects: {objects}
Target Database: {target_database}
[Incremental Field: {field}]
[Start Date: {date}]
Proceed with workflow generation? (yes/no)
WAIT for user confirmation.
Execute this command FIRST to find plugin directory:
find ~/.claude -name "cdp-ingestion" -type d
Then use Read tool on these files from the plugin directory:
docs/patterns/workflow-patterns.mddocs/patterns/logging-patterns.mddocs/patterns/timestamp-formats.mddocs/sources/google-bigquery.md (for BigQuery) OR docs/sources/klaviyo.md (for Klaviyo) OR similar source doc.dig and .yml files for the connector typeYou MUST use Read tool on actual files. DO NOT generate from memory.
Create all required files using multiple Write tool calls in SINGLE response:
.dig filesconfig/{source}_datasources.ymlconfig/{source}_{object}_load.yml (one per object)config/hist_date_ranges.ymlconfig/database.ymlsql/log_ingestion_*.sqlCopy templates character-for-character from the files you read in Step 1:
Before delivering, verify: ✅ All template sections present ✅ All logging blocks included (start, success, error) ✅ All error handling blocks present ✅ Timestamp format correct for connector ✅ Incremental field handling correct
ingestion/{source}_ingest_inc.digingestion/config/{source}_datasources.ymlingestion/config/{source}_{object}_load.yml (per object)ingestion/{source}_ingest_hist.digingestion/{source}_ingest_inc.digingestion/config/{source}_datasources.ymlingestion/config/{source}_{object}_load.yml (per object)After successful generation:
Upload credentials:
cd ingestion
td wf secrets --project ingestion --set @credentials_ingestion.json
Test syntax:
td wf check {source}_ingest_inc.dig
Deploy workflow:
td wf push ingestion
Run workflow:
td wf start ingestion {source}_ingest_inc --session now
Monitor ingestion log:
SELECT * FROM {target_database}.ingestion_log
WHERE source_name = '{source}'
ORDER BY time DESC
LIMIT 10
Ready! Start by asking the first configuration question using AskUserQuestion tool.