Section 4 of 9
How Planning works
Everything a marketing operations lead needs to know about Planning before designing a build: what the objects are, how they connect, and the limits that quietly shape every decision.
In plain terms
Planning lets you define your own tables, link them to each other and to Workfront projects, and show them as tables, timelines, and calendars. It has firm limits — how many rows, fields, and links — and a few choices that cannot be undone, so learn those before you build.
The object model
Press Play, or select any box in the diagram, to walk through the objects one at a time.
| Object | What it is |
|---|---|
| Workspace | The frame for one organizational unit: every record type that describes how it plans. An instance can hold many, but design for as few as possible. |
| Section | A labeled group of record types inside a workspace — operational record types in one, taxonomies in another. |
| Record type | A type you define; Planning’s equivalent of a table. Unlike Workflow’s fixed Project, Task, and Issue, record types are entirely yours. |
| Record | One instance of a record type: “Summer 2026 EMEA launch” is a Campaigns record. |
| Field | A typed attribute of one record type. Fields do not transfer between record types and are not visible from the Workflow side. |
| Connection | A relationship to another record type, a Workfront object, an AEM asset or folder, or a GenStudio brand. Shows up as a field on both sides. |
| Lookup field | A field from a connected record, displayed on the connecting record. |
| Hierarchy | A parent-child chain of connected record types that adds breadcrumbs to record headers. At most 4 record types per hierarchy and 5 hierarchies per workspace. |
| View | A saved configuration of a record type page: view type, visible fields, filters, sort, grouping. |
| Request form | A form bound to a record type; each submission creates a record. |
| Automation | A rule on a record type that creates connected records or Workfront objects when its conditions are met. |
Fields
New record types start with five fields: Name, Description, Start Date, End Date, and Status. Beyond those, the field types are: single-line text, paragraph, single-select, multi-select, date, number, percentage, currency, checkbox, formula, people, created by, created date, last modified by, last modified date, approved by, approved date, and record ID — plus connection and lookup fields, which come from the connection flow rather than the field picker.
- There is no URL field. Adobe recommends single-line text for URLs.
- There is no file or attachment field. Assets attach through connected AEM assets and folders, or live on the connected Workfront project. Do not design an asset library around a Planning field.
- Single-line text holds up to 1,000 characters; paragraph up to 10,000, with at most 20 paragraph fields per record type.
- Formula fields: at most 20 per record type and 50,000 characters per expression. Planning formulas have their own syntax — not Workfront’s calculated expressions, and not a spreadsheet dialect. Check the current function list before writing one.
Connections
Connect a record type to another record type — in the same workspace on any package; across workspaces only on Planning Prime or Ultimate — or to a Workfront Project, Program, Portfolio, Company, or Group; to AEM assets and folders with an AEM license; or to GenStudio for Performance Marketing brands with a GenStudio license.
Every connection has an explicit cardinality: many-to-many, one-to-many, many-to-one, or one-to-one.
One-to-many and one-to-one move records. With those two, connecting a record somewhere new moves it out of its original connection. The interface warns you. An API write does not ask.
A record type can have at most 30 connection fields. A record can connect to at most 500 records through a multi-select connection outside a hierarchy; inside a hierarchy, a child can have at most 10 parent records.
Record type, field, or view?
Adobe’s own rule, and a good one:
- It will connect to more than one other record type → a record type. Audiences connect to Campaigns and Tactics, so Audiences is a record type, not a multi-select.
- It needs its own details that others look up → a record type.
- It only ever describes one record type → a field. Campaign size is a single-select on Campaigns.
- It is a way of looking at records → a view, not a record type. “Calendar” is not a record type.
Lookup fields
A lookup field shows a value from a connected record. It is how the plan reflects execution without anyone retyping it: the connected project’s status, shown on the campaign.
Two kinds of field cannot come across as lookups: Created by and Last modified by, and Workfront typeahead fields such as Project Owner and Project Sponsor.
Views
- Table — the default: fields as columns, records as rows, including connection and lookup fields.
- Timeline — needs at least two date fields on the record type, and can show up to 5 connected record types alongside.
- Calendar — also needs at least two date fields.
- List — only in specific contexts, such as connected pages on projects and request-form lists; not a general view.
Each user can have at most 100 views per record type. A user with View permission can apply and adjust a shared view during a session but cannot save it for everyone; that needs Manage permission on the view and a Standard license.
Two silent failures. A record with a missing start or end date, or a start after its end, simply does not appear on a timeline or calendar. And deleting a field from a table view deletes it everywhere — every other view and every place the record type is connected from. Hide the column instead, unless deletion is what you mean.
The record details page shows all fields by default. Its layout is set per record type, so changing it changes every record of that type. Add sections to group fields; use thumbnails and cover images for recognition in table and timeline views. Fields cannot be created from the record page — add them in the table view first.
Request forms
- Built per record type; each submission creates a record of that type.
- Internal sharing gives a link to Workfront users. Public sharing, off by default, creates a link anyone can submit through, including people with no Workfront account.
- Forms containing certain field types — Workfront object connections among them — cannot be shared publicly. Build the public form from plain typed fields and let an automation or Fusion scenario make the connections afterward.
- Settings hold approval rules (route for approval based on submitted values), completion rules, and the default permissions requesters get on what they submit.
- A Planning request form is not a Workfront request queue: the form creates a record, the queue creates an issue. Workflow 1 covers when to use which.
Automations
An automation is configured on a record type and triggered from a record. It can create a Planning record of a connected type; one or several Workfront projects, including one project per choice of a single- or multi-select field, optionally from a named template; or a program, portfolio, or group.
Conditions can use single-select, multi-select, single-line text, paragraph, number, checkbox, and date fields, with at most 5 referenced values across all conditions in a rule. Created objects connect back to the triggering record automatically, and running it again adds objects rather than replacing them.
It works for the administrator and silently not for the team. The person running an automation that creates Workfront objects needs permission to create those objects in Workfront plus Manage permission on the triggering record. Test as the person who will really use it.
For anything native automations cannot express — writes to other systems, scheduled runs, enrichment from a marketing platform, conditional multi-step logic — use Fusion, Workfront’s integration layer.
Permissions and licenses
Four separate grants: workspace sharing, then record type sharing, then record permissions, then view sharing.
- Sharing a workspace or record type passes down to its records by default; Contribute on a record type gives Manage on its records.
- Each record type has a default permission rule for new records. Set it deliberately, and check that automations and integrations running as a service identity can still see what they create.
- A Planning object can be shared with at most 100 entities — users, roles, teams, companies, and groups — and at most 100 records can be bulk-shared at once.
- When an organization has both products, access needs both a Workflow license type and a Planning license type. Light and Contributor users need a layout template that exposes Planning; Standard users and system administrators see it by default.
- System administrators have permission to every workspace, including ones they did not create.
Packages and limits
Package names differ between Planning bundled with Workfront and Planning sold standalone, and gates are written against combinations. Two gates change designs most often: cross-workspace connections need Planning Prime or Ultimate, and global record types — a record type added to other workspaces — need Planning Plus, or Prime or Ultimate alongside Workflow.
| What | Limit | What it means in practice |
|---|---|---|
| Sections per workspace | 50 | Rarely a constraint; most workspaces need two or three. |
| Record types per workspace | 100 | Including those created from templates. |
| Records per record type | 25,000 | The one that bites: no contact databases, impression-level data, or large asset catalogs. |
| Records per workspace | Select 25,000 · Prime 500,000 · Ultimate 1,000,000 | On Select, the whole workspace shares the ceiling of one record type. |
| Records per instance | Select 500,000 · Prime 2,000,000 · Ultimate unlimited | Across every workspace. |
| Fields per record type | 500 | Generous; usability runs out first. |
| Formula fields per record type | 20 | Budget them; tracking strings, variance, and age calculations compete. |
| Connection fields per record type | 30 | Every taxonomy link spends one. |
| Views per record type per user | 100 | Not a target. |
| Record types per hierarchy / hierarchies per workspace | 4 / 5 | Room for a fourth campaign tier, not a fifth. |
| Import file size | 1 MB in the interface, 1.5 MB by API | CSV or Excel to create record types: 5 MB, 25,000 rows, 500 columns. |
| API rate | 200 requests per minute | Size bulk loads and syncs against it. |
APIs and integration
- Planning API — REST and JSON at
https://{customer-domain}/maestro/api/v2/.... Version 1 shipped in July 2024 and version 2 in May 2026; name a version explicitly. OAuth 2.0 only — the/loginendpoint, session IDs, and API keys are not supported. Filters are structured JSON. People filters read a bare string as an Adobe IMS user ID; passidType: "WF"for a Workfront ID. A409means another write won — retry with the current version; a429means you crossed the rate limit. Version 1 returns200 OKfor every success, including creates and deletes; version 2 uses conventional status codes, so do not write success checks that assume one version. - Workflow API — the separate
/attask/apisurface for projects, tasks, issues, templates, documents, and approvals. Most builds touch both. - Workfront MCP server — Adobe’s first-party server for assistants that support the Model Context Protocol, plus Workfront and AEM MCP modules inside Fusion. When it is configured and an administrator has granted access, it runs under the user’s own permissions; use the REST APIs for structural setup and bulk work.
- Fusion — record watchers, read and write modules, webhooks, AI and MCP modules, and connectors to the rest of the stack. Bundled at some tiers, an add-on at others; check its performance guardrails before building high-frequency scenarios.
Workspace architecture
Design for the fewest workspaces. One workspace for all of Marketing keeps relationships manageable and lets data roll up globally. A genuinely different operational lifecycle — product development alongside marketing — justifies another workspace. Regional splits usually do not: they fragment campaigns that ladder up to the same global strategy.
When separate workspaces are warranted, define shared taxonomies — brands, regions, products, audiences — once as global record types in a primary workspace and add them to the others, package permitting. A multi-space template can create several connected workspaces at once; look at it before building a multi-workspace architecture by hand.
Cannot be undone: moving a record type
A record type cannot be moved to another workspace. Get the workspace boundary right the first time.
Cannot be undone: some field types
Some field types cannot be changed once records exist. Settle the primary field and the type of each key field before importing data.
Sources
- Adobe Workfront Planning documentation — terminology, request forms, automations, object limitations: Experience League article index
- Planning API reference, versions 1 and 2: developer.adobe.com/wf-planning
- Package contents and entitlements: Adobe Workfront product description