Fill a list from a feed

Keep one of my lists, or one of the shared libraries, filled from a feed: every item at a web address that answers RSS, Atom or JSON becomes a row or an entry, with its pictures and videos kept in my files

Takes list_id, feed (an https address answering RSS, Atom or JSON), items (where the items are in JSON, $.rows when left out; an RSS or Atom feed is read into rows with id, title, link, published and summary), key (each item's identity, $.id when left out), values ({ field id: selector }, which item field fills which list field) and files_into (the folder pictures are kept in). Items already in the list are left as they are, so an edit is never overwritten, unless update_existing is true: then the fields the feed fills are rewritten on rows where the feed now says something else. stamp (the id of a list field) is given the time of the run on every row written or confirmed. into ({ dataset: a shared library id }) sends the items to that shared library instead of a list, in batches, each entry with an id from its key, so an entry the feed repeats unchanged writes nothing; it returns the entries added, replaced, refused and not valid, with the reason for each. A picture or video an item names is kept in the person's files and its media field names it. A schedule runs it to keep the list current. Returns the rows added and updated and how many new items wait for the next run.

What it asks for

  • list_id (Optional, words):
  • feed (Needed, words):
  • items (Optional, words): A declared selector, like $.title or $.picture.src
  • key (Optional, words): A declared selector, like $.title or $.picture.src
  • values (Needed, details):
  • files_into (Optional, words):
  • most (Optional, number): How many new items to add this run (20 when left out); the rest wait for the next run
  • update_existing (Optional, yes or no): Rewrite the fields the feed fills on rows already there when the feed now says something else (false when left out: rows are left as they are)
  • fixed (Optional, details): A value for each field that is the same on every row or entry, like the source the items come from or their licence: { "licence": "MIT" }. It is checked against the field like any other value
  • stamp_row (Optional, details): After a successful read, writes the time of this run into one field of one row of a list, so the row shows when its feed was last read. One row is written per run
  • key_prefix (Optional, words): Text put in front of every item's id, so ids from different feeds never meet: the prefix "parts/ui/" and the item id "accordion" give "parts/ui/accordion"
  • stamp (Optional, words): The id of a list field that is given the time of this run on every row written or confirmed
  • into (Optional, details): Fill a shared library instead of a list: send this and not list_id

Use it from your AI

Connect the AI you already use to Trillion once. Then ask in your own words; your AI finds this tool by what it does and runs it.

Say to your AI: “Use Trillion to keep one of my lists, or one of the shared libraries, filled from a feed: every item at a web address that answers RSS, Atom or JSON becomes a row or an entry, with its pictures and videos kept in my files”

What your AI calls: run_tool {"tool_id":"tool:fill-a-list-from-a-feed"}