Skip to content

Instantly share code, notes, and snippets.

@failable
Created October 21, 2025 10:01
Show Gist options
  • Select an option

  • Save failable/28217ccdcbb354a3cc73a12dc5b93a35 to your computer and use it in GitHub Desktop.

Select an option

Save failable/28217ccdcbb354a3cc73a12dc5b93a35 to your computer and use it in GitHub Desktop.
re
{
"id": "3d9a57fa-c4f1-4730-94ef-e0489a5489f1",
"type": "data",
"data": {
"data": {
"id": "3af8d478-afe7-4c4b-9465-2099c92c5f85",
"title": "Twitter Content to Infographic Processing Pipeline",
"objective": "Read Twitter URLs from a Google Sheet, extract actual tweet content, generate infographics from the content, and update the sheet with results and completion status",
"variables": [
{
"name": "variable:scalar:sheet_url",
"default_value": "http://example.com/sheet",
"description": "What is the URL of your Google Sheet?"
}
],
"result_tables": [
{
"name": "result:processing_results",
"columns": [
{
"name": "url",
"type": "string",
"description": "Original Twitter URL"
},
{
"name": "tweet_content",
"type": "string",
"description": "Extracted tweet content"
},
{
"name": "infographic_url",
"type": "string",
"description": "Generated infographic URL"
},
{
"name": "status",
"type": "string",
"description": "Processing status"
}
],
"description": "Final results of Twitter content processing with infographics"
}
],
"flows": [
{
"id": "load_sheet_data",
"description": "Load the Google Sheet containing Twitter URLs and metadata",
"operation": {
"type": "tool_call",
"tool": {
"id": "google_sheets__load_data_table",
"arguments": [
{
"name": "uri",
"type": "predefined",
"value": "${variable:scalar:sheet_url}",
"description": "What is the URL of your Google Sheet?"
}
]
}
},
"input": null,
"output": "dataframe:sheet_data",
"result_updates": [
{
"type": "upsert",
"table_name": "result:processing_results",
"column_mapping": {
"url": "dataframe:sheet_data.Url",
"tweet_content": "dataframe:sheet_data.TweetContent",
"status": "dataframe:sheet_data.Status"
}
}
]
},
{
"id": "extract_tweet_content",
"description": "Extract detailed content from each Twitter URL",
"operation": {
"type": "map",
"tool": {
"id": "fastest_media__getTweetDetail",
"arguments": [
{
"name": "url",
"type": "map_item",
"value": "dataframe:sheet_data.Url"
}
]
}
},
"input": "dataframe:sheet_data",
"output": "dataframe:tweet_details",
"result_updates": [
{
"type": "upsert",
"table_name": "result:processing_results",
"column_mapping": {
"url": "dataframe:tweet_details.Url",
"tweet_content": "dataframe:tweet_details.tweet.tweet_text"
}
}
]
},
{
"id": "generate_infographics",
"description": "Generate infographics from extracted tweet content",
"operation": {
"type": "map",
"tool": {
"id": "fastest_image__generateInfographic",
"arguments": [
{
"name": "data",
"type": "map_item",
"value": "dataframe:tweet_details.tweet.tweet_text"
},
{
"name": "style",
"type": "predefined",
"value": "auto",
"description": "What style would you like for the infographics?"
},
{
"name": "language",
"type": "predefined",
"value": "en",
"description": "What language should the infographics be in?"
},
{
"name": "html_only",
"type": "predefined",
"value": false,
"description": "Would you like HTML only or actual image files?"
}
]
}
},
"input": "dataframe:tweet_details",
"output": "dataframe:infographic_results",
"result_updates": [
{
"type": "upsert",
"table_name": "result:processing_results",
"column_mapping": {
"url": "dataframe:infographic_results.Url",
"infographic_url": "dataframe:infographic_results.url"
}
}
]
},
{
"id": "update_sheet_status",
"description": "Update the Google Sheet with generated infographic URLs and mark status as complete",
"operation": {
"type": "apply",
"function": {
"type": "llm_call",
"prompt": "You are a data processing specialist. Your task is to prepare data for updating a Google Sheet with infographic results and completion status.\n\n## Data Context\n\n**Original sheet data:**\n${dataframe:sheet_data}\n\n**Generated infographic results:**\n${dataframe:infographic_results}\n\n## Output Format\n\nCreate a structured data array where each row contains: [Url, TweetContent, InfographicUrl, Status]\n- Use the original Url and TweetContent from sheet_data\n- Use the generated infographic URL from infographic_results\n- Set Status to'complete' for all processed items\n\nReturn the data in a format suitable for Google Sheets update.",
"output_schema": "text"
}
},
"input": ["dataframe:sheet_data", "dataframe:infographic_results"],
"output": "scalar:formatted_update_data",
"result_updates": [
{
"type": "upsert",
"table_name": "result:processing_results",
"column_mapping": {
"status": "complete"
}
}
]
}
]
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment