{"connections":[{"sourceLocalID":5,"sourcePortID":"outlet_output","targetLocalID":7,"targetPortID":"inlet_input"},{"sourceLocalID":9,"sourcePortID":"outlet_selected","targetLocalID":1,"targetPortID":"inlet_input"},{"sourceLocalID":0,"sourcePortID":"outlet_output","targetLocalID":8,"targetPortID":"inlet_input"},{"sourceLocalID":7,"sourcePortID":"outlet_output","targetLocalID":9,"targetPortID":"inlet_input"},{"sourceLocalID":8,"sourcePortID":"outlet_output","targetLocalID":3,"targetPortID":"inlet_input"}],"hideGrid":false,"name":"Save and Browse Links","nodes":[{"config":{"fields":[{"id":"36FDC1C0-9382-4058-8A72-5B4E2A3949EE","label":"Title","name":"title","required":true,"type":"text"},{"id":"19664BF3-D2C0-4F68-BA90-62149E69D7FE","label":"URL","name":"url","required":true,"type":"text"}],"formDescription":"Give the link a memorable title and paste its full https:// URL.","formTitle":"Save a Link","submitLabel":"Save Link"},"customName":"Save a Link","isDisabled":false,"localID":0,"typeID":"trigger.form","x":100,"y":520},{"config":{"allow_non_http_schemes":false,"url":"{{selected.url}}"},"customName":"Open Link","isDisabled":false,"localID":1,"typeID":"action.open_url","x":1150,"y":200},{"config":{"_height":560,"_width":460,"text":"**Save and Browse Links keeps a private reading list. Save a link with a short form, then find and open it later with a keyboard shortcut.**\n\n**What it does**\n- Save a title and URL in a few seconds.\n- Search your newest 1,000 links by title or address.\n- Your pick opens in your default browser. Escape closes the list.\n\n**Set it up**\n- On **Save Reading Link**, choose New Database… in the Database field, or pick one you already have. Pick the same database on **Load Reading List**.\n- Record a shortcut on **Browse Reading List**. The flow has none until you do.\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. The list is empty until you save your first link with **Save a Link**.\n\n**Make it yours**\n- Add a field such as a tag on **Save a Link**, and a matching field on **Save Reading Link**.\n- Change Max Rows on **Load Reading List** to list more or fewer links."},"isDisabled":false,"localID":2,"typeID":"note","x":100,"y":-500},{"config":{"body":"{{form.title}} is in your reading list.","forceDisplay":true,"title":"Link Saved"},"customName":"Confirm Saved Link","isDisabled":false,"localID":3,"typeID":"action.notification","x":800,"y":520},{"config":{"_height":80,"_width":320,"text":"**Top row:** press the shortcut, search your saved links, and open one in your browser."},"isDisabled":false,"localID":4,"typeID":"note","x":100,"y":100},{"config":{"consumeKey":true},"customName":"Browse Reading List","isDisabled":false,"localID":5,"typeID":"trigger.keyboard_shortcut","x":100,"y":200},{"config":{"_height":80,"_width":320,"text":"**Bottom row:** run **Save a Link** to add a title and URL to the list."},"isDisabled":false,"localID":6,"typeID":"note","x":100,"y":420},{"config":{"caseSensitive":false,"columns":"title,url","columnsCache":[],"databaseId":"{{NEEDS_INPUT: pick which database this flow should use}}","databaseName":"Links","limit":1000,"offset":0,"orderBy":"created_at desc","table":"links","whereLogic":"and"},"customName":"Load Reading List","isDisabled":false,"localID":7,"typeID":"action.database_query","x":450,"y":200},{"config":{"autoCreate":true,"columnsCache":[],"conflict":"abort","databaseId":"{{NEEDS_INPUT: pick which database this flow should use}}","databaseName":"Links","fields":[{"column":"title","value":"{{form.title}}"},{"column":"url","value":"{{form.url}}"}],"table":"links"},"customName":"Save Reading Link","isDisabled":false,"localID":8,"typeID":"action.database_insert","x":450,"y":520},{"config":{"placeholder":"Find a saved link…","primaryColumn":"title","searchColumns":"title,url","secondaryColumn":"url","view":"list"},"customName":"Choose a Link","isDisabled":false,"localID":9,"typeID":"action.palette","x":800,"y":200}],"version":1}