Removing comments from a removed user


So ordinarily the person who makes the comments is the only one who can delete them. So we had this guy, let’s call him Bob, who used to be part of the team. So he left the team. Using the API he had generated a LARGE number of comments (1000) on a particular card on a particular board. So now he’s gone, isn’t coming back, and we have a card that’s got its fill of comments and can’t take any more. Where do we go from here?


Hi @Bruce_Axtens! Have you tried to create a copy of the task including all below? Comments won’t be carried over, so you won’t get Bob’s +1000 comments, and if you have any previous important comments you can potentially add them to the task description, or compile them into a comment on your copy.


I finally got around to trying this. It is certainly one way of dealing with the issue. However, it doesn’t suit the workflow. So now I’m going to describe the workflow and you’re going to tell me how I should have done it and believe me, I’m all ears.

We have a variety of projects being managed in Asana. We have three columns of cards: “Things to do”, “Things to fix” and “Notifications”.

In the Notifications column we have a set of cards which are the same for all projects and serve as the collection point for notifications from our project on two Azure servers. If we had a project called “Orchestra” then those cards would be called “Orchestra On/Off”, “Orchestra Errors”, “Orchestra Warnings”, “Orchestra Notifications”.

In the code on our servers we have calls to the Asana REST API, e.g. ASANA.CommentTask(“OrchestraErrors”, "Terminated Orchestra: " + msg);
with “OrchestraErrors” resolving to the gid of the “OrchestraErrors” card.

We’ve been doing this for a few months now and some of our cards have reached the 1000 comments limit. Oh, and because one never sees notification about comments that one makes oneself, we have another identity (the aforementioned Bob) who makes them for us. His Asana account is no longer attached, from his end, to any of our projects, but the Asana API still permits him to create comments (bug or feature??)

So that’s where we are at the moment. What should I have done? Where do I go from here? Yes, I can duplicate the cards but that then gives new gids that then have to be propagated to the all the configuration files used in all our projects on both servers. If that’s what I have to do then I’ll bite the bullet and do it. But if there’s a simpler way …


Thanks for the follow-up @Bruce_Axtens. I’m moving your post to the #developersAPI category to see if our API experts can give us a hand :slight_smile:

cc @Phil_Seeman @Diakoptis @Jeff_Schneider @Matt_Bramlage


Bobbbbbbbbbb, what are you doing?!?!?
Just kidding. :slight_smile:

I wasn’t aware there was a 1000-comment limit and couldn’t find any documentation of that but assuming that’s true…

The best answer will really depend on what your end goal is, which isn’t specified.

If you want to keep using comments (“stories” to the API) exactly as you are now, and preserve them in general, then since you’ve already got an automated API process in place, how about if you just add a step to it that, prior to writing a new story, you check the number of stories on that task, and if it’s 1000, you delete the oldest story (maybe the one with the lowest gid).

To delete a comment story:

That seems to me to be the simplest solution if you don’t mind losing old notifications.

What do you think?


The other solution Bob (cc @Phil_Seeman I laughed a lot, thanx) is to convert the comments as tasks under Notifications section/column tagged by “on/off” “errors” “warnings” “notifications” with coloroured tags.


Right well I decided to take the “bite the bullet” option. In my C# library for Asana I have a new function CreateNewTaskInWorkspaceProjectSection and pass in the relevant values for the workspace, project and section. Each of the projects defined for monitoring have on/off, information, warning and error sections. I supply the name of the entry and the notes. Now to propagate the values and the code through the codebase.

Thanks for your many suggestions and the good humour.