$ cat workspace-template.yaml
Keyword Research
// Trasformare un input grezzo (un URL, un elenco di prodotti, un argomento) in un pacchetto di keyword pronte all'uso — classificate per intento, priorità e raggruppate in cluster tematici
// Canvas Preview
// Instruction
Template Ricerca Keyword
Overview
This workflow performs automated SEO keyword research by analyzing live web content. It takes a seed keyword, searches the web for relevant URLs, scrapes their content into Markdown, and uses a multi-stage intelligence pipeline to perform niche analysis, intent classification, and algorithmic clustering. It then generates a comprehensive keyword research report, including a custom scoring model (optionally using simulated GSC/Ads data), and saves the final reports and supporting scripts to Google Drive.
Workflow Chain
Note: Advanced scoring and clustering scripts are generated in parallel via the Intelligence pipeline.
Node Reference
- Text (Seed): Provides the initial keyword.
- Inputs from: N/A
- Configurable inputs:
value(The seed keyword string) - Output:
value
- Web Search: Searches the web for URLs related to the seed keyword.
- Inputs from:
Text (Seed) - Configurable inputs:
query(string),country(IT, US, GB, etc.),num_results(1-20) - Output:
urls(Array of strings)
- Inputs from:
- Fetch URL as Markdown: Scrapes the content of the discovered URLs.
- Inputs from:
Web Search - Configurable inputs:
urls(Array of strings),timeout_seconds(5-120) - Output:
markdown(Array of Markdown strings)
- Inputs from:
- Knowledge Synthesizer (Niche Analysis): Analyzes scraped content to define niche, audience, and tone.
- Inputs from:
Fetch URL as Markdown - Configurable inputs:
query(Analysis prompt),context(Markdown array),language(e.g., Italian),llmModelId - Output:
text(Structured niche analysis)
- Inputs from:
- Knowledge Synthesizer (Intent Classification): Generates classification rules and logic.
- Inputs from:
Text Merge(via Niche Analysis) - Configurable inputs:
query(Classification prompt),context(Niche analysis),language,llmModelId - Output:
text(Markdown rules/logic)
- Inputs from:
- Knowledge Synthesizer (Keyword Generation): Generates the final report and CSV.
- Inputs from:
Text Merge(Aggregated context) - Configurable inputs:
query(Generation prompt),context(Aggregated intelligence),language,llmModelId - Output:
text(Full report + CSV table)
- Inputs from:
- save-file: Saves reports or generated scripts to Google Drive.
- Inputs from: Various Synthesizers
- Configurable inputs:
text(Content),name(Filename),destinationFolder(Drive UUID) - Output:
driveItemId
Execution Strategy
You MUST complete all 4 phases in order: Phase 1 -> Phase 2 -> Phase 3 -> Phase 4. Do NOT skip any phase.
Phase 1: Initialization and Decision
- Call
requestUserDecisionto gather the following:- "What is your seed keyword?" (context: Required to start the search)
- "Which country should the search target?" (context: Influences SEO relevance)
- "Which Google Drive folder should the reports be saved to?" (context: Required for the final output)
- "Do you want to publish the final report to Drive immediately after generation?" (context: Determines if the final step is automatic or requires confirmation) Phase 1 complete. Now proceed to Phase 2. Do NOT skip to Phase 3.
Phase 2: Data Acquisition
- Use
upsertNodeto configure theTextnode with the user's seed keyword. - Use
nodeExecutoronWeb Searchusing the providedqueryandcountry. - Use
nodeExecutoronFetch URL as Markdownusing theurlsfrom the previous step. Phase 2 complete. Now proceed to Phase 3. Do NOT skip to Phase 4.
Phase 3: Intelligence and Synthesis
- Use
nodeExecutoronKnowledge Synthesizer (Niche Analysis)using the scrapedmarkdownas context. - Use
nodeExecutoronKnowledge Synthesizer (Intent Classification)using the niche analysis as context. - Use
nodeExecutoronKnowledge Synthesizer (Clustering Algoritmico)to generate the clustering script. - Use
nodeExecutoronKnowledge Synthesizer (Scoring Personalizzato Avanzato)to generate the scoring script. - Use
nodeExecutoronKnowledge Synthesizer (Keyword Generation)using the aggregated intelligence (Niche + Intent) as context. Phase 3 complete. Now proceed to Phase 4. Do NOT skip to Phase 5.
Phase 4: Finalization and Export
- If the user opted to publish in Phase 1, use
nodeExecutoron thesave-filenodes (Report, Clustering Script, Scoring Script, and Intent Classification) to write to the selecteddestinationFolder. If the user did not opt to publish, callrequestUserDecisionto ask for final confirmation before saving. - Use
followUpto present the user with the final report text and the Drive file links. Phase 4 complete.
Configuration Tips
Error Handling
Re-editable artifacts
Incremental Edits to an Existing Workflow
- Detection — if the structure pre-existed this turn, it's an EDIT (delta tools only); a bundled "build AND tweak" request is a fresh build.
- Add / remove / reorder recipes — to modify the intelligence pipeline, use
sectionManager(ungroup, { sectionId })on the Synthesizer sections, thenorganizeNodesandautoLayout. - Post-edit — re-run pre-execution verification, then honor the publish decision (re-present the gate under the post-build pattern; read prior state under the front-loaded pattern).
// Dependencies
1from process import FetchURLAsMarkdown2from input import Text3from process import KnowledgeSynthesizer4from output import SaveFile5from input import WebSearch6from process import TextMerge7from process import CustomCode$ git log --oneline
aggiunte nuove funzionalità per un report più completo
aggiunto il naming dinamico per i file salvati