{"product_id":"monitor-bluesky-keyword-posts-with-apify-n8n-data-table","title":"Monitor Bluesky Keyword Posts with Apify + n8n Data Table","description":"\u003ch3\u003eMonitor Bluesky keyword posts automatically with Apify + n8n Data Table deduping\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow runs an \u003cstrong\u003eApify Bluesky monitoring Task\u003c\/strong\u003eupserts results into an n8n Data Table so reruns don’t create duplicates.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns manually or hourly\u003c\/strong\u003e using n8n triggers (Schedule Trigger supported).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eStarts an Apify Actor Task\u003c\/strong\u003e for Bluesky monitoring and waits for the run to finish.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eFetches the dataset results\u003c\/strong\u003e: if the run returns a default dataset ID, it retrieves up to \u003cstrong\u003e100\u003c\/strong\u003e dataset items (configured via the Task’s per-run cap).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNormalizes each dataset row\u003c\/strong\u003e into a consistent Bluesky post schema.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCreates diagnostic records\u003c\/strong\u003e for malformed rows missing required identifiers (so bad data doesn’t silently fail).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eUpserts into the n8n Data Table\u003c\/strong\u003e using a stable \u003cem\u003edeliveryKey\u003c\/em\u003e so existing rows update instead of inserting duplicates.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eOutputs a run summary\u003c\/strong\u003e and \u003cstrong\u003ethrows an error\u003c\/strong\u003e when the Apify run status is not \u003cstrong\u003eSUCCEEDED\u003c\/strong\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSocial listening\u003c\/strong\u003e for specific Bluesky keywords, with a persistent history of observed posts.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSaaS operations dashboards\u003c\/strong\u003e that need incremental updates without duplicate records across workflow reruns.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eData pipelines\u003c\/strong\u003e where downstream systems rely on normalized fields like \u003cem\u003esourceId\u003c\/em\u003e, \u003cem\u003esourceUrl\u003c\/em\u003e, and \u003cem\u003eobservedAt\u003c\/em\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eRequires the community node package \u003cstrong\u003e@apify\/n8n-nodes-apify\u003c\/strong\u003e (version \u003cstrong\u003e0.6.10+\u003c\/strong\u003e).\u003c\/li\u003e\n  \u003cli\u003eIntegrates with \u003cstrong\u003eApify\u003c\/strong\u003e via an Apify API credential and your saved Bluesky monitoring Task ID.\u003c\/li\u003e\n  \u003cli\u003eUses n8n nodes including \u003cstrong\u003eApify\u003c\/strong\u003e, \u003cstrong\u003eif\u003c\/strong\u003e, \u003cstrong\u003ecode\u003c\/strong\u003e, and \u003cstrong\u003edata table\u003c\/strong\u003e (plus supporting nodes like Manual Trigger \/ Sticky Note).\u003c\/li\u003e\n  \u003cli\u003eWrites to an n8n Data Table named \u003cstrong\u003emonitor-deliveries\u003c\/strong\u003e with columns: \u003cem\u003edeliveryKey, product, sourceId, sourceUrl, title, observedAt, runId, runStatus, datasetId, payloadJson\u003c\/em\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45862252282035,"sku":"N8N-18103","price":62.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/BSDuCsVaASc3dhFlDyyZJ_Y4HmSMbS.png?v=1786958051","url":"https:\/\/buyflowscripts.com\/products\/monitor-bluesky-keyword-posts-with-apify-n8n-data-table","provider":"N8N Commerce","version":"1.0","type":"link"}