I’m currently evaluating whether DEVONthink’s integrated AI features (e.g. via OpenAI API) can be used for updating structured tabular data stored inside DEVONthink.
Use case:
I scan grocery receipts into DEVONthink. OCR works well. From each receipt, structured data can be extracted (date, merchant, total amount, line items).
What I would ideally like to achieve:
Maintain a central table (CSV/TSV or similar) inside DEVONthink that contains all receipt data
Each time a new receipt is added, AI extracts the data and extends the existing table with new rows
The table should persist and grow over time, rather than being regenerated from scratch each time
My questions:
Is it technically feasible to modify an existing CSV/TSV file in DEVONthink using the integrated AI (e.g. append rows, update values), or is AI limited to generating new content rather than editing structured files in-place?
Are there recommended workarounds (e.g. AI regenerates a full updated table, AppleScript replaces the document, or similar)?
From a DEVONthink perspective: would you consider this a supported/appropriate use case, or is DEVONthink AI intentionally not designed for persistent, transactional table updates?
I’m aware that an external automation setup (e.g. Make.com + Google Sheets using JSON data) would be the more conventional solution.
However, before committing to that architecture, I’d like to understand how far DEVONthink alone can reasonably go in this scenario.
Any insights, limitations, or best-practice recommendations would be greatly appreciated.
Thanks for your reply — let me restate the question more precisely, because the core issue may have been obscured by the discussion around “whether AI is needed”.
The reason I mentioned grocery receipts is precisely because they are semi-structured, inconsistent real-world documents where classic rule-based parsing becomes brittle over time: varying layouts, abbreviated item names, deposits, coupons, discounts, mixed line semantics, and OCR artifacts from thermal paper. In that specific context, AI can add value as a normalization layer on top of OCR text.
However, the actual question I’m trying to get answered is independent of that use case:
Does DEVONthink’s integrated AI have any technical capability to modify or extend an existing structured table (e.g. CSV/TSV) stored in DEVONthink — or is it fundamentally limited to generating new text output only?
Concretely:
Can AI take an existing table document as input, consider its current contents, and append new rows?
Or is the only feasible pattern that AI generates a new table (or text), which then replaces the old one via scripting or manual intervention?
I’m not looking for a fully automated or elegant solution — even a supported workaround such as:
AI producing a complete updated CSV that overwrites the previous document, or
AI output combined with AppleScript to re-import or replace a table
would already clarify the technical boundary.
So the question is less about whether AI should be used, and more about what AI inside DEVONthink can or cannot technically do today with persistent structured data.
Any concrete insight into those limits (or confirmation that this is explicitly out of scope by design) would be very helpful.
Can AI take an existing table document as input, consider its current contents, and append new rows?
“Consider”? Yes. Directly append? No.
Or is the only feasible pattern that AI generates a new table (or text), which then replaces the old one via scripting or manual intervention?
That is the current state of using AI.
AI producing a complete updated CSV that overwrites the previous document, or
Overwrites? No.
AI output combined with AppleScript to re-import or replace a table
Possible but I wouldn’t be looking at reimporting or replacing. There is an AppleScript command to add rows to a sheet. The biggest difficulty will be in choosing the AI engine and model and creating the prompt that consistently produces the necessary result.
Personally I would recommend to store the retrieved data as custom metadata. This would also be useful for precise searching. And if a table is really necessary, then Tools > Create Metadata Overview could be used.
This is easily done with AI in DT4. Your ability to modify columns, edit the data in columns, add new columns, etc. is considerably easier using DT4 AI with a Sheet than using AI with custom metdata.
[It would be really nice if DT4 AI had more ability to work with custom metadata but for now I believe that capability is fairly limited. Using a Sheet appears to be a reasonable workaround for now.]