Yeah, it’s unlikely we can provide that level of granularity at our current scale. The only thing we might be able to offer is a websocket based push system that’s granular to document being changed.
- Create Note. Details: document, list, bullet, bullet note.
Use case: option (via IFTTT etc) to dynamically create notes
- Note Created. Details: document, list, bullet, bullet note, perhaps ID
Use case: use as trigger (IFTTT etc) to make a “recipe” of IF note created (conditions) THEN other action
- File Created
Use case: trigger (IFTTT etc) to make a recipe of IF file uploaded THEN other action (e.g.: upload it to dropbox)
Got it, I think that can do for now! Thx!
This might not be the right place to ask this, but I’m also wondering, is there a place where I can get the entire text of a document right now? Just a string with new lines for each separate bullet point?
If so, that’d be super helpful so that I could create a script that processes that text and generates the corresponding trello view. Before the API comes out, I’ll just make it so edits only happen on Dynalist, and I’ll re-run the script every day or so.
I agree with David Lee’s post here
★ 1:★ get / post parent and child to batch process notes
I would like to a * GET and *POST / PATCH to for a specific ID and its child ID / nodes, for
This way you can send a GET request to a parent ID, and then POST update anything in the child ID’s contents
I could specify which parent ID I would want to work with, so I update information at whatever location is relevant
So this would let me parse the data easier. For instance, the !date parameters are not tag clickable. Ideally I want to timestamp the week number next to it automatically, e.g. #W16A for week16. I usually don’t phrase express this and do it after the fact, to make it easier to search overall
Going back to this GET POST request thing again. This would also let me parse my imgur URL links, so I can natively tag my image links right inside dynalist. Basically, I’ll have a bunch of text + an imgur link. I can assign metadata to my images, so I can download all my image links, and automatically assign metatags. This way, I can search my adobe-bridge locally for all my images via text tags as well. Would be super awesome for me to manage my 7000+ image / gif library with imgur+sharex
Adding on, to this
GET POST request thing. Now I can rearrange so on my bulletpoints, all my imgur link appear first, then any tags associated with it + words associated with it. This would make my notes significantly easier to read. This could also applied to files uploaded with dynalist Maybe you might want to parse all your data so the uploaded file link appears at the beginning or the end of bulletpoint
BASICALLY API enable GET / POST request for parent-child relationships nodes, to modify data, parse it in any format, reformat information afterwardsd so its easier to search and look at, etc
★1.1★ : Parsing data expanded into spreadsheets (Replaces python scripting)
Because in the trello project roadmap, you are going to implement ?some form of markdown table support?
so we can have tables down the road on specific lists
Sometimes I want to take notes on different vendors and clients. I currently do not use dynalist for this at all, because of lack of table support. I need to add the ✪ vendor name → ✪ discount structure ✪ freight notes ✪ PO contact ✪ Quote request email, etc
This is kind of hard to explain, but the API should enable me to do the following:
(pre - markdown table support) I’ll have some parent / child nodes outlined - I should be able to create a spreadsheet of data from this. The parent node is the first column, and child nodes in a specific order are each value in subsequent columns.
(pre-markdown table support) Or a specific formatting convention I use on my bulletpoints, to delimit cells like comma seperated values CSV. I usually use ✪ Bulletpoint 1, ✪ Bulletpoint 2, ✪ bulletpoint 3. I want a table with this data
(Post-markdown table support) - this feature would make this API portion redundant I think, but would help make longer text tables possible
BASICALLY - this part is hard to explain since I don’t know how to phrase it correctly, but by parsing data, I could create spreadsheets of data with it (rows, columns ,etc) based on parent-child relationship nodes, and the order of how child notes appear, or specific keywords in the child node.
BASICALLY 2.0 see diagram explaining it
ALTERNATIVELY I could also create gantt charts as well, there basically just spreadsheets too. Or integrate with trello based on keywords, etc etc
I would use this for a lot of already-made workflows by rawbytes plugins from workflowy. Resource here:
- calculate how many tags this appears on a dashboard extension
- how many times I used “ABC” word
- how long my texts are on average
- How much I wrote per day
- How many image links I made throughout day
- Mind map relationship mapping between parent / child nodes
- Where is my deepest child node at?
- How much time did I spent in that specific view mode ?(so I can analyze what improves to make)
- How much time did I spent on dynalist, based on node creation dates / node updated dates? (To calculate pomodoros)
- automatically calculate pomodoros based on node creation / updated dates
★3★ Automation via IFTTT using special command phrases
Everything here is basically just doing the following:
Not all tags are rated equally in my mind. Some tags are more important than others, and I want them to have some powerful features associated with some
This is already done with the “!” operator into google chrome
It all goes back to this feature requests I made:, about implementing special scrolling
So what things would I use with special keywords / tags?
- H1, H2, H3 tags can appear on a right-pane similar to app.classeur.io
- @to-do tags can appear on a dashboard to the right, and set to expire (or delete itself) at certain time frames
Adding onto this idea num4 that I just made up
You can specifiy certain popup windows to appear at certain specified times using the API
The dashboard program would behave systematically like this:
- Every hour, search all @todo tasks and @someday tasks regardless of where note is at
- For someday tasks, make it appear once a week with a checkbox of all the items
- If an item is checkedoff, have the @todo tag at that task bulletpoint deleted (just the tag) (or CTRL+ENTER) the information
Diagram flow of this:
Then there’s the obvious use cases that other users had mentioned, IFTTT this and that etc
Use of colours besides priority
My main use case would be exporting certain items and displaying them in a custom format. I’d like to select items based on criteria, such as:
- which document they are in
- due date
- text in the item or its notes
- whether the item is checked
Anything which makes it easier to filter or parse items would help, but I also think it might be best to just keep it simple and allow the API to grab all the items in an efficient way (without requiring multiple API calls). The program that calls the API can then read the attributes and do any filtering.
I need addition to this, a simple polling or notification mechanism to easily identify changes would help. For example, I might want a program to trigger on a certain event, such as the completion of an item. I don’t want to grab all the data and work out what changed – ideally the API can make it easy to check for and see changes.
Hi, that is great news, really looking forward to this.
Dynalist is very flexible and can be the hub that feeds different representations of the same data: Calendar (2-way sync pending ), kanban board (e.g. Trello).
To allow us enthousiasts to create an ecosystem of addons, you need to expose a generic API.
e.g. I would enjoy developing a process that does bulk rescheduling of tasks with dates, using durations and priorities (colors and nesting). I could use a notation that means duration for its users (e.g. dur:[30m]) even if it is plain text for dynalist.
Or time-tracking/pomodoro apps can integrate to grad a “today’s tasks fed from a search”.
My suggestions on the actual API:
Represent documents and search results as nested json of items. Todoist API represents tasks a flat array of items with indentation as number, please don’t go that way it is so awkward!
Define convention of the default place in the text to add date and tags, so that APIs can directly add/edit tags and date. This way you own the convention and its UX implications rather than having every API dev do its own thing.
Expose the GUID of each item to allow for effortless update/deletes of items. You own the identity tracking, not the API dev. The main limitation for tools like IFTTT etc is that they don’t have a 2-way communication with the app. As a user/contributor, a good reason for developing on an API is thir richer interaction, so I would promote this kind of thing.
Maybe expose metadata of the item: List of tags, list of dates, links etc instead of having to parse them from the raw markdown.
In the broader spirit of 3rd party development, Trello has many addons, both inside the app (and now you pay to use them ) and as 3rd party Chrome addons. You may want to start thinking/catering for UI mods sometime in the future.
Just out of curiosity, what is your tech-stack on the back end?
So a couple of things I can see as things to consider…
- Shared documents vs My private ones.
- If a document has sharing for read or editing, then the API shouldn’t require OAuth for those types of requests
- However it is not a shared document at all it should have a different type of authorization to access any API for them as I think it should be important for users to understand if they’re logging in and sharing OAuth access that means the app/program can access ANY of their data not just shared documents they might have access to.
- Would having a new type of sharing permissions, to indicate API only be worth while to end-users?
- API throttling? Is there a limit you’ll want to have to number of requests that can be made. For instance at the moment I understand you send a number of save requests while someone is typing for example to keep the save as current as possible. Will you want to open that many requests up to APIs or throttle it back to a certain number per hour/day?
I thought of another simple part of the data structure that would be great to have: for each node, besides just getting the “text”, can we also get the “public_url” which displays that text as root?
The purpose is so that if I were to create a Trello board representation of a document I have, I could add links on the Trello cards that would bring a viewer back to the corresponding Dynalist node.
Pure Java I believe, if you mean the server backend.
I don’t believe we plan to do throttling at the beginning, when there are only a handful of alpha API testers. But eventually it would be useful. Of course, the rate limiting should be something reasonable for personal use.
We can provide the id of the item and you can translate that to the URL yourself.
I think that’s safer, as our domain name might change; it’s best if you translate yourself whenever possible.
That works! I didn’t realize that the string in the url was just the id. If it is, then that totally works! Would it currently be “https://dynalist.io/d/[id]”?
While we’re waiting for the API, is there any way to get a version of the backup files (*.opml files) that has the id’s? Totally understand if there isn’t an easy way right now though.
Well I think there’s an easier way for a developer: all the item (“node” as referred in code) can be found at
DYNALIST.app.get_current_app_document().document.node_collection in the JS console. You should be able to process that information into any form you like with some digging. I think most things are pretty straight-forward in that JS object.
Hi, owner of Todoport here. We’d love to add Dynalist support for both import and export, so are excited about the API.
Some of this has already been covered elsewhere, but my wishlist would be:
- REST API with everything as JSON - please don’t use any proprietary protocols, transports, or serialisation.
- Support API authorisation for the user with ALL the methods you support for the web login - e.g. if I connect with my Google account to Dynalist, I should be able to use a Google access token for that user when making API calls.
- Use standard ISO 8601 formats for dates/times, and stick to UTC values for times.
- As Zoltan said above, batch mode is great for performance. Over the web, API calls can easily take seconds to complete, so any way to minimise the number of calls is really useful.
- any PUT/POST calls to create objects should return the id of the created object as the result of the call (again, as JSON). This makes creating children sooooo much easier.
Looking forward to seeing this!
I haven’t read through this, but creating documents and having them update based on certain criteria (e.g. every word that mentions “purple cow” or whatever) would make for good use of the API.
And maybe the ability to add additional file panes to Dynalist so that way we don’t have to use different programs?
I would basically only use the ! parameter for dates that dynalist currently has. The problem I have with google calendar integration is the following:
- If I assign a date into google calendar with Dynalist PRO feature, its a one time deal. Once that date is set, its set. I cannot reassign it for a future date unless I go to google calendar. Plus, I have to use two different systems here
This problem would be solved with other built in “TO-DO” style systems found in other websites / softwares, that are integrated directly into that platform. For instance
In reddit, you could specify !RemindMe and specify a future date reminder https://www.reddit.com/r/RemindMeBot/comments/24duzp/remindmebot_info/#bottom-comments and just ping an inbox comment to yourself
https://www.followupthen.com/how system, there’s a number of options here to send back mail to yourself. Specifically, 3days-t@followUpThen.com is a good example. It reminds you every 3 days to do something, when you finish it, you check it off. IF you don’t finish it, it keeps reminding you
Basically, the only thing I would use this API is for a TO-DO list that is more powerful than what dynalist currently has. I would want an inbox basically
Basically, this is what would happen
1. Pre-existing workflow integration
I use a phraseexpress macro “3d#” to paste a reminder in the future (3 days from today) using the “!” operator. Or 1w# for 1 week, 1m# for 1 month, etc. This would be anywhere in my document and be retroactively global. The task would just be whatever contents are on the bulletpoint itself
###2. API plugin use for TO-DO dialog box reminder (GET /PUT)
- Mark as complete
- Reassign the task, by manual date, OR +1days, +2days, +4days, +1 week, +1 month (If you wanted to reassign 5 days later, press +1day and +4day then OK)
- Change the description of the task (in the event the task nature changes)
- Add notes underneath the task (as child bulletpoints) or as a NOTE
The ability to add notes on the description would give it a more “Trello” feel. You can attach documents using dynalist PRO attacher or just an imgur link, etc
3 API plugin to modify data (POST)
When all is done press OK. This would retroactively change that task lists data, including but not limited to:
- Last revised date
- New “!” date changed to reflect the “reschedule task for another day”.
- Any description changes + new notes on that task
This would make task management much more friendly and lower maintenance in nature (E.G. I don’t have to use another app like TODOIST, I don’t need to go to a “seperate list” to manage to do tasks, or remember anything really, the forced dialog box reminder when I log in everyday does that for me)
Naturally I log into dynalist.io everyday anyways, so this isn’t going to be a probelm
Afterthoughts on implementation
I’m not sure if an external server would be needed to store any data or if its just constantly making GET / PUT calls for current date stamps either. Or if its just going to be a datadump log somewhere.
Items not finished or set as occuring will just constantly show up in my dialog box “inbox” everyday
A few Dynalist project management ideas