v1.1.0
twentyhq/twentyv1.1.0Jul 10, 2025by charlesBochet
AI Summary
Twenty v1.1.0 is a significant release following the v1 launch, introducing AI agent capabilities (IMAP driver integration, MCP integration, agent chat tab), major workflow enhancements (filters, queue limits, multi-record execution), and completing the hotkey-to-focus-stack refactoring across the UI. The release also includes substantial backend improvements in migration handling, error handling, and REST API functionality.
Key Highlights
- AI Agent capabilities: IMAP driver integration, MCP integration, agent role assignment with database CRUD tools, and new agent chat tab
- Workflow system enhancements: workflow filters on diagram, queue limits per workspace, running workflow versions on multiple records, and filter actions converted to conditions
- Completed hotkey scopes replacement with focus stack across all UI components (Parts 1-6)
- Major UI/UX improvements: date picker fixes, filter improvements, dropdown refactoring to useCloseDropdown/useOpenDropdown/useToggleDropdown hooks
- Backend improvements: migration runner refactoring within transactions, improved error handling, REST API filter fixes, and workspace migration builder v2
Breaking Changes
- API keys and webhooks migration moved from version 1.3 to 1.1 - requires migration for existing installations
- createdAt and updatedAt fields set as readonly on the frontend - prevents manual editing of timestamps
- Removed useDropdown and legacy states - requires updates to any custom components using the old API
New Features
- IMAP Driver Integration for email handling
- MCP (Model Context Protocol) integration for AI
- Agent chat tab for AI agent interactions
- Tool execution messages in AI agent chat
- Export of deleted records functionality
- Workflow filters on diagram view
- Add first filter step version
- Turn filter action into conditions
- Add a limit to workflow queue per workspace
- Run workflow version on multiple records
- Empty option for select form fields
- Empty state for multi-select input
- Auto-scroll to selected menu items in CustomSlashMenu
- Blockquote icon in slash menu
- 22 branches data migration
- Store HTTP request JSON body as string
Full Release Notes
## What's Changed * docs: upgrade guide by @prastoin in https://github.com/twentyhq/twenty/pull/12857 * change log, user guide, and readme updates for v1 launch by @vickywxng in https://github.com/twentyhq/twenty/pull/12860 * fixing images url to main branch by @guillim in https://github.com/twentyhq/twenty/pull/12862 * Field metadata relation edge cases exceptions coverage by @prastoin in https://github.com/twentyhq/twenty/pull/12866 * Fix page change effect being rerun after changes on views by @bosiraphael in https://github.com/twentyhq/twenty/pull/12869 * Replace hotkey scopes by focus stack (Part 2 - Record Table, Rows and Cells) by @bosiraphael in https://github.com/twentyhq/twenty/pull/12798 * onboarding - signout button on `Choose your workspaces` modal by @ehconitin in https://github.com/twentyhq/twenty/pull/12794 * permissions - fix cancel button in create mode by @ehconitin in https://github.com/twentyhq/twenty/pull/12870 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12877 * Fix array field migration by @Weiko in https://github.com/twentyhq/twenty/pull/12874 * Refactor useDropdownV2 by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12875 * Add placeholder to generate fake form respose by @martmull in https://github.com/twentyhq/twenty/pull/12871 * Minor changelog updates + other misc issues by @vickywxng in https://github.com/twentyhq/twenty/pull/12882 * Enable the opening of email threads and calendar events from the timeline by @bosiraphael in https://github.com/twentyhq/twenty/pull/12873 * chore: improve password strength in install script (#12878) by @jezweb in https://github.com/twentyhq/twenty/pull/12896 * Updated PH banner from the README by @Bonapara in https://github.com/twentyhq/twenty/pull/12894 * Fix standard object computed metadata by @prastoin in https://github.com/twentyhq/twenty/pull/12883 * escaping special chars for events by @guillim in https://github.com/twentyhq/twenty/pull/12872 * Add empty option to select form field by @martmull in https://github.com/twentyhq/twenty/pull/12898 * fix(server): incr metadata version by @prastoin in https://github.com/twentyhq/twenty/pull/12907 * Fix upgrade command updating version during dry run by @Weiko in https://github.com/twentyhq/twenty/pull/12909 * Add fix schema array type command by @Weiko in https://github.com/twentyhq/twenty/pull/12887 * Refactor useDropdown states to component state V2 by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12911 * Import - richTextV2 import by @etiennejouan in https://github.com/twentyhq/twenty/pull/12868 * Improve FE error handling by @ijreilly in https://github.com/twentyhq/twenty/pull/12864 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12913 * Replace hotkey scopes by focus stack (Part 3 - Record Board, Cards and Inline Cells) by @bosiraphael in https://github.com/twentyhq/twenty/pull/12910 * fix(captcha): simplify captcha token refresh logic by @AMoreaux in https://github.com/twentyhq/twenty/pull/12876 * fix IndexFieldMetadata availability in IndexMetadata/ObjectMetadata in front by @etiennejouan in https://github.com/twentyhq/twenty/pull/12886 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12926 * Workspace creation - fix not found file during avatar picture copy by @etiennejouan in https://github.com/twentyhq/twenty/pull/12920 * Nitpick: psl types by @prastoin in https://github.com/twentyhq/twenty/pull/12925 * feat: IMAP Driver Integration by @neo773 in https://github.com/twentyhq/twenty/pull/12576 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12951 * feat: Add agent role assignment and database CRUD tools for AI agent nodes by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/12888 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12952 * Fix server integration tests due to expired token by @Weiko in https://github.com/twentyhq/twenty/pull/12966 * Add a limit to workflow queue per workspace by @thomtrp in https://github.com/twentyhq/twenty/pull/12908 * Store HTTP request json body as a string by @Devessier in https://github.com/twentyhq/twenty/pull/12931 * Improve RestApiExceptionFilter by @ijreilly in https://github.com/twentyhq/twenty/pull/12967 * Fix REST API filters by @prastoin in https://github.com/twentyhq/twenty/pull/12929 * Run workflow version on multiple records by @thomtrp in https://github.com/twentyhq/twenty/pull/12969 * Add workflow filters on diagram by @Devessier in https://github.com/twentyhq/twenty/pull/12974 * Fix search record for workflow objects by @MohitAgrawal16 in https://github.com/twentyhq/twenty/pull/12914 * Fix Vite stale chunk lazy loading error. by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12984 * Fixed avatar font weight and associated story by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12989 * Separate system operations from core objects in GraphQL endpoints by @ehconitin in https://github.com/twentyhq/twenty/pull/12977 * Rebase main before applying breaking change CI by @FelixMalfait in https://github.com/twentyhq/twenty/pull/12992 * Fix Raw Json Null Error by @rajatsingh23 in https://github.com/twentyhq/twenty/pull/12968 * Fix bug date picker month and year dropdown not clickable by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12963 * Connect - Update Gql schema generation by @etiennejouan in https://github.com/twentyhq/twenty/pull/13001 * Scaffold filters creation and deletion by @Devessier in https://github.com/twentyhq/twenty/pull/12990 * Dates beyond 2030 and autoscroll in select by @FelixMalfait in https://github.com/twentyhq/twenty/pull/12998 * Turn filter action into conditions by @thomtrp in https://github.com/twentyhq/twenty/pull/13005 * [#12744] UI Fix: Filter Section Separator Needs to Be Darker by @iamjeremylim in https://github.com/twentyhq/twenty/pull/12945 * Fix: Remove white gap in workflow HTTP headers input field by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/12812 * Replaced useDropdown calls by useCloseDropdown, useOpenDropdown and useToggleDropdown by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12958 * fix: update customize fields navigation to go directly to object detail page by @jezweb in https://github.com/twentyhq/twenty/pull/12904 * Miscrosoft Client errors when refreshing accessToken by @guillim in https://github.com/twentyhq/twenty/pull/12884 * Refactor migration runner within transaction by @Weiko in https://github.com/twentyhq/twenty/pull/12941 * Fix Apollo client routing for view operations in field metadata hooks by @ehconitin in https://github.com/twentyhq/twenty/pull/13012 * Update docker entry point parsing to handle postgres query paramaters by @aldalen in https://github.com/twentyhq/twenty/pull/12937 * fix: updated naming convention in action & object label by @Jagss24 in https://github.com/twentyhq/twenty/pull/12935 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13013 * fix long activity panel in deleted record details by @ehconitin in https://github.com/twentyhq/twenty/pull/12854 * 22 branches data migration by @martmull in https://github.com/twentyhq/twenty/pull/13006 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13019 * Add relations to form record output by @thomtrp in https://github.com/twentyhq/twenty/pull/13023 * Fix a hotkey scope race condition in command menu by @lucasbordeau in https://github.com/twentyhq/twenty/pull/13025 * Define server error messages to display in FE from the server by @ijreilly in https://github.com/twentyhq/twenty/pull/12973 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13028 * Add empty state to multi select input by @Devessier in https://github.com/twentyhq/twenty/pull/13029 * feat(ai): add mcp integration by @AMoreaux in https://github.com/twentyhq/twenty/pull/13004 * Fix update context and stepOutput when step running by @martmull in https://github.com/twentyhq/twenty/pull/13030 * Pretty format webhook payload example + unify expected body validation by @Devessier in https://github.com/twentyhq/twenty/pull/13034 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13040 * Prevent testing malformed workflows and allow testing workflows with cron trigger by @Devessier in https://github.com/twentyhq/twenty/pull/13045 * Fix phone input clearing its value when hitting space by @lucasbordeau in https://github.com/twentyhq/twenty/pull/13031 * Fixes greater than or equal and less than and equal filters by @lucasbordeau in https://github.com/twentyhq/twenty/pull/13033 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13049 * Fix workflow title cell not opening by @lucasbordeau in https://github.com/twentyhq/twenty/pull/13052 * Fix circular structure error in useFetchMoreRecordsWithPagination by @ehconitin in https://github.com/twentyhq/twenty/pull/13042 * feat: enable export of deleted records by @omarNaifer12 in https://github.com/twentyhq/twenty/pull/12776 * fix: align workspace switcher button in collapsed navigation drawer (#12893) by @jezweb in https://github.com/twentyhq/twenty/pull/12902 * Import - Improve phone validation by @etiennejouan in https://github.com/twentyhq/twenty/pull/12901 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13055 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13057 * Fix broken data model translation by @charlesBochet in https://github.com/twentyhq/twenty/pull/13067 * fix: fixed the update of field metadata label, icon & object by @Jagss24 in https://github.com/twentyhq/twenty/pull/13064 * Fix stories by @charlesBochet in https://github.com/twentyhq/twenty/pull/13069 * [POC] Workspace migration builder v2 by @Weiko in https://github.com/twentyhq/twenty/pull/13026 * Fix error handling by @ijreilly in https://github.com/twentyhq/twenty/pull/13072 * feat(ci): add GraphQL check workflow and update dependencies setup by @AMoreaux in https://github.com/twentyhq/twenty/pull/13075 * Replace hotkey scopes by focus stack (Part 4 - Inputs) by @bosiraphael in https://github.com/twentyhq/twenty/pull/12933 * Silent harmless AbortError by @ijreilly in https://github.com/twentyhq/twenty/pull/13080 * fix(ci): reorganize workflow steps and move cache saving to correct s… by @AMoreaux in https://github.com/twentyhq/twenty/pull/13083 * Feat - Agent chat tab by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/13061 * 22 branches 2 by @martmull in https://github.com/twentyhq/twenty/pull/13051 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13085 * Remove product hunt by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13090 * fix: blockquote icon in slash menu by @jbronssin in https://github.com/twentyhq/twenty/pull/13068 * Migration builder v2 handle `RELATION` through `fields` actions by @prastoin in https://github.com/twentyhq/twenty/pull/13076 * fix: prevent LinkAvatarChip from triggering page reload when table cells or inline cells are in edit mode by @omarNaifer12 in https://github.com/twentyhq/twenty/pull/12734 * Pass dropdownId to all closeDropdown calls in MatchColumnToFieldSelect by @cxdima in https://github.com/twentyhq/twenty/pull/13087 * Billing - fix duplicate customer in stripe + subscription constraint violation by @etiennejouan in https://github.com/twentyhq/twenty/pull/13091 * fieldmetadatatype + featurelfag creation by @guillim in https://github.com/twentyhq/twenty/pull/13021 * Set createdAt and updatedAt as readonly on the frontend by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13096 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13098 * Import - fixes by @etiennejouan in https://github.com/twentyhq/twenty/pull/13097 * Skip front config generation if index isn't writable by @niklaskorz in https://github.com/twentyhq/twenty/pull/13094 * Update yarn and remove explicit hardened mode by @niklaskorz in https://github.com/twentyhq/twenty/pull/13092 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13102 * fix relation issue by @guillim in https://github.com/twentyhq/twenty/pull/13109 * Removed useDropdown and its legacy states by @lucasbordeau in https://github.com/twentyhq/twenty/pull/13111 * Replace hotkey scopes by focus stack (Part 5 - Form field Inputs, Pages, Dialog ...) by @bosiraphael in https://github.com/twentyhq/twenty/pull/13106 * Agent chat code cleanup by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/13088 * Prevent relation update from settings by @charlesBochet in https://github.com/twentyhq/twenty/pull/13099 * Create custom StreamingRestLink for streaming API requests using @stream directive by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/13114 * Frontend tests improvements by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13115 * [field-level permissions] Upsert fieldPermission + use fieldPermission to compute permissions by @ijreilly in https://github.com/twentyhq/twenty/pull/13050 * Refactor data model settings new field folder by @charlesBochet in https://github.com/twentyhq/twenty/pull/13119 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13121 * Fix refetch cached views after field creation by @lucasbordeau in https://github.com/twentyhq/twenty/pull/13120 * Remove unwanted workflow fetch on right drawer open by @charlesBochet in https://github.com/twentyhq/twenty/pull/13122 * Add first filter step version by @thomtrp in https://github.com/twentyhq/twenty/pull/13093 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13126 * Connect logic in Workspace Entity Manager by @etiennejouan in https://github.com/twentyhq/twenty/pull/13078 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13128 * 13058 workflow with code fail to run by @martmull in https://github.com/twentyhq/twenty/pull/13118 * Fix relation field unknown target object by @charlesBochet in https://github.com/twentyhq/twenty/pull/13129 * Workspace migration v2 builder INDEX by @prastoin in https://github.com/twentyhq/twenty/pull/13100 * Api keys and webhook migration to core by @ehconitin in https://github.com/twentyhq/twenty/pull/13011 * Improve error handling by @ijreilly in https://github.com/twentyhq/twenty/pull/13130 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13134 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13135 * Replace hotkey scopes by focus stack (Part 6 - Remove Hotkey scopes 🫳🎤) by @bosiraphael in https://github.com/twentyhq/twenty/pull/13127 * Delete userWorkspace when removed from workspace by @charlesBochet in https://github.com/twentyhq/twenty/pull/13131 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13138 * feat: add auto-scroll to selected menu items in CustomSlashMenu by @jbronssin in https://github.com/twentyhq/twenty/pull/13048 * Show tool execution messages in AI agent chat by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/13117 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/13143 * Use view filters operands in step filters + migrate to twenty-shared by @thomtrp in https://github.com/twentyhq/twenty/pull/13137 * Move apikey/webhook migration command from 1.3 to 1.1 by @Weiko in https://github.com/twentyhq/twenty/pull/13146 ## New Contributors * @vickywxng made their first contribution in https://github.com/twentyhq/twenty/pull/12860 * @jezweb made their first contribution in https://github.com/twentyhq/twenty/pull/12896 * @rajatsingh23 made their first contribution in https://github.com/twentyhq/twenty/pull/12968 * @iamjeremylim made their first contribution in https://github.com/twentyhq/twenty/pull/12945 * @aldalen made their first contribution in https://github.com/twentyhq/twenty/pull/12937 * @Jagss24 made their first contribution in https://github.com/twentyhq/twenty/pull/12935 * @jbronssin made their first contribution in https://github.com/twentyhq/twenty/pull/13068 * @cxdima made their first contribution in https://github.com/twentyhq/twenty/pull/13087 * @niklaskorz made their first contribution in https://github.com/twentyhq/twenty/pull/13094 **Full Changelog**: https://github.com/twentyhq/twenty/compare/v1.0.0...v1.1.0