New custom field types

Edit: This post is now locked. The API and Developer Relations team at Asana do not have any timeline for new custom fields. When new information is available, a separate announcement will be made.

Hi everyone, we have some exciting news! And you, our developers, are the first to hear it! Asana is creating three new custom field types! :tada: We know that custom fields are an important part of our API, so even though we don’t have an interface design to publish for you yet, we wanted to let you know as soon as possible so that you have a better idea of what to expect.

The three new types we’re introducing are:

  • Booleans, resource_subtype: "boolean". This is exactly what you’d expect—a raw true or false value, without having to use an enum field and the associated enum option IDs.

  • Dates, resource_subtype: "date". These will behave just like the existing date fields on tasks—you’ll have the options for a start and due date (or a due date-time).

  • Multi-select enums, resource_type: "multi_enum". This is also what you’d expect—a set of fixed enum options from which multiple can be selected at the same time.

We’re working on the new design for these in the API simultaneously with the in-product work, and don’t yet have a release timeline to share with you. However, the important point here is that, as this is rolled out in the web app, your apps will start to see custom field subtypes other than text, number, and enum. If your integration simply ignores unknown subtypes as if they didn’t exist then you shouldn’t need to take action, but please keep this upcoming addition in mind as you work with your apps. We’ll be sure to share the API designs before these are rolled out, and are aiming to have them published by the end of next month. Keep following this forum category to listen for updates, as this is where we’ll post new information first.

31 Likes

That is great! :champagne:

1 Like

I love this! Speaking for all non-developers I can say that I don’t completely understand everything that you’ve described, but I’m very excited at the idea of new custom fields!

6 Likes

@Mark_Hudson

  • Boolean is a true or false value (usually shown as a checkbox)
  • Multi-select enums is for example categories, if you want a task to belong to multiple categories instead of just one, you create a field with them
2 Likes

Excellent! The multi-select enums will be particularly useful.

Thanks, @Bastien_Siebman ! :slight_smile:

Would I be correct in guessing that Boolean and Date are primarily about creating data types to add functionality to the API and thus improve the ability to integrate with other applications or custom code?

Hi Vince,

I don’t think so; personally I think they’re equally designed for the app’s user interface and the API. Certainly we know that many, many users have been asking for Date-type custom fields to use in the product itself!

2 Likes

This looks great!

It feels like you’re heading in a direction I’m really hoping for… formulas in custom fields, eg a custom field that calculates the sum of two other custom fields.

Any chance this is in the roadmap?

1 Like

@Michael_Waxman Unfortunately, I don’t have any other information about the roadmap for custom fields.

I was looking for info on multi-select custom field - this is great news!

At Bridge24, we are very happy about those new custom field types, especially the date type. We will support them as soon as possible through the interface. It will give much more value to our advanced reports grouped by custom fields.

1 Like

Exciting! Hopefully we get them soon :slight_smile:

Hi all, we’re due to provide an update about the new custom fields, but it is an unfortunate one.

The product teams here at Asana spent effort researching new custom fields, both from a product and technical perspective, and are going to take more time to design and implement the new types to ensure this change is done correctly. As a result, the timing for the launch of these new fields has been pushed back. At this time, we don’t have any estimate on when the new custom fields will be ready, but we’ll update this thread with more API details once the product designs and timelines are locked down.

1 Like

I can understand why a multi-select enum would be somewhat difficult to implement, but Boolean and Date? Those should be dead simple. I’d be very happy to have just the Date type and Boolean would just be icing on the cake. Also having the Date (or any custom field) sortable in either decreasing or increasing order would be huge. The lack of Date and Sorting is preventing us from moving a legacy Database into Asana. I’m looking forward to this being resolved.

1 Like

@Aaron_Paul you can store your dates as a string, with the format YYYY-MM-DD and use a string sort to have the dates sorted :slight_smile:

Hi @Aaron_Paul, while the data model for booleans and dates is simple in concept, the engineering and design work required to implement them in the web product is enormous. Custom fields are deeply ingrained in the product, and everywhere you see custom fields would need to be updated to support the new data types, which raises questions such as:

  • What new database indexes do we need to create to support efficient queries for all the sorting and filtering users want?
  • What changes do we need to make to our search indexing to support these new field types for the advanced search?
  • Do we support date ranges, or do we make users have two separate date custom fields to describe ranges? If we support date ranges, do we need to support sorting by start date? Can a date range have the same start and end date, or will we require that they match tasks which must have a start date strictly earlier than the due date?
  • Do we use drop-downs or check boxes to represent booleans? Checkboxes feel natural, but then there can be no “blank” value (only true and false, unlike existing enum fields that can have a “blank” value). If we use checkboxes and they don’t take up as much horizontal space when showing custom fields on tasks in the list view, do we change the limit of how many custom fields can be shown in the grid?
  • What is “ascending” for boolean values? True first, or false first? If we allow “blank” values do they always come last regardless of sort order, or do we hide them? How do we describe this behavior to users concisely in a menu? Do we think flipping the sort order is a requirement for users? What would people most commonly use booleans for, and which sort order should be the default?
  • Now that projects in portfolios can have custom fields, how do those views interact with the new field types?

The product teams here at Asana know how important custom fields are for our users, and want to be absolutely sure that we can provide a high-quality experience when new field types launch. We’re really excited to provide these new types to our users and we know how impactful they’ll be, which is why we want to get them right. I hope this helps clarify why we’ve had to delay them!

6 Likes

@Joe_Trollo, fair enough. thanks.

Most interested in the Date field. For instance, have a project in each Team/Client called “Meeting Notes”. With a custom field for attendees, location, date, etc. Currently can use the Due Date / Due Time field to set the date/time of meetings we’ve had with notes. But bit odd that it’s Due Date vs Meeting Date, etc.

It did mention in this thread below date OR time. I’m assuming the field will be able to do date AND time. Assuming so, looking forward to it. So that the project can have Sections such as Meeting Notes, Call Logs, etc, with the tasks in each section organized by the custom field date/time (once that new field is available).

The current hack of using the Due date field doesn’t work great, because when I put order by date date, it moves the section titles, IE Call Logs, Meeting Notes, etc to the bottom of the list under “No Due Date”. Those obviously can’t have a meeting date/time since they are simply headers, so hopefully this won’t be an issue when we have the date/time custom field.

Will this support custom fields in subtasks?
I’m working on a large website project, which we have in multiple languages. I want to ditch language based categories or projects, and only use a custom field “language” which would enable me to easily browse through any language I wish.