Project Management migration
Field-level mapping, validation, and rollback between Fruux and Trello. We move data and schema; workflows are rebuilt natively in Trello.
Fruux
Source
Trello
Destination
Compatibility
7 of 12
objects map 1:1 between Fruux and Trello.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Fruux to Trello is a shift from a CalDAV/CardDAV sync service to a card-based project management platform. Fruux stores tasks as VTODO components in CalDAV collections, calendars as VEVENT components in iCalendar streams, and contacts as vCard blobs on CardDAV endpoints. Trello does not have native CalDAV, CardDAV, or contact management objects, so we transform every Fruux object into a Trello-native construct. Fruux task lists become Trello boards with lists per source-task-list; Fruux calendar events become Trello cards with start dates, due dates, and descriptions carrying the event metadata; Fruux contacts become cards in a dedicated Contacts board with custom fields holding phone, email, and address data. Fruux Bookmarks do not migrate because they use a proprietary format with no export specification. We do not migrate Fruux tasks as code or automations; Trello Butler rules and Power-Up automations require manual rebuild post-migration.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Fruux object lands in Trello, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Fruux
VTODO (Task List item)
Trello
Card
1:1Fruux stores task items as VTODO components within CalDAV task-list collections. Each distinct CalDAV task-list collection in Fruux becomes a dedicated Trello board; each VTODO item within that collection becomes a card in the corresponding board. The Fruux VTODO SUMMARY maps to the Trello card name. STATUS (COMPLETED/NEEDS-ACTION) maps to Trello card checklist completion or card archival at customer preference. DUE maps to Trello card Due Date; CREATED and LAST-MODIFIED timestamps are preserved as custom fields. Fruux's lack of a native assignee model means task ownership is preserved as a card label or custom member field at scoping discretion.
Fruux
CalDAV Task List Collection
Trello
Trello Board + List
1:manyFruux allows multiple independent CalDAV task lists per user. Each source task-list collection is mapped to a separate Trello board. Within each board, a default To Do list is created. If the source task list contains sub-categories or tags, additional Trello Lists are created per category and cards are distributed accordingly. Fruux task lists with no internal categorization are migrated as a single board with one list. Teams using Fruux Team tier with multiple shared task lists receive one Trello board per source list.
Fruux
VEVENT (Calendar Event)
Trello
Card (Calendar Board)
1:1Fruux calendars are CalDAV collections containing iCalendar VEVENT components with RFC 5545 properties (DTSTART, DTEND, SUMMARY, DESCRIPTION, LOCATION, RRULE for recurring events). Each Fruux calendar becomes a dedicated Trello board. Each VEVENT becomes a card in that board with DTSTART mapped to card start date, DTEND mapped to card due date if applicable, SUMMARY as card name, DESCRIPTION carrying the VEVENT description, and LOCATION as a custom field. Recurrence rules (RRULE) are preserved as text in the card description because Trello has no native recurrence model; the customer rebuilds recurring cards via Butler rules post-migration.
Fruux
Calendar Subscription (webcal/ICS feed)
Trello
Card (URL attachment or link field)
1:1Fruux iCalendar subscriptions appear as read-only CalDAV calendars pointing to external webcal or ICS feed URLs. We extract the subscription URL and create a Trello card in the corresponding calendar board with the subscription URL stored as a link attachment or as a custom URL field. If the subscription URL is private (requires authentication), we flag this at scoping and document the URL so the customer's admin can re-register the subscription in Trello or a calendar app. Trello does not natively refresh ICS subscriptions, so calendar-level sync requires a third-party integration or manual re-subscription.
Fruux
vCard Contact (RFC 6350)
Trello
Card (Contacts Board)
lossyFruux contacts are exported via CardDAV as vCard 3.0 or 4.0 blobs (FN, N, EMAIL, TEL, ADR, ORG, PHOTO). Trello has no native contact management object, so we create a dedicated Contacts Trello board and model each Fruux contact as a card. FN becomes the card name. EMAIL (work and home), TEL (work and home), ADR, and ORG map to Trello Custom Fields (Text type for email and org, Text for phone). Fruux multi-address-book support maps to separate Trello boards per address book. Contact photos are stored as card attachments if the photo blob is small enough; large photos are flagged for manual re-upload.
Fruux
CardDAV Address Book
Trello
Trello Board
1:1Fruux supports multiple CardDAV address books per user, each containing vCard contact records. Each source address book is mapped to a separate Trello board in the destination. Board naming follows the Fruux address book display name. Contacts within each address book become cards in the corresponding board as described in the vCard mapping. If the destination workspace has naming conventions for contact boards, we apply them during configuration.
Fruux
Fruux Task List (multiple task lists)
Trello
Multiple Trello Boards
1:manyFruux allows users to create multiple independent task lists. When migrating to Trello, each source Fruux task list is split into its own Trello board. If the customer uses Fruux Team tier with shared team task lists, each shared list becomes a Trello board shared with the relevant workspace members. Fruux Pro users with up to 10 device sync but single personal task lists receive one Trello board per source list. We flag the list-to-board split at scoping and confirm the desired workspace organization before migration begins.
Fruux
Fruux Note (proprietary format)
Trello
Card Description
1:1Fruux Notes are stored in a proprietary format with no CardDAV or CalDAV binding. We attempt to export accessible Notes via the Fruux web application scraping path and convert the content to plain text. Each Note becomes a Trello card in a dedicated Notes board (or a designated list within an existing board per customer preference) with the Note content as the card description. Rich formatting, embedded media, and Fruux-specific styling cannot be guaranteed to transfer. Customers with heavy Notes usage are warned that formatting loss is expected and should plan for manual review post-migration.
Fruux
Fruux Bookmark
Trello
Card Description (link documentation)
1:1Fruux Bookmarks are stored in a proprietary internal format not accessible via CardDAV or CalDAV. The web API documentation does not define bookmark export endpoints. We attempt web application scraping but cannot guarantee structural fidelity. Migrated Bookmarks are documented as plain-text URL entries in a dedicated Trello board's cards, with the bookmark title as card name and URL as a custom field or card description link. Customers relying on Fruux Bookmarks for active workflow should plan to recreate bookmark collections manually in Trello or a dedicated bookmark manager post-migration.
Fruux
Calendar Subscription (webcal/ICS feed)
Trello
Card Custom URL Field
1:1Fruux iCalendar subscriptions are stored as external ICS or webcal feed URLs within the Fruux CalDAV hierarchy. We export each subscription URL and create a Trello card in the corresponding calendar board with the URL stored as a custom URL field. Subscription URLs requiring authentication or containing private calendar data are flagged during scoping for the customer's admin to re-register post-migration. Trello does not natively refresh ICS subscriptions, so teams relying on live calendar sync from Fruux feeds need to re-establish those subscriptions in a compatible calendar client (Google Calendar, Fantastical, or similar) alongside Trello.
Fruux
Fruux Contact Groups
Trello
Trello Labels
lossyFruux CardDAV address books support contact groups (GROUP vCard component or X-ADDRESSBOOKSERVER-MEMBER references). When migrating to Trello, contact groups are mapped to Trello Labels on the corresponding Contacts board cards. Label names match the Fruux group name. If a contact belongs to multiple groups, it receives multiple labels. Label color assignment is configured during migration to provide visual grouping in the Contacts board. Customers choosing to use Labels as the group-semantic equivalent confirm the labeling scheme during scoping.
Fruux
Conflict Resolution Artifacts
Trello
Trello Card (duplicate flagged)
lossyFruux preserves server-side copies when the same record is edited on multiple devices simultaneously, creating duplicate contacts or events. We detect duplicates by comparing UID fields and FN/NAME fields during the transform phase. Suspected duplicates are imported into Trello as cards with a Duplicate Flag label, and a deduplication report is delivered to the customer for manual review before deletion. For contacts, UID comparison is definitive; for calendar events, DTSTART plus SUMMARY comparison is used as a proxy. This approach prevents silent duplicate creation while giving the customer final authority over which record to retain.
| Fruux | Trello | Compatibility | |
|---|---|---|---|
| VTODO (Task List item) | Card1:1 | Fully supported | |
| CalDAV Task List Collection | Trello Board + List1:many | Fully supported | |
| VEVENT (Calendar Event) | Card (Calendar Board)1:1 | Fully supported | |
| Calendar Subscription (webcal/ICS feed) | Card (URL attachment or link field)1:1 | Fully supported | |
| vCard Contact (RFC 6350) | Card (Contacts Board)lossy | Fully supported | |
| CardDAV Address Book | Trello Board1:1 | Fully supported | |
| Fruux Task List (multiple task lists) | Multiple Trello Boards1:many | Fully supported | |
| Fruux Note (proprietary format) | Card Description1:1 | Fully supported | |
| Fruux Bookmark | Card Description (link documentation)1:1 | Fully supported | |
| Calendar Subscription (webcal/ICS feed) | Card Custom URL Field1:1 | Fully supported | |
| Fruux Contact Groups | Trello Labelslossy | Fully supported | |
| Conflict Resolution Artifacts | Trello Card (duplicate flagged)lossy | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Fruux gotchas
No CSV import blocks bulk contact migrations
Sync failures with Apple DAV clients cause data loss
Bookmarks and Notes have no exportable standard format
No public rate-limit or quota documentation
Conflict-resolution artifacts require deduplication
Trello gotchas
Billing model uses maximum seat quantity at term midpoint
Custom Field data historically stored in pluginData
API rate limits are token-gated and can block bulk migration
Guest-to-paid seat conversion triggers on multi-board membership
Automation command runs are capped per plan and overage triggers upgrade pressure
Pair-specific challenges
Migration approach
Fruux account audit and object inventory
We authenticate against the Fruux CalDAV and CardDAV principal URL (dav.fruux.com) using the customer's credentials. We enumerate all reachable collections: CalDAV calendar-home-set (VEVENT and VTODO collections) and CardDAV addressbook-home-set (vCard collections). We count distinct calendars, task lists, contacts, and subscription feeds. We identify conflict-resolution artifacts by querying each collection for records with duplicate UID prefixes. We flag Bookmarks and Notes accessible via web scraping for best-effort migration and confirm the inventory with the customer before extraction begins.
CalDAV and CardDAV bulk extraction
We stream full exports from each Fruux collection using CalDAV REPORT queries (calendar-query for VEVENT, calendar-multiget for VTODO) and CardDAV addressbook-multiget for vCard contacts. We download RFC-compliant iCalendar and vCard blobs rather than any proprietary Fruux format. For calendar subscriptions, we extract the webcal or ICS subscription URL from the Fruux collection properties. We implement conservative request pacing with retry-on-503 throughout extraction due to Fruux's undocumented rate limits. The extraction phase produces a complete snapshot of all migratable Fruux data before any writes to Trello.
Transform and deduplication
We transform Fruux data into Trello API-compatible payloads. VTODO items are mapped to Trello card creation payloads with due dates, start dates, and descriptions. VEVENT items are mapped to cards in their respective calendar boards. vCard contacts are mapped to cards in a Contacts board with custom fields for email, phone, address, and organization. We apply the deduplication logic against the transform output, flagging suspected duplicates with a label. RRULE recurrence strings are extracted as plain-text descriptions on each card. Fruux contact groups are mapped to Trello Labels during this phase.
Trello workspace and board provisioning
We authenticate against the Trello REST API using the customer's Trello API key and token. We create one Trello board per source Fruux calendar, one Trello board per source Fruux task list, and one Trello board per source Fruux address book. For contacts, we also configure Custom Fields on the Contacts board: Email (Text), Phone (Text), Address (Text), Organization (Text), and Contact Group (Labels). We create default Lists (To Do, Doing, Done) within each new board. Board visibility is set to Private by default unless the customer specifies Workspace visibility during scoping.
Bulk card creation and parent-record resolution
We create Trello cards via the Trello REST API (POST /1/cards) in dependency order. Calendar boards are populated first (one card per VEVENT), followed by task-list boards (one card per VTODO), followed by the Contacts board. For each card, we resolve the correct List by matching source Fruux task-list or calendar context. We set due dates, start dates, descriptions, and custom field values from the transform output. Labels are applied for contact groups and duplicate flags. We implement batch creation with Trello's documented rate limits and exponential backoff on 429 responses. Attachments for contact photos are uploaded via Trello's attachment API if under the size limit.
Validation, deduplication handoff, and migration report
We run post-migration reconciliation comparing Fruux record counts against Trello card counts per board. We verify that due dates, start dates, descriptions, and custom field values are populated on a representative sample of cards. We deliver the deduplication report listing flagged cards with Duplicate Flag labels and original UID references. We deliver a written inventory of Fruux Bookmarks and Notes with best-effort content where extracted. We do not rebuild Butler rules, Power-Up automations, or calendar subscriptions; the report documents these for the customer's admin to rebuild post-migration.
Platform deep dives
Fruux
Source
Strengths
Weaknesses
Trello
Destination
Strengths
Weaknesses
Complexity grading
Standard Project Management migration. 3 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Fruux and Trello.
Object compatibility
3 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Fruux: Not publicly documented — Fruux has not published rate-limit headers or quota thresholds.
Data volume sensitivity
Fruux doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Fruux to Trello migration scoping. Not seeing yours? Book a call.
Walk through your Fruux to Trello migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Fruux
Other ways to arrive at Trello
Same-Project Management migrations
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.