Using portfolio custom fields in tasks?

Hi, we develop an app for our customers using asana api, and we wanted to be sure we manage all custom fields cases correctly.

So, we bought a business account, just to see how portfolio custom fields are used across projects and tasks of that portfolio.

And, what? We don’t see them.

I read the documentation well, and I never saw any information about the fact that “portfolio custom fields” are only for the portfolio grid view, and can’t be used inside projects of these portfolio, or anywhere else.

Am I right?

The only way to share custom fields across multiple projects, is to mark it as “workspace” custom field, but portfolio custom fields (that are not shared in the workspace) are unavailable inside tasks of projects contained in that portfolio?

Just asking to be sure…

Hi @Frederic_Malenfant,

You are correct. Custom fields at the portfolio/project level are a completely separate and independent set of custom fields from those at the project/task level. They work analogously the same, in terms of the concepts of custom field settings, etc., just at one level higher, so to speak.

I recall that the old developer documentation had a good explanation of this distinction, but it doesn’t seem to be anywhere in the new developer docs. @Ross_Grambo, maybe it can get added to the new docs? Also the new docs are a bit misleading in places where they reference portfolio-level custom fields; for example, in the schema for the portfolio object there is this, but the circled part is not really right here - it’s describing the behavior of is_important for project/task custom fields, not portfolio custom fields:


Thank you Phil & Frederic! I made a task to make this change.

1 Like

I had to learn more about portfolio custom fields and here’s what made it click for me:

A Project has a custom field setting, which gives custom fields to each child Task.
A Portfolio has a custom field setting, which gives custom fields to each child Project.

But there is no chaining (Portfolio → Project → Task) does not happen. They only go 1 child deep.

If it was possible for a portfolio to hold a task (without a project in the middle), the task would then get the custom field, as it would be a direct child. But that is not currently possible. :slight_smile:

As for is_important, it does the same thing for a project or a portfolio. It determines if the field shows up in the grid.

I’ll try and re-word the descriptions to make this a little more clear.