Post

2 followers Follow
1
Avatar

Need Hidden Fields for API Integration with other SaaS Apps

I'm working on implemented integration with other apps and am finding the need to store IDs from items from other SaaS systems. For example, an Invoice ID from a FreshBooks invoice. If should be hidden from user view so they don't accidentally modify them, and if they are visible then it just confuses users.

Mike Schinkel

Please sign in to leave a comment.

16 comments

0
Avatar

Each item has an "external_id", where you can store the corresponding id from the any external system. This id cannot be seen or edited by users.

Christian Holm 0 votes
0
Avatar

The external id is just a string, so you could put anything in there. But is there a real case for that?

Christian Holm 0 votes
0
Avatar

Yes, our specific use-case we have today for a client is this_ (although I can envision others):  _

  1. Selected App Items need to track a Podio Task, and vice versa, and 
  2. Those same selected App Items need to track Tasks in Smartsheet.

For our needs a string is cool; I can use URL query string encoding.  

However, if any other API user accesses external ID they may conflict.  Would be much better your "external" field which was associative array and we could define our own keys, i.e. "podio_task_id" and "smartsheet_task_id."

Mike Schinkel 0 votes
0
Avatar

I would strongly recommend using the built-in references in Podio instead of "weaker" links hidden in the external id. This will make it apparent to users how the different parts are linked up, and make it available on more platforms (f.ex. mobile phones).

I have never had an actual use case for multiple external id's presented, so I don't think the added complexity would bring any significant benefits.

Christian Holm 0 votes
0
Avatar

@Christian - BTW, I notice you marked your last comment as a answer as far as I can tell your reply is not an answer.  Unless I misunderstand there is no "Task Reference" field in Apps and an App Reference field doesn't let you connect to external IDs. 

If I need a reference to a Task in an App, how can I add it? I don't see a "Task Reference" field type.

Further, how is it possible to create a built-in reference to an external ID? I'm assuming you are referring to App References? Help me understand, please.

"I have never had an actual use case for multiple external id's presented, so I don't think the added complexity would bring any significant benefits."

Respectfully speaking, doesn't it seem likely that the many people on outside will find use-cases you've not considered rather than go by one man's experience? I could not have dreamed of all the things people have done on the web, why assume you can dream of all the use-cases for integration with Podio? What you have now doesn't work if two 3rd parties add functionality via the API to an app. With only one external ID one of the developers will clobber the other developer's extension. I'll argue that you can't know what people will do with such an integration ID so having only one is asking for trouble, at least asking for trouble for your users. Best to allow an API developer to provide a key for their external ID, like "freshbooks_invoice_id" and "harvest_timesheet_id." 

BTW, I've noticed several times that your team has marked a response to a question as an answer. Respectfully speaking, isn't it disingenuous for you guys to mark something as an answer instead of allowing the person who actually asked the question if it was an answer?

Mike Schinkel 0 votes
0
Avatar

As I have said before I think you will be better of using apps instead of tasks. It is however possible to create tasks based on items, and items based on tasks: https://developers.podio.com/doc/items/add-new-item-22362 See the ref attribute.

I have not said that every use-case will be solved by a single external id field. What I have said is that all the use-cases I have heard of (and I have heard many) are covered by the single value. We prefer to spend our time where makes the biggest benefit, and adding multiple external id fields is not it. While it may happen some day, it will not happen now.

We mark responses as answers so other forum readers can easily find the relevant information. It would be best to let the asker do this, but since they rarely do, we do it for them.

 

Christian Holm 0 votes
0
Avatar

Ironic that you - the Podio team - "mark responses as answers so other forum readers can easily find the relevant information. It would be best to let the asker do this, but since they rarely do, we do it for them." Yet, you cannot seem to comprehend why we PM users would want to have the same ability to priortize tasks and label fields for our users...  the same applies. 

Re: Tasks.  @Christian Holm re: using an app for Tasks, rather than using Podio tasks (I have tried both scenarios) and this is the problem in doing so:

1) Creating a tasks app = yet another app to jump to when a workspace already houses an App for Projects, another for deliverables, and yet another app for tasks.  Issues arise re: where to place comments, files and relevant information.  Unlike apps, Podio native tasks can be created and updates via an App they attached to, whereas, Tasks created with an App cannot - the user has to jump over to the Tasks App to create new tasks, and work from them.  Also, where to make comments, questions and attach files becomes unclear for users, and hard to track for the PM who needs to be in the know without being required to jump around apps in every workspace to find information.

2) Tasks Apps do not provide a "global" task view.  And, without the ability to disable Podio native tasks per workspace = confusion for our users.  Our team may visit their native tasks to check for tasks assigned to them,  and miss the tasks assigned to them via the Tasks App.

3) My biggest problem, after several months of being a Paying Podio customer = feeling as though our needs and  please to your team are not validated.  Instead, more often than not, they are either ignored, or we are told that your your team cannot see the value or logic behind our requests.  Fine if you weren't selling "flexibility..."

I am finding it all quite ironic.  

Summer Coley-Ward 0 votes
0
Avatar

Summer, this forum is reserved for API discussions, so general feature discussions should be moved elsewhere.

I take great offense that your continue to say that we don't care about project management, tasks or any other feature you deem important. I spend my Sunday evening answering your questions, and I expect some respect in return. 

I and all the other employees in Podio work very hard every day to build the features that our users ask for. We read and process an incredible amount of feedback every day from forums, emails, support tickets, telephone calls, in-person meetings, Skype calls, etc. We care deeply about our users and their needs, but we do have limited ressources, and have to make the best use of them. We try to spend our time as efficiently as possible to build the features that will make the biggest impact on our users as a whole.

I think it is great that you all provide so much feedback and insight into your issues, but you must in turn also respect that your use-case is one of a long list of many use-cases that Podio support. We have the insight, data and overview to make the best choices for Podio, not you.

Christian Holm 0 votes
0
Avatar

@Christian,

As I have said before I think you will be better of using apps instead of tasks.

As I wrote in another forum post that you commented on (but that I can't find right now)  I am using Apps for tasks, but we need to create a Tasks for each of these App items so each user can have a single list of all their tasks. Right now we have 6 different "Task-related" Apps, and it's far too much work for the users to go to each App and then filter each to determine what they need to do.  

It is however possible to create tasks based on items, and items based on tasks:  https://developers.podio.com/doc/items/add-new-item-22362 See the ref attribute.

I understand that, but that's not what I need.  I am allowing users to create what I am calling "Task-related App Items" and then having Tasks based on those created automatically. Then using a web hook I reassign the task to the person referenced in a Contact field in the App item.  But I want to be able to include a reference from the Item back to the Task so if the App item is updated or deleted I can load the Task. Yes I can look for it in reverse but it's not as efficient; it requires an additional API call. I'm going to ask for a Task Reference field in another post to this forum.

In this case I can use an external ID in the format "{name1}:{value1};{name2}:{value2};...{nameN}:{valueN}" but I cannot know that others will do the same.  Maybe you can recommend it as a best practice in the API docs and support parsing it in the API clients (I will make the necessary addition to the PHP API client)? That would address my concern partially?

We prefer to spend our time where makes the biggest benefit, and adding multiple external id fields is not it. While it may happen some day, it will not happen now.

Okay, I can respect that.  

We mark responses as answers so other forum readers can easily find the relevant information. It would be best to let the asker do this, but since they rarely do, we do it for them.

In my case I would like to be the one to mark it, JMTCW.

Mike Schinkel 0 votes
0
Avatar

Maybe I am not understanding it all correctly, but I think this would be the best approach:

This should give you the task in one API call and you users can see how the tasks are related in the web interface.

I have removed my response as the answer, feel free to set any response you deem valid as the answer. 

Christian Holm 0 votes
0
Avatar

@Christian - Thanks for your additional reply.

Create the tasks on the item, just like if you create the task on an item in the web interface. You can use this API method:  https://developers.podio.com/doc/tasks/create-task-with-reference-2...

That's exactly what I am already doing.

Tasks also has an external_id attribute. You can set this to the "type" of the task for the item.

I am also doing that.  I am assigning "by:podio-bot;item:12345" to the Task's external_id,  for example. Of course if I were using another API service that needs external_id it would overwrite my external_id, which is what I explained in another forum post.  So yes, i can meet my needs with this today, but if I ever want to use another API service that needs the external_id I won't be able to use both. Just food for thought.

When the item is changed, you can look for the relevant task on the item by using this API method:  https://developers.podio.com/doc/tasks/get-tasks-77949. Here you can filter by the reference (item-1234) and the external id.

Yes, I am already doing that. But it takes an extra API call which is what I'm trying to avoid. I'm building this with the goal of enabling a large number of Podio users to use it and so minimizing the number of API calls will be very important for reasons I hopefully don't need to explain.

So while I can implement a workaround, support for this request would be useful for me to be able to optimize my my API-based code. But I do understand if it's too hard to add that it might not be a priority.

I have removed my response as the answer, feel free to set any response you deem valid as the answer. 

Thank you. Unfortunately it does not appear I have the ability to do that?  Maybe your forum account has rights mind does not?

Mike Schinkel 0 votes
1
Avatar

@Christian Holm

1) Re: "Summer, this forum is reserved for API discussions, so general feature discussions should be moved elsewhere."  I was sharing my issues with Tasks workarounds (without API) in hopes of supporting Mike's API requests.  Not wanting to throw the baby out with the bath water, I am holding my breath for Podio native task enhancements (or Mike's API results) so that we can complete our project set-ups.

2) Re: "I take great offense that your continue to say that we don't care about project management, tasks or any other feature you deem important. I spend my Sunday evening answering your questions, and I expect some respect in return. "  I can understand you taking offence to my comments - you have a very valid point, and it's likely my mounting frustrations, wresting with Podio workarounds and unanswered questions which have come to a boiling point for me, not because I enjoy being a witch or offending you, but because we have already invested so much time and effort, building our entire business workflows inside Podio, only to realize after loading apps and tasks, that the most elementary of PM functions - tasks management is so alternative in Podio (Recurring tasks, reminders and tasks labels not being "Assignable").  I keep bringing this up (albeit, like a broken record) in hopes that your team will consider a resolution (or confirm for me that you are not considering enhancing tasks functions any time soon).  

3) Re: "I and all the other employees in Podio work very hard every day to build the features that our users ask for. We read and process an incredible amount of feedback every day from forums, emails, support tickets, telephone calls, in-person meetings, Skype calls, etc. We care deeply about our users and their needs, but we do have limited ressources, and have to make the best use of them. We try to spend our time as efficiently as possible to build the features that will make the biggest impact on our users as a whole."  Yes, I do realize that.  That is why I am still here!  That is also why I have brought other users on board, introducing new users to Podio...  I may seem like a bother to you and your team, but what you don't see is how much faith I have placed in your product, because I see the potential clearly, and because I know you have the ability to create an exceptional PM platform like no other.  Podio is an 80% rock solid platform for our needs, but the lack of permissions settings (admin control) and the limited tasks management functionality is what keeps me frustrated   Not wanting to give up. I log many hours, trying all kinds of workarounds, and even helping other Podio users with their questions in the process.  I was an early adopter of Podio, and became a Premium user when I learned of Citrix acquiring Podio, feeling renewed confidence that the acquisition would give your development team more budget, and more experience to further build-out Podio (which you have been doing in many areas).  

4) Re: "I think it is great that you all provide so much feedback and insight into your issues, but you must in turn also respect that your use-case is one of a long list of many use-cases that Podio support. We have the insight, data and overview to make the best choices for Podio, not you." Pardon me.  I never got the idea that you appreciated or welcomed my feedback and insights.  I had no idea anyone from Podio was actually listening.  I entirely comprehend that my use-case is a needle in a haystack, but I hope that others' use cases are similar to mine, revealing a pattern of what is needed by many PM's, not just me.  Part of my business is helping other businesses identify SaaS solutions according to their workflows & Project Portfolio Management needs.  

You may have noticed that my requests and "issues" are the same - I don't repeatedly bother much about little things I can create workarounds for (like limited calculations, lack of ind depth reporting, printing etc).

When I learned that recurring tasks and reminders (and no ability to make Task labels appear for other users) was intended (not a bug) I was flabbergasted (shocked).  I must say that this is what set me off more than anything else.  Partly because this was not brought to our attention until we discovered it by trial and error.  I had spent several evenings setting up an extensive project using Podio tasks, and using labels to organize the tasks for our team and for our client (labels that indicated whether a task was a deliverable, a revision, monitoring, or a client-task).  

I had invited my team to a screenshare session, to walk them through the set up I had slaved over, setting up for our big client presentation the next day (presenting Podio to our client - a school district!).  That was when  we realized that all the labels, all the recurring social media task reminders, pre-set to remind our clients on specific dates (1 years worth), were not being seen nor received by anyone other than myself - the already over worked Project Manager.  The client presentation was postponed, and our client lost interest in the Podio set-up we were excited to walk them through.  We've had to re-set their project up in SmartSheet, which supports the tasks functionality and permissions settings we need.

I will refrain from further sharing my experiences (and issues) with your product, unless otherwise requested.  I know by now that in offending you, I have risked turning all ears against me.  I never intended to hurt feelings; rather, I intended to rock-the-boat a bit, hoping to goad further progress along in the "tasks functionlity and permissions settings" department.

Thank you for your comment, Christian.  I very much appreciate you being upfront with me about having offended you.  I like to know where I stand with people, and I am grateful to have the opportunity to explain myself.

I wish you and  your team all the best. : )

Summer Coley-Ward 1 vote
0
Avatar

Hi Summer

We certainly want you to continue sharing your experiences, feature requests and solutions. We take all the feedback we get to heart, and user feedback is the primary source and reason for our development efforts.

While we read and process all feedback (our feedback app currently contains 1393 entries, all categorized, discussed and rated), we could be a lot better at responding to that feedback. This is not because we don't want to, but because it takes a very long time and again, we have limited ressources at our disposal.

On a final note we do understand that tasks can be insufficient for some. I will say however that we are focused on making our apps good enough to replace tasks in the medium term. This includes better overviews, more app views, sorting, etc.

Christian

Christian Holm 0 votes
0
Avatar

Hi @Christian:

_On a final note we do understand that tasks can be insufficient for some. I will say however that we are focused on making our apps good enough to replace tasks in the medium term. This includes better overviews, more app views, sorting, etc._

Sounds like a plan. Do you also plan to have Apps contribute to a single global Task queue so that users can see all their task App items in one place?

Mike Schinkel 0 votes
0
Avatar

There is nothing concrete yet, but we definitely want to give users a dashboard, where they can get a single overview of their tasks, meetings, etc.

Christian Holm 0 votes