sdk/v2.30.0

twentyhq/twentysdk/v2.30.0Aug 11, 2026by twenty-pr[bot]

AI Summary

SDK updates for v2.30.0, focusing on multi-turn AI chat, agent scoping, and new widget types.

Key Highlights

  • Multi-turn AI chat support
  • RunAgent on behalf of a specific workspace member
  • Widget types (summary/transcript)

Breaking Changes

  • Remove subdomainMinLength from ClientConfig
  • Remove cursor-pagination types from metadata API

New Features

  • RunAgent accepts messages array for multi-turn conversations
  • RunAgent on behalf of a specific workspace member
  • Widget types (summary/transcript)
  • User.isWorkspaceCreator field

Full Release Notes

<!-- generated-release-notes v1 -->

## ⚠️ Breaking changes

- Remove any reference to `clientConfig.subdomainMinLength` — the field is deleted from `ClientConfig` in `twenty-client-sdk`. ([#23915](https://github.com/twentyhq/twenty/pull/23915)) by @ijreilly
- Cursor-pagination types from the metadata API (`FieldEdge`, `FieldFilter`, `CursorPaging`, `PageInfo`, `ConnectionCursor`, and comparison inputs) are removed; switch to the offset-based equivalents in the updated schema. ([#23925](https://github.com/twentyhq/twenty/pull/23925)) by @abdulrahmancodes

## 🌟 Highlights

- BREAKING: `subdomainMinLength` is removed from `ClientConfig` in `twenty-client-sdk` — drop any reference to `clientConfig.subdomainMinLength`. ([#23915](https://github.com/twentyhq/twenty/pull/23915))
- BREAKING: Cursor-pagination types from the metadata API (`FieldEdge`, `FieldFilter`, `CursorPaging`, `PageInfo`, `ConnectionCursor`) are removed following the nestjs-query migration. ([#23925](https://github.com/twentyhq/twenty/pull/23925))
- `runAgent` now accepts a `messages` array (alternating user/assistant turns) for multi-turn bot conversations; existing `prompt`-only calls are unchanged. ([#23395](https://github.com/twentyhq/twenty/pull/23395))
- `runAgent` can now execute on behalf of a specific workspace member, scoping the agent to that user's permissions. ([#23470](https://github.com/twentyhq/twenty/pull/23470))
- `CALL_RECORDING_SUMMARY` and `CALL_RECORDING_TRANSCRIPT` are registered as new widget types and appear in `twenty-client-sdk` generated types. ([#23864](https://github.com/twentyhq/twenty/pull/23864))

## ✨ New features

- Pass a `messages` array (alternating user/assistant turns) to `runAgent` for multi-turn bot conversations; the existing `prompt` field continues to work for one-shot calls. ([#23395](https://github.com/twentyhq/twenty/pull/23395)) by @abdulrahmancodes
- New option on `runAgent` lets your app execute an agent as a specific workspace member, capping the agent's permissions to that user's role. ([#23470](https://github.com/twentyhq/twenty/pull/23470)) by @abdulrahmancodes
- `CALL_RECORDING_SUMMARY` and `CALL_RECORDING_TRANSCRIPT` are now registered widget types; they appear in `twenty-client-sdk` generated type definitions. ([#23864](https://github.com/twentyhq/twenty/pull/23864)) by @ehconitin
- `User.isWorkspaceCreator` is now a resolved GraphQL field, accessible through `twenty-client-sdk` generated types. ([#23881](https://github.com/twentyhq/twenty/pull/23881)) by @bosiraphael

## 💅 Improvements & UX

- Minimum allowed subdomain length is now 1 character instead of 3; update any client-side subdomain validation that assumed the old floor. ([#23871](https://github.com/twentyhq/twenty/pull/23871)) by @ijreilly

## 🐛 Bug fixes

- Logic function layer builds no longer die with out-of-memory errors when an app bundles large packages such as `twenty-ui`. ([#23805](https://github.com/twentyhq/twenty/pull/23805)) by @charlesBochet

## ⚡ Performance

- Workspace metadata cache now uses compact storage behind a server flag, reducing GC pressure on heavy traffic; no API changes. ([#23880](https://github.com/twentyhq/twenty/pull/23880)) by @charlesBochet

<details>
<summary>🏗️ Internal changes (11)</summary>

- Make subdomain minimum length configurable via env var ([#23209](https://github.com/twentyhq/twenty/pull/23209)) by @ijreilly
- Add a book-a-call onboarding step for qualified leads ([#23521](https://github.com/twentyhq/twenty/pull/23521)) by @bosiraphael
- Feat/advanced text editor capability presets ([#23657](https://github.com/twentyhq/twenty/pull/23657)) by @ijreilly
- feat(workflow): dispatch automated triggers from core behind a flag ([#23775](https://github.com/twentyhq/twenty/pull/23775)) by @thomtrp
- Bump vulnerable dependencies flagged by ECR image scanning ([#23813](https://github.com/twentyhq/twenty/pull/23813)) by @charlesBochet
- Add nested relation Field widgets on record page layouts ([#23815](https://github.com/twentyhq/twenty/pull/23815)) by @FelixMalfait
- Feat/list view type ([#23829](https://github.com/twentyhq/twenty/pull/23829)) by @neo773
- Self-host every font instead of loading them from Google ([#23859](https://github.com/twentyhq/twenty/pull/23859)) by @FelixMalfait
- Add full-page AI chat mode with records as side panel artifacts ([#23929](https://github.com/twentyhq/twenty/pull/23929)) by @FelixMalfait
- Add List View lab icon and make lab feature flag icons mandatory ([#23930](https://github.com/twentyhq/twenty/pull/23930)) by @FelixMalfait
- Make LIST a widget layout instead of a table in disguise ([#23940](https://github.com/twentyhq/twenty/pull/23940)) by @FelixMalfait

</details>

## 🎉 New contributors

- @blockgroot made their first contribution in https://github.com/twentyhq/twenty/pull/23758
- @Dumeng made their first contribution in https://github.com/twentyhq/twenty/pull/23913

<details>
<summary>Full changelog (23 PRs)</summary>

- Make subdomain minimum length configurable via env var ([#23209](https://github.com/twentyhq/twenty/pull/23209)) by @ijreilly
- Add messages support to runAgent for multi-turn bot conversations ([#23395](https://github.com/twentyhq/twenty/pull/23395)) by @abdulrahmancodes
- feat(run-agent): let apps run an agent on behalf of a workspace member ([#23470](https://github.com/twentyhq/twenty/pull/23470)) by @abdulrahmancodes
- Add a book-a-call onboarding step for qualified leads ([#23521](https://github.com/twentyhq/twenty/pull/23521)) by @bosiraphael
- Feat/advanced text editor capability presets ([#23657](https://github.com/twentyhq/twenty/pull/23657)) by @ijreilly
- chore: bump version to 2.28.0 ([#23730](https://github.com/twentyhq/twenty/pull/23730)) by @twenty-pr
- feat(workflow): dispatch automated triggers from core behind a flag ([#23775](https://github.com/twentyhq/twenty/pull/23775)) by @thomtrp
- fix(twenty-server): stop the yarn-install Lambda from running out of memory ([#23805](https://github.com/twentyhq/twenty/pull/23805)) by @charlesBochet
- Bump vulnerable dependencies flagged by ECR image scanning ([#23813](https://github.com/twentyhq/twenty/pull/23813)) by @charlesBochet
- Add nested relation Field widgets on record page layouts ([#23815](https://github.com/twentyhq/twenty/pull/23815)) by @FelixMalfait
- chore: bump version to 2.29.0 ([#23820](https://github.com/twentyhq/twenty/pull/23820)) by @twenty-pr
- Feat/list view type ([#23829](https://github.com/twentyhq/twenty/pull/23829)) by @neo773
- Self-host every font instead of loading them from Google ([#23859](https://github.com/twentyhq/twenty/pull/23859)) by @FelixMalfait
- Add call recording transcript and summary widget types ([#23864](https://github.com/twentyhq/twenty/pull/23864)) by @ehconitin
- Revert "Make subdomain minimum length configurable via env var" ([#23871](https://github.com/twentyhq/twenty/pull/23871)) by @ijreilly
- perf(server): compact and cold-store workspace cache payloads behind a feature flag ([#23880](https://github.com/twentyhq/twenty/pull/23880)) by @charlesBochet
- Gate the workspace setup AI chat to workspace creators ([#23881](https://github.com/twentyhq/twenty/pull/23881)) by @bosiraphael
- chore: bump version to 2.30.0 ([#23914](https://github.com/twentyhq/twenty/pull/23914)) by @twenty-pr
- Remove deprecated subdomainMinLength from ClientConfig ([#23915](https://github.com/twentyhq/twenty/pull/23915)) by @ijreilly
- [BREAKING CHANGE] refactor(server): migrate the metadata API off nestjs-query ([#23925](https://github.com/twentyhq/twenty/pull/23925)) by @abdulrahmancodes
- Add full-page AI chat mode with records as side panel artifacts ([#23929](https://github.com/twentyhq/twenty/pull/23929)) by @FelixMalfait
- Add List View lab icon and make lab feature flag icons mandatory ([#23930](https://github.com/twentyhq/twenty/pull/23930)) by @FelixMalfait
- Make LIST a widget layout instead of a table in disguise ([#23940](https://github.com/twentyhq/twenty/pull/23940)) by @FelixMalfait

</details>

**Full Changelog**: https://github.com/twentyhq/twenty/compare/sdk/v2.27.0...sdk/v2.30.0