{"connections":[{"sourceLocalID":0,"sourcePortID":"outlet_output","targetLocalID":5,"targetPortID":"inlet_input"},{"sourceLocalID":5,"sourcePortID":"outlet_yes","targetLocalID":6,"targetPortID":"inlet_input"},{"sourceLocalID":1,"sourcePortID":"outlet_output","targetLocalID":7,"targetPortID":"inlet_input"},{"sourceLocalID":7,"sourcePortID":"outlet_output","targetLocalID":8,"targetPortID":"inlet_input"},{"sourceLocalID":8,"sourcePortID":"outlet_selected","targetLocalID":11,"targetPortID":"inlet_input"},{"sourceLocalID":11,"sourcePortID":"outlet_no","targetLocalID":2,"targetPortID":"inlet_input"},{"sourceLocalID":11,"sourcePortID":"outlet_yes","targetLocalID":4,"targetPortID":"inlet_input"}],"hideGrid":false,"name":"Clipboard History","nodes":[{"config":{"saveImages":true},"customName":"Clipboard Changed","isDisabled":false,"localID":0,"typeID":"trigger.clipboard","x":100,"y":200},{"config":{"consumeKey":true,"shortcut":"option+cmd+p"},"customName":"Recall Clipboard","isDisabled":false,"localID":1,"typeID":"trigger.keyboard_shortcut","x":100,"y":760},{"config":{"mode":"text","text":"{{selected.text}}"},"customName":"Copy Selected Text","isDisabled":false,"localID":2,"typeID":"action.copy_to_clipboard","x":1850,"y":1060},{"config":{"_height":80,"_width":320,"text":"**Bottom row:** press the shortcut, pick a saved copy, and it goes back on the clipboard."},"isDisabled":false,"localID":3,"typeID":"note","x":100,"y":640},{"config":{"filePath":"{{selected.imagePath}}","mode":"file"},"customName":"Copy Selected Image","isDisabled":false,"localID":4,"typeID":"action.copy_to_clipboard","x":1850,"y":820},{"config":{"caseInsensitive":false,"logic":"or","operator":"equals","rules":[{"field":"text","operator":"is_not_empty"},{"field":"imagePath","operator":"is_not_empty"}]},"customName":"Text Or Image","isDisabled":false,"localID":5,"typeID":"condition.compare","x":460,"y":260},{"config":{"autoCreate":true,"columnsCache":[],"conflict":"abort","databaseId":"{{NEEDS_INPUT: pick which database this flow should use}}","databaseName":"Clipboard Manager","fields":[{"column":"text","value":"{{text}}"},{"column":"imagePath","value":"{{imagePath}}"},{"column":"contentType","value":"{{contentType}}"},{"column":"copiedAt","value":"{{timestamp}}"}],"table":"clips"},"customName":"Save Clipboard Entry","isDisabled":false,"localID":6,"typeID":"action.database_insert","x":800,"y":140},{"config":{"caseSensitive":false,"columns":"","columnsCache":[],"databaseId":"{{NEEDS_INPUT: pick which database this flow should use}}","databaseName":"Clipboard Manager","limit":500,"offset":0,"orderBy":"created_at desc","table":"clips","whereLogic":"and"},"customName":"Load Recent Clips","isDisabled":false,"localID":7,"typeID":"action.database_query","x":450,"y":820},{"config":{"placeholder":"Search copied text and images…","primaryColumn":"text","searchColumns":"text","secondaryColumn":"created_at","thumbnailColumn":"imagePath","view":"list"},"customName":"Choose Clipboard Entry","isDisabled":false,"localID":8,"typeID":"action.palette","x":1150,"y":880},{"config":{"_height":80,"_width":320,"text":"**Top row:** saves each text or image copy. It runs on its own whenever the clipboard changes."},"isDisabled":false,"localID":9,"typeID":"note","x":100,"y":80},{"config":{"_height":600,"_width":460,"text":"**Clipboard History saves everything you copy and lets you bring any of it back with a keyboard shortcut.**\n\n**What it does**\n- Every text or image copy is saved to a database on this Mac. Nothing leaves it.\n- Press Option Command P to search your latest 500 copies, with thumbnails for images.\n- Pick one and it goes back on the clipboard, ready to paste.\n\n**Set it up**\n- On **Save Clipboard Entry**, choose New Database… in the Database field, or pick one you already have.\n- Pick the same database on **Load Recent Clips**.\n- Allow Watchflows under System Settings, Privacy & Security, Accessibility when macOS asks, then restart Watchflows. The shortcut does not work without it.\n- Turn the flow on.\n\n**Make it yours**\n- Record a different shortcut on **Recall Clipboard** if Option Command P clashes with an app you use. Finder uses it to show the path bar.\n- Change Max Rows on **Load Recent Clips** for a longer or shorter list.\n- Turn off Keep Image Copies on **Clipboard Changed** to save text only."},"isDisabled":false,"localID":10,"typeID":"note","x":100,"y":-560},{"config":{"caseInsensitive":false,"field":"selected.imagePath","logic":"and","operator":"is_not_empty"},"customName":"Image Selected?","isDisabled":false,"localID":11,"typeID":"condition.compare","x":1500,"y":940}],"version":1}