Ticktick account connector appears to spam inbox with empty tasks

Hello Pipedream,

This is a bug report for an issue I’ve been investigating for a while.

Scenario:

  • Given a workflow using Ticktick via ticktick__new_task_from_email,
  • when I connect a Ticktick account with a tasks:write scope,
  • I expect to be able to create new Ticktick tasks.

Issue description:

  • Ticktick tasks with the appropriate properties are created,
  • and empty tasks with no properties start appearing in the Ticktick inbox.
  • Workflow log does not indicate anything extraneous.

Attempted approaches:

  • Contact Ticktick support. Support informs me a) the empty tasks are created from pipedream and b) the empty tasks are created roughly once per hour.
  • Disable workflow. Now the appropriate tasks are not created, but empty tasks keep on appearing.
  • Remove Ticktick account from connections. (Done at the writing of this message.) If Ticktick support is correct in their report, I would expect that this prevents empty tasks from piling up. My Inbox currently reads at 1493 messages, over 1400 of which are empty. Will continue to monitor.

Suggested lines of inquiry:

  • Does Pipedream perhaps check connection validity or refresh its authorization towards Ticktick periodically?
  • If such a periodic check exists, perhaps it includes the creation of an empty task? If so, a cleanup routine might be missing or malfunctioning.
  • If such a periodic check exists but does not explicitly involve the creation of an empty task, perhaps the authentication interaction between Pipedream and Ticktick creates this empty task as an unintended side effect?

I’ve been in contact with Ticktick support but they seem to be of the opinion this behavior is all due to Pipedream. They could or would not provide specifics on which endpoints Pipedream is hitting such that the empty tasks are generated. I believe I’ve exhausted my feasible courses of action here.

Please advise if there’s any further details I could provide.

Best regards,
Eevert Novius
Full stack developer & personal automation enthusiast :slight_smile:

Hi @Ezku, thank you so much for the detailed description and troubleshooting steps!

Your / Ticktick’s theory is exactly correct. I looked into the app’s configuration, and it looks like when we do our regular OAuth heartbeat check for Ticktick, the endpoint we query is https://api.ticktick.com/open/v1/task, which does result in creating an empty task for the authenticated user (I just updated this task to at least have the title, “Example task from Pipedream,” so you can identify them.

Clearly this has unintended consequences for users, which I’d like to resolve. Reviewing their documentation, I don’t see a better endpoint to use. Can you ask your Support contact there if they have an endpoint we can use that would simply fetch user information or the state of your account, or something else that is similarly not impactful?

Let me know what they say and we’ll go from there.

Thanks for your help and patience!

Thanks for your response! Great to hear you were able to look into the issue so readily.

Your / Ticktick’s theory is exactly correct. I looked into the app’s configuration, and it looks like when we do our regular OAuth heartbeat check for Ticktick, the endpoint we query is https://api.ticktick.com/open/v1/task, which does result in creating an empty task for the authenticated user

Well, I’m glad to to find out I was at least on the right track.

I just updated this task to at least have the title, “Example task from Pipedream,” so you can identify them.

That’s actually helpful already! Having an identifier to match on will allow me to mass delete them at least, I think.

Clearly this has unintended consequences for users, which I’d like to resolve. Reviewing their documentation, I don’t see a better endpoint to use.

I don’t see an obviously feasible alternative either. Perhaps there’s a slice of the authentication flow that you could trigger to ask “hey, are these credentials still valid?” – https://ticktick.com/oauth/token might be worth checking out? :thinking:

Can you ask your Support contact there if they have an endpoint we can use that would simply fetch user information or the state of your account, or something else that is similarly not impactful?

Let me know what they say and we’ll go from there.

I’m afraid I have not been successful in reaching a tech savvy tier of their support. (The heartbeat theory was mine, as you might then guess.) On requesting contact details for someone who could usefully respond to your (ie. Pipedream’s) technical inquiries, I was informed “They may contact us via our e-mail: support@ticktick.com

I wouldn’t like to be acting as a broken-phone intermediary here, and I’m not at all sure there’s any value added from me being involved. Rather, their support might be inclined to take more seriously someone acting on behalf of a service integrator. Might I suggest you contact support@ticktick.com directly?

Thanks again for such prompt action.

–Eevert

Got it. I just sent an email to their support alias – I’ll keep you in the loop.

Sounds great, thank you so much!

Hi – any success in reaching Ticktick? I have sent an update on my Ticktick support ticket earlier this week, informing them that Pipedream would be in contact.

Hey @Ezku, yes they got back to me but they haven’t been able to solve the core issue or provide any helpful guidance unfortunately. I just followed up with them and asked a few more questions, so we’ll see what they say.

In the meantime though I just made a change to the integration to implement a workaround that should resolve your issue – can you let me know if we’ve stopped adding new tasks to your list?

Thanks for your patience

In the meantime though I just made a change to the integration to implement a workaround that should resolve your issue – can you let me know if we’ve stopped adding new tasks to your list?

I reconnected my workflow to Ticktick.

  1. Immediately observed “Example task from Pipedream” in my inbox
  2. Test event went through as expected

Will continue to monitor if new tasks keep popping up. If they do, would they also have the aforementioned title? What kind of failure scenarios should I keep an eye on?

Ah yes I apologize for the confusion / miscommunication on my end – that should be the only test request you see from us moving forward, the first time you connect your account. Definitely let me know if you keep seeing repeated “Example task from Pipedream” tasks popping up, but you shouldn’t.

No worries, I was asking just to verify my understanding.

I’m afraid the workaround doesn’t seem to be working, as far as I can tell. These are all new:

Ah very sorry, this was an issue on my end – I’ve confirmed we shouldn’t be creating any more example tasks in your connected TickTick account.

I struggle to contain my relief. :heart_eyes: For a number of personal, acute reasons, this issue has been mission critical for me for a good while. Thank you. :pray:

As a developer I’d be keen on hearing what your workaround was like, if you wish to share. :nerd_face:

Great to hear we were able to help! All I did in this case was disable the OAuth heartbeat on our end. Our ability to proactively catch any potential issues with the integration will be hampered, but I think that was the easiest/best solution given the limitations of TickTick’s API.

2 Likes