Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

Unwanted parsing when editing or adding fields of type text in the API

Hi

I think there is an issue with the REST API.

I am trying to use Edit or Add actions to push fields that I have defined as type "text" in an appsheet DB table. However, if they are fields that could be considered numeric or datetime (i.e: "0.0" or "04/30/2025 19:35:56") the request goes though and the edit or add gets made, but they are parsed into "0" or "2025-04-30T19:35:56", which is unexpected as I would like the text to be kept exactly as I send it in the body of request. 

Thanks!

1 2 21
2 REPLIES 2

Hi @jbermeo ,
You’re right — AppSheet’s API tends to auto-parse text that looks like numbers or dates.

One workaround: wrap your values in explicit quotes or add a non-numeric character (like a space or letter) to force it to stay as text.

It’s also worth raising this with AppSheet support — they may have a setting or improvement planned.

Hi,

Thank you for raising this issue.

What you're experiencing is due to automatic type coercion in AppSheet's backend when processing API requests. Even though you've defined the field type as "text" in your table schema, if the content of the value resembles a number or a datetime (e.g., "0.0" or "04/30/2025 19:35:56"), AppSheet may attempt to interpret and store it as its closest matching data type, resulting in unintended transformations like "0.0" becoming "0" or the datetime string being reformatted.

Unfortunately, this behavior can happen when the platform tries to normalize data for consistency, particularly if the column's data type is inferred differently at the storage level (e.g., in Google Sheets or Excel, which may auto-format content).

Suggested Workarounds:

  1. Force string formatting: Try wrapping your values with characters that make them clearly non-numeric, such as appending a non-numeric character (e.g., "0.0_" or "04/30/2025 19:35:56Z"), and then stripping or interpreting it on display or in formulas.
  2. Escape special formats: If you’re using JSON in the body of your request, ensure the values are double-quoted strings and not interpreted as numbers:

"YourTextField": "0.0"

  1. However, if AppSheet still interprets the value after receipt, this may not prevent conversion.
  2. Use a Virtual Column: In some cases, creating a virtual column with a formula that treats the value strictly as text (e.g., TEXT([YourField])) can help retain formatting for display or downstream usage.
  3. Contact Support for Escaping Options: If preserving exact formatting is critical, it’s best to reach out to AppSheet Support to see if they can disable parsing or offer an escape mechanism specific to the API layer.

Let me know if you'd like help implementing any of these workarounds or drafting a support request.