<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/server-value-expressions-for-data-connect-ghm5t5dsz" -->

---
title: Server Value Expressions for Data Connect | daily.dev
description: Firebase Data Connect now supports CEL (Common Expression Language) expressions for server values, expanding beyond the previous fixed set of auth.uid,...
canonical: https://daily.dev/posts/server-value-expressions-for-data-connect-ghm5t5dsz
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Server Value Expressions for Data Connect | daily.dev
og:description: Firebase Data Connect now supports CEL (Common Expression Language) expressions for server values, expanding beyond the previous fixed set of auth.uid,...
og:url: https://daily.dev/posts/server-value-expressions-for-data-connect-ghm5t5dsz
og:image: https://api.daily.dev/og/posts/ghM5t5dSZ.png
og:image:alt: Server Value Expressions for Data Connect
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Server Value Expressions for Data Connect

**[Firebase](https://daily.dev/sources/firebase-blog)** · 4 min read · 0 upvotes · 0 comments

## Summary

Firebase Data Connect now supports CEL (Common Expression Language) expressions for server values, expanding beyond the previous fixed set of auth.uid, request.time, and uuidV4(). Developers can build complex field values dynamically on the server, such as concatenating strings, prefixing IDs by region, or combining request variables, using the <field>_expr syntax on mutations and queries. This keeps sensitive computed values secure server-side rather than trusting client input, with practical examples including generating region-prefixed user IDs and formatting doctor profile display names with credentials.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://firebase.blog/posts/2025/06/dataconnect-server-values>

## Questions this post answers

### How do I use CEL expressions for server values in Firebase Data Connect?

Firebase Data Connect now supports full CEL (Common Expression Language) expressions through the auto-generated <field>_expr syntax on mutations and queries, not just the previously supported auth.uid, request.time, and uuidV4(). For example, userId_expr: "'US' + auth.uid" prefixes a user's ID with 'US', producing values like USabc123 from auth.uid abc123.

_Developers wiring up server-side computed fields can track Data Connect updates like these on daily.dev._

### What server values were supported in Firebase Data Connect before CEL expressions were added?

Before CEL expression support, Data Connect only supported three server values: auth.uid, request.time, and uuidV4(). These were used with the @default(expr: "...") directive in schema definitions or the <field>_expr syntax in mutations, for example createdAt: Timestamp! @default(expr: "request.time") to auto-populate a timestamp on record creation.

_Teams evaluating how Data Connect's server value features have evolved can follow the changes on daily.dev._

### How can I concatenate strings from request variables in a Firebase Data Connect mutation?

Use a CEL expression referencing vars (shorthand for request.variables) inside a <field>_expr, such as displayName_expr: "vars.name + ', ' + vars.degree" to concatenate a name and degree with a comma separator during insertion. The same pattern works in query filters, for example eq_expr: "vars.name + ', ' + vars.suffix" to match records built the same way.

_Developers building dynamic field logic in Data Connect can keep up with syntax changes via daily.dev._

## Similar posts on daily.dev

- [Dynamic configuration in Java with Server-Side Firebase Remote Config](https://daily.dev/posts/dynamic-configuration-in-java-with-server-side-firebase-remote-config-yvb4sfjnd) · Firebase Developers · 0 upvotes · 0 comments
- [Google Open-Sources the Common Expression Language for Python](https://daily.dev/posts/google-open-sources-the-common-expression-language-for-python-nc2x0hyw3) · InfoQ · 1 upvotes · 0 comments
- [An Introduction to JavaScript Expressions](https://daily.dev/posts/an-introduction-to-javascript-expressions-e2zljxs2l) · CSS-Tricks · 6 upvotes · 0 comments
- [Announcing CEL-expr-python: the Common Expression Language in Python, now open source](https://daily.dev/posts/announcing-cel-expr-python-the-common-expression-language-in-python-now-open-source-wuz9idgyf) · Google Open Source Blog · 0 upvotes · 0 comments
- [CEL finds a new home at github.com/cel-expr\!](https://daily.dev/posts/cel-finds-a-new-home-at-github-com-cel-expr--h9cjvwrrr) · Google Open Source Blog · 3 upvotes · 0 comments

---

Tags: [#backend](https://daily.dev/tags/backend), [#graphql](https://daily.dev/tags/graphql), [#firebase](https://daily.dev/tags/firebase)

[View this post on daily.dev](https://daily.dev/posts/server-value-expressions-for-data-connect-ghm5t5dsz)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Server Value Expressions for Data Connect","url":"https://daily.dev/posts/server-value-expressions-for-data-connect-ghm5t5dsz","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/server-value-expressions-for-data-connect-ghm5t5dsz"},"datePublished":"2026-08-23T12:18:36.576Z","dateModified":"2026-08-24T07:06:59.337Z","description":"Firebase Data Connect now supports CEL (Common Expression Language) expressions for server values, expanding beyond the previous fixed set of auth.uid,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/399470359628cd35f746255febcd2409?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/399470359628cd35f746255febcd2409?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Firebase","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Firebase","logo":"https://media.daily.dev/image/upload/s--i395oqZH--/f_auto,q_auto/v1787487448/logos/firebase-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/firebase-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/server-value-expressions-for-data-connect-ghm5t5dsz","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"backend,graphql,firebase","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Firebase","item":"https://daily.dev/sources/firebase-blog"},{"@type":"ListItem","position":3,"name":"Server Value Expressions for Data Connect"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/server-value-expressions-for-data-connect-ghm5t5dsz#faq","mainEntity":[{"@type":"Question","name":"How do I use CEL expressions for server values in Firebase Data Connect?","acceptedAnswer":{"@type":"Answer","text":"Firebase Data Connect now supports full CEL (Common Expression Language) expressions through the auto-generated <field>_expr syntax on mutations and queries, not just the previously supported auth.uid, request.time, and uuidV4(). For example, userId_expr: \"'US' + auth.uid\" prefixes a user's ID with 'US', producing values like USabc123 from auth.uid abc123. Developers wiring up server-side computed fields can track Data Connect updates like these on daily.dev."}},{"@type":"Question","name":"What server values were supported in Firebase Data Connect before CEL expressions were added?","acceptedAnswer":{"@type":"Answer","text":"Before CEL expression support, Data Connect only supported three server values: auth.uid, request.time, and uuidV4(). These were used with the @default(expr: \"...\") directive in schema definitions or the <field>_expr syntax in mutations, for example createdAt: Timestamp! @default(expr: \"request.time\") to auto-populate a timestamp on record creation. Teams evaluating how Data Connect's server value features have evolved can follow the changes on daily.dev."}},{"@type":"Question","name":"How can I concatenate strings from request variables in a Firebase Data Connect mutation?","acceptedAnswer":{"@type":"Answer","text":"Use a CEL expression referencing vars (shorthand for request.variables) inside a <field>_expr, such as displayName_expr: \"vars.name + ', ' + vars.degree\" to concatenate a name and degree with a comma separator during insertion. The same pattern works in query filters, for example eq_expr: \"vars.name + ', ' + vars.suffix\" to match records built the same way. Developers building dynamic field logic in Data Connect can keep up with syntax changes via daily.dev."}}]}
```

