Project Management migration
Field-level mapping, validation, and rollback between WP Project Manager and monday Work Management. We move data and schema; workflows are rebuilt natively in monday Work Management.
WP Project Manager
Source
monday Work Management
Destination
Compatibility
10 of 14
objects map 1:1 between WP Project Manager and monday Work Management.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from WP Project Manager to monday.com is a structural migration that begins with a constraint no other FlitStack AI migration faces: WP Project Manager has no public REST API or webhook system. Every record must be extracted through direct SQL queries against a WordPress staging copy before any monday.com API insert begins. We extract Projects from wp_cpm_projects, Tasks and Milestones from wp_cpm_messages, Subtask hierarchies from wp_cpm_task_relations, and Comments from wp_cpm_task_comments. WordPress user IDs resolve to monday.com team members via email lookup. Custom Field values stored as PHP-serialized strings in wp_postmeta are deserialized and normalized into monday.com column types (text, number, date, dropdown, person, file) before import. File attachments are extracted from the WordPress media library and re-attached via monday.com's file upload API. We do not migrate Kanban board state (JavaScript-serialized in wp_postmeta with no stable schema), Invoice records (tightly coupled to WooCommerce and Stripe with no clean export path), or Workflows and Automations (not data records; we deliver a written automation inventory for the admin to rebuild in monday.com).
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 WP Project Manager object lands in monday Work Management, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
WP Project Manager
Project
monday Work Management
Board
1:1WP Project Manager Projects (stored in wp_cpm_projects) map to monday.com Boards. Each Project's title, description, start date, and end date map to the Board's name, description, and date range columns. Project visibility (public/private) maps to monday.com Board privacy settings. We extract project-level user role assignments from wp_cpm_project_members and apply them as Board-level permissions in monday.com Workspace during migration. Projects are imported first as the top-level container so that all child records (Tasks, Milestones) can resolve their parent-project lookup.
WP Project Manager
Task
monday Work Management
Item
1:1WP Project Manager Tasks (records with type=task in wp_cpm_messages) map to monday.com Items within a Board. Task title, description (stored as post_content), due date, priority (high/medium/low), and status (open/archived) map to monday.com Item name, text column, date column, priority column, and status automation or label column. The original wp_cpm_messages task_id is preserved in a text column for reconciliation. Tasks reference their parent project via project_id, which we resolve to the monday.com Board ID during the mapping phase.
WP Project Manager
Subtask
monday Work Management
Sub-item
1:manyWP Project Manager Subtasks are stored in wp_cpm_task_relations linked to a parent task_id. Each Subtask is a child record with its own title, description, due date, assignee, and status. We reconstruct the subtask hierarchy by iterating wp_cpm_task_relations and creating monday.com Sub-items under the parent Item that corresponds to the parent task. The subtask-to-parent relationship is preserved 1:1 in monday.com's Sub-items structure. If a task has multiple levels of subtasks, we flatten them to a single level of Sub-items as monday.com does not support nested Sub-items beyond one level.
WP Project Manager
Milestone
monday Work Management
Group or Label
lossyWP Project Manager Milestones (records with type=milestone in wp_cpm_messages) are project-level milestones with title, due date, and linked task_ids. We offer two migration strategies: map Milestones to monday.com Groups (with the milestone title as group name and linked tasks as items within the group), or map them to Labels with a dedicated label color. The choice depends on whether the customer uses Groups structurally in their monday.com boards or relies on Labels for classification. Milestone due dates migrate to a date column on the milestone label or as a milestone date field if the board uses the Timeline or Gantt view.
WP Project Manager
Comment
monday Work Management
Update
1:1WP Project Manager Comments (stored in wp_cpm_task_comments linked to task_id) map to monday.com Updates on Items. Comment body, author (WordPress user ID resolved to monday.com user), timestamp, and any attachment file IDs migrate to the Update body with author attribution. File attachment references in comments are resolved by extracting the attachment post record from wp_posts and uploading the file to monday.com before creating the Update so that the file attachment appears inline. Updates are inserted in chronological order by timestamp.
WP Project Manager
File Attachment
monday Work Management
File
1:1File attachments in WP Project Manager are WordPress media library entries (post_type=attachment in wp_posts) with post_parent pointing to the task or comment. Files reside in wp-content/uploads with a file path stored in guid and _wp_attached_file meta. We extract the file paths, download the files via SFTP or the hosting file manager, and upload them to monday.com via the monday.com Files API, attaching each file to the corresponding Item. Absolute URL references containing the source domain are normalized to strip the domain and preserve only the path. The maximum file size in monday.com is 500MB per file; files exceeding this are flagged for the customer to store externally and link.
WP Project Manager
Custom Field
monday Work Management
Column
1:1Custom Fields in WP Project Manager are stored as PHP-serialized arrays in wp_postmeta, with field names and values varying per project setup. We run a deserialization script against wp_postmeta to extract all key-value pairs, normalize field names to lowercase_snake_case, and infer the data type (text, number, date, dropdown, person, link) by examining the PHP-serialized value. Each distinct custom field schema across projects is then created as a monday.com Column in the target Board before Item migration begins. Multi-select custom field values (stored as serialized arrays in PHP) map to monday.com dropdown columns with the values pre-populated as column options.
WP Project Manager
User and Assignee
monday Work Management
Team Member
1:1WP Project Manager stores assignees, commenters, and project administrators as WordPress user IDs referencing wp_users. We export wp_users (ID, user_email, display_name, user_registered) and match by email against the monday.com Workspace's existing team member list. Any WordPress user without a matching monday.com account goes to a reconciliation queue where the customer provisions a monday.com user before migration resumes. Role assignments per project (wp_cpm_project_members: is_admin, is_manager, is_member) are mapped to monday.com Board-level permissions (owner, editor, viewer) based on the highest role held.
WP Project Manager
Time Tracking Entry
monday Work Management
Time Tracking Column
1:1Time Tracking entries in WP Project Manager (premium module, stored in a separate sub-table) include user_id, task_id, start_time, end_time, and notes. These map to monday.com Time Tracking column entries on the corresponding Item. Each time entry's duration is computed from start_time and end_time, and the WordPress user_id is resolved to a monday.com team member for attribution. Time entry notes map to the entry description. The monday.com Time Tracking column requires Pro or Enterprise plan; we confirm the destination plan before migrating time tracking data.
WP Project Manager
Gantt Dependency
monday Work Management
Dependency Column
1:1Gantt chart dependencies in WP Project Manager are stored in wp_cpm_task_relations as serialized arrays (wp_postmeta with meta_key patterns like _pm_dependency). We deserialize the dependency records to extract task_id pairs representing predecessor-successor relationships. These map to monday.com Dependency columns on Items, where each Item lists its dependent Items. Start date and due date from the task records populate the monday.com Timeline or Gantt view so that dependency chains render correctly. Circular dependencies are detected during transform and flagged for the customer to resolve before import.
WP Project Manager
Recurring Task
monday Work Management
Recurring Automation (documented)
lossyRecurring task rules in WP Project Manager are stored as serialized data in wp_postmeta with recurrence pattern (daily, weekly, monthly) and next_occurrence_date. monday.com does not have a native recurring task object; recurring scheduling is handled through Automations with date-based triggers. We extract the recurrence pattern and next occurrence date and document them as a recommended monday.com Automation rule (trigger: date column equals today, action: create item or duplicate item) that the customer's admin configures post-migration. We do not create recurring instances as static records because they would be stale from the day of migration.
WP Project Manager
Invoice Record
monday Work Management
Not Migrated
1:1WP Project Manager Invoice records (premium module, tightly coupled to WooCommerce orders and Stripe transactions) have no clean export path. The Invoice module stores billing data in a format that references WooCommerce order IDs and Stripe transaction metadata without a standalone export. We do not migrate Invoice financial records. Before migration begins, we recommend exporting invoices as PDF reports from WP Project Manager's UI and storing them in a shared drive. The associated task and time tracking data migrates normally; the customer re-creates invoices in their preferred accounting tool post-migration.
WP Project Manager
Kanban Board State
monday Work Management
Not Migrated
1:1WP Project Manager's Kanban column positions and visual board state are stored as JavaScript-serialized data in wp_postmeta with no stable column-schema structure. The column order and swimlane layout are client-side state rather than persisted server data, making reliable extraction impossible. We do not migrate the visual Kanban layout. Task data (title, description, assignee, due date, priority, status) migrates to monday.com Items, and the customer recreates the Kanban view in monday.com by applying the appropriate Group structure or using monday.com's native Kanban column view.
WP Project Manager
Team and Permission
monday Work Management
Workspace Permission
lossyTeam categories and project-level permission assignments in WP Project Manager are stored in plugin-specific options tables (wp_options with meta_key patterns like pm_team_ or cpm_permission_). Role assignments per user per project require careful mapping to monday.com's Workspace-level team structure and Board-level permission model. We extract all unique team-role mappings, normalize them into a permission matrix (which users have owner/editor/viewer access to which boards), and document the mapping as monday.com Workspace permission settings and Board-level invites for the customer to apply post-migration.
| WP Project Manager | monday Work Management | Compatibility | |
|---|---|---|---|
| Project | Board1:1 | Fully supported | |
| Task | Item1:1 | Fully supported | |
| Subtask | Sub-item1:many | Fully supported | |
| Milestone | Group or Labellossy | Fully supported | |
| Comment | Update1:1 | Fully supported | |
| File Attachment | File1:1 | Fully supported | |
| Custom Field | Column1:1 | Fully supported | |
| User and Assignee | Team Member1:1 | Fully supported | |
| Time Tracking Entry | Time Tracking Column1:1 | Fully supported | |
| Gantt Dependency | Dependency Column1:1 | Fully supported | |
| Recurring Task | Recurring Automation (documented)lossy | Fully supported | |
| Invoice Record | Not Migrated1:1 | Fully supported | |
| Kanban Board State | Not Migrated1:1 | Not supported | |
| Team and Permission | Workspace Permissionlossy | 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.
WP Project Manager gotchas
No public API forces database-level migration
WordPress user table is the identity layer
Serialized PHP data in custom fields and settings
Attachment files are not embedded in the database
Invoice and Stripe data lacks clean export path
monday Work Management gotchas
Subitems have no bulk export endpoint
API complexity budget constrains query depth
Daily call limits vary sharply across plan tiers
Automation and integration rules do not export via API
Saved views are not exposed via API
Pair-specific challenges
Migration approach
WordPress staging copy and database extraction
We coordinate with the customer to provision a read-only staging copy of the WordPress site or a database export (phpMyAdmin SQL dump) covering the relevant plugin tables: wp_cpm_projects, wp_cpm_messages, wp_cpm_task_relations, wp_cpm_task_comments, wp_users, wp_posts (attachment records), wp_postmeta (custom fields, Gantt data, recurring rules). We validate the extract by counting records per table and confirming foreign key relationships (project_id on tasks, task_id on subtasks and comments) before any transformation work begins. The production WordPress database is not accessed.
monday.com workspace and board schema creation
We create the monday.com Boards corresponding to WP Project Manager Projects, applying the board type (Shareable, Private, or Project) and workspace assignment. Before any Items are imported, we create all Column definitions in each Board by normalizing the deserialized custom fields from wp_postmeta into typed monday.com columns (text, number, date, dropdown, person, link, file). Milestone strategy is confirmed with the customer (Groups or Labels), and any Gantt dependencies are mapped to monday.com Dependency columns. Workspace team member invites are confirmed based on the WordPress user-to-monday.com lookup resolution.
WordPress user resolution and team provisioning
We export wp_users (ID, user_email, display_name, user_registered) and match against the monday.com Workspace's existing team members by email. Any WordPress user without a matching monday.com account is added to a reconciliation report with display_name and email for the customer to provision. We also extract project-level role assignments from wp_cpm_project_members to build the permission matrix for Board-level permissions. This step gates all subsequent record imports because OwnerId references on monday.com Items require a valid team member.
Project and task migration in dependency order
We migrate in strict dependency order: Boards (from Projects) first, then Items (from Tasks) within each Board, then Sub-items (from Subtasks) under their parent Items, then Updates (from Comments) on Items, then Files attached to Items. Milestones are created as Groups or Labels depending on the agreed strategy. Each phase emits a row-count reconciliation report comparing source table counts to destination API insert counts. Any records that fail validation (missing required columns, unresolvable parent lookups, unmapped custom field values) are logged to an exception report for customer review.
Custom field normalization and deserialization
We run a PHP unserialize() pass against all wp_postmeta records with meta_key patterns indicating custom fields (typically keys containing cpm_custom_field or pm_cf_), recurring task rules, and Gantt dependency data. Each deserialized value is type-inferred (string, integer, boolean, array, date) and mapped to the corresponding monday.com Column type created in Step 2. For multi-select fields stored as PHP arrays, we explode the values into monday.com dropdown options. Any deserialization failures (corrupt serialization, encoding mismatches) are flagged per record_id in the migration summary with the raw value preserved as a text fallback.
File extraction, transfer, and attachment
We extract attachment records from wp_posts (post_type=attachment) and wp_postmeta (_wp_attached_file, _wp_attachment_metadata), resolve each to the corresponding task_id via post_parent, and download the files from the WordPress hosting environment via SFTP. Files are uploaded to monday.com via the Files API and attached to the corresponding Item. Absolute URL references in comment body text are normalized to strip the source domain. Files exceeding 500MB are flagged for external storage; files with unrecognized MIME types are flagged for manual review.
Cutover, delta migration, and automation handoff
We freeze WP Project Manager writes during cutover and run a final delta migration of any records modified during the migration window by comparing last_modified timestamps to the migration start time. monday.com becomes the system of record once the delta pass completes and reconciles. We deliver the automation inventory documenting each WP Project Manager workflow with its trigger, conditions, and recommended monday.com Automation equivalent, plus the recurring task recurrence rules as documented Automation recipes. We support a one-week hypercare window for reconciliation issues. We do not rebuild WP Project Manager workflows as monday.com Automations inside the migration scope; that is a separate configuration engagement.
Platform deep dives
WP Project Manager
Source
Strengths
Weaknesses
monday Work Management
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 WP Project Manager and monday Work Management.
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
WP Project Manager: No vendor-imposed rate limit; effective ceiling is set by the host's WordPress configuration (PHP execution time, server resources)..
Data volume sensitivity
WP Project Manager 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 WP Project Manager to monday Work Management migration scoping. Not seeing yours? Book a call.
Walk through your WP Project Manager to monday Work Management migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave WP Project Manager
Other ways to arrive at monday Work Management
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.