Development API for external apps and tools?

Looking to see if there is a dev API coming. Would be good to integrate with multiple systems and if you are building as a web app I am assuming you have a API behind it anyway :smile:

At least having a unique URL for the creation of tasks in the inbox so you can wire through things like IFTTT by just sending text to a URL. The string could be regenerated in settings and could possible by 2 or three GUIDs smashed together for simplicity.

eg.
http://gtdnext.com/addtasks?UID=&title=Wash%20The%20Dog

2 Likes

Hi @Sytone

Thanks for your ideas!

Currently there is a partial possibility to automate action addition by sending the email to inbox@gtdnext.com from the email you are registered with. And we are planning to add each user a separate unique email address, like yhioplnr@gtdnext.com, with all the mail coming to it getting to the inbox.
Later we are going to implement the IFTTT integration.
About the API, we haven’t thought about it yet. But if there is a demand for it (particularly in this topic) we will surely schedule it to our plan.

Is there any chance you can provide information on the JSON packets you are sending for task creation? I can now create a new task from the command line in powershell which is helpful but being able to pull and push more data via JSON would be great. I am using the standard login and security you are already using. Example is below:

function New-GtdNextTask($TaskName) {
    $loginPage = Invoke-WebRequest -Uri "https://gtdnext.com/login" -SessionVariable GtdNextSession
    $SessionVariable
    $loginPage.Forms[0].Fields.user = "XXXXXXXX"
    $loginPage.Forms[0].Fields.pass = "XXXXXXXX"
    $loginResponse = Invoke-WebRequest -Uri ("https://gtdnext.com/process-login") -SessionVariable GtdNextSession -Method POST -Body $loginPage.Forms[0] 
    $projectsPage = Invoke-WebRequest -Uri "https://app.gtdnext.com/#/projects" -WebSession $GtdNextSession

    $TaskGuid = [System.Guid]::NewGuid().ToString()
    $unknownId = [System.Guid]::NewGuid().ToString()

    $rawTaskRequest = "{`"log`":[{`"type`":`"act-create`",`"data`":{`"id`":`"$TaskGuid`",`"parentId`":`"`",`"ind`":0,`"listType`":`"inbox`"}},{`"type`":`"act-rename`",`"data`":{`"id`":`"$TaskGuid `",`"name`":`"$TaskName`"}}],`"id`":`"$unknownId`"}"
    $taskRequest = [System.Web.HttpUtility]::UrlEncode($rawTaskRequest) 
    $newTask = Invoke-WebRequest -Uri ("https://app.gtdnext.com/syncLongs") -WebSession $GtdNextSession -Method POST -Body "pack=$taskRequest"
}

Hi Syton

We are not ready to expose the current API used by our web client as an official API as it can change dramatically in the near future.
If you are still interested in the method calls details please, contact me in private message.

We are the creators of gSyncit and want to integrate your service into our Outlook sync product. Please provide us documentation on how to integrate with your service. We are eager to get started as soon as possible - if possible.

Hi @dlevinson - Sorry we aren’t quite ready to expose the current API - as it is still going through changes and could change quite a bit.

Thanks VERY much though for your interest and please check back now and then.

Yeah, I can’t really sign up for GTDNext without an API to create tasks. I need to create tasks from my home Mac using Alfred and from my work PC using a similar tool. I can’t send email using the same email address from both of those machines due to company policy about email addresses and servers.

A REST API for creating/updating/fetching tasks plus an API for backup would be ideal. I could live with implementation of the unique incoming email address for creating tasks. I need to be able to automate export of my data (i.e. backup). I can’t trust any company not to disappear with my to-do list, and I’m not going to manually export data, so I have to automate backup.

Looks like an interesting service, but automating task creating and data export are prerequisites for me.
Thanks,