# Improvements to column names and the CLI in Packs SDK 1.7.5

**URL:** <https://connect.superhuman.com/t/improvements-to-column-names-and-the-cli-in-packs-sdk-1-7-5/47231>\
**Category:** Making Packs\
**Created:** [March 13, 2024, 2:05pm UTC](https://connect.superhuman.com/t/improvements-to-column-names-and-the-cli-in-packs-sdk-1-7-5/47231 "2024-03-13T14:05:46Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Eric\_Koleda](https://yyz1.discourse-cdn.com/coda1/user_avatar/connect.superhuman.com/eric_koleda/32/50286_2.png) [@Eric\_Koleda](https://connect.superhuman.com/u/Eric_Koleda)\
**Post date:** [March 13, 2024, 2:05pm UTC](https://connect.superhuman.com/t/improvements-to-column-names-and-the-cli-in-packs-sdk-1-7-5/47231/1 "2024-03-13T14:05:46Z")

</div>

Our latest release of the Packs SDK allows you to create better sync tables and test more of your code locally. Keep reading to learn how you can leverage these features in your own Packs.

## Column display names

The column names in a sync table arise from a somewhat roundabout process:

1. You define property keys in your schema
2. Coda transforms them into property names appropriate for the formula editor
3. Coda then transforms those into a human-readable column names

While all of these automatic transformations are convenient, they can occasionally lead to some odd columns names. For example: `iPhone_version` → `IPhoneVersion` → `I phone version`.

To give Pack makers more control over their column names we’ve introduced a new field, `displayName`, that let’s you explicitly define what the column name should be for that property:

```typescript
iPhone_version: {
  type: coda.ValueType.String,
  displayName: "iPhone version",
},

```

This feature is especially useful for sync tables that use dynamic schemas to sync custom fields, as those fields often have names that contain punctuation and other special characters that can get lost in the normal transformation process.

![Screen Recording on 2024-03-12 at 04-07-19](https://global.discourse-cdn.com/coda1/original/3X/b/4/b4482d0eab583701a298a553d8fdd128761e053f.gif)

You can learn more about the `displayName` field and how to use it in the [Schemas guide](https://coda.io/packs/build/latest/guides/advanced/schemas/#column-names).

## Executing metadata functions locally

While the majority of the code in a Pack is contained within the `execute` function of the building blocks, there can be a fair amount of other code scattered about that generates important metadata. For example, an `autocomplete` function of a parameter, or the `listDynamicUrls` function of a dynamic sync table.

Previously there was no easy way to run and test this code when developing locally using the Packs CLI, but in this release of the SDK we’ve extended the `coda execute` command to support these metadata functions as well.

For example to execute the `autocomplete` function of the greeting parameter in the Hello formula you could run:

```bash
npx coda execute src/pack.ts Hello:autocomplete:greeting

```

To fully test the code you can pass a search string and the value of other parameters as additional command line arguments.

![Screen Recording on 2024-03-12 at 03-52-27](https://global.discourse-cdn.com/coda1/original/3X/e/d/edff2912ab08775a043767d48e5a6dae1f8c8ed2.gif)

To learn more about this feature and how to use it to test other types of metadata functions refer to the [Using the CLI guide](https://coda.io/packs/build/latest/guides/development/cli/#running-metadata-functions).

* * *

If you have any questions or comments about these features, or have feature requests you’d like us to know about, drop us a comment below.

---

<div class="post-metadata">

**Author:** ![Jono\_Bouwmeester](https://yyz1.discourse-cdn.com/coda1/user_avatar/connect.superhuman.com/jono_bouwmeester/32/20713_2.png) [@Jono\_Bouwmeester](https://connect.superhuman.com/u/Jono_Bouwmeester)\
**Post date:** [March 13, 2024, 4:07pm UTC](https://connect.superhuman.com/t/improvements-to-column-names-and-the-cli-in-packs-sdk-1-7-5/47231/2 "2024-03-13T16:07:52Z")

</div>

Very cool! Amped to start using that `displayName` property!

---

<div class="post-metadata">

**Author:** ![Breno\_Nunes](https://yyz1.discourse-cdn.com/coda1/user_avatar/connect.superhuman.com/breno_nunes/32/12706_2.png) [@Breno\_Nunes](https://connect.superhuman.com/u/Breno_Nunes)\
**Post date:** [March 13, 2024, 5:27pm UTC](https://connect.superhuman.com/t/improvements-to-column-names-and-the-cli-in-packs-sdk-1-7-5/47231/3 "2024-03-13T17:27:17Z")

</div>

Hi, @Eric_Koleda .  
Does it mean that when I cross-doc a table, column names won’t change when I use special characters?

---

<div class="post-metadata">

**Author:** ![Leandro\_Zubrezki](https://yyz1.discourse-cdn.com/coda1/user_avatar/connect.superhuman.com/leandro_zubrezki/32/35032_2.png) [@Leandro\_Zubrezki](https://connect.superhuman.com/u/Leandro_Zubrezki)\
**Post date:** [March 13, 2024, 10:03pm UTC](https://connect.superhuman.com/t/improvements-to-column-names-and-the-cli-in-packs-sdk-1-7-5/47231/4 "2024-03-13T22:03:11Z")

</div>

Just updated Airtable, Notion and Webflow Packs to use the new `displayName` property for dynamic sync tables 🙂

---

<div class="post-metadata">

**Author:** ![Patrick\_Barry](https://yyz1.discourse-cdn.com/coda1/user_avatar/connect.superhuman.com/patrick_barry/32/22081_2.png) [@Patrick\_Barry](https://connect.superhuman.com/u/Patrick_Barry)\
**Post date:** [March 14, 2024, 3:49am UTC](https://connect.superhuman.com/t/improvements-to-column-names-and-the-cli-in-packs-sdk-1-7-5/47231/5 "2024-03-14T03:49:14Z")

</div>

We’re planning to fix cross-doc to use this `displayName` feature soon!

---

<div class="post-metadata">

**Author:** ![Troy\_Larson](https://yyz1.discourse-cdn.com/coda1/user_avatar/connect.superhuman.com/troy_larson/32/29176_2.png) [@Troy\_Larson](https://connect.superhuman.com/u/Troy_Larson)\
**Post date:** [March 14, 2024, 7:58am UTC](https://connect.superhuman.com/t/improvements-to-column-names-and-the-cli-in-packs-sdk-1-7-5/47231/6 "2024-03-14T07:58:28Z")

</div>

Thank you!!! I use AirTable for my Pack Explorer!
