CopyToChild / Genie
Home
๐Ÿงฌ

CopyToChild

Copies campaign-level custom field values down to the tasks under an MMD Campaign โ€” so task-level reports carry the campaign's information.

๐ŸŽฏ What it does & why

An MMD campaign is a project that captures campaign-level information in custom fields (client, debtor, market, โ€ฆ). The tasks under it logically inherit that information โ€” but they don't actually hold it, so task-level reports can't report on those campaign values.

CopyToChild fixes that by replicating a maintained list of campaign-level custom fields down to the tasks under the campaign. (Only the listed fields are copied โ€” not every field is meant to be pushed down.)

๐Ÿšฆ How to trigger it & read status

You trigger and monitor everything through one custom field, CopyToChild*. Set it to a trigger; the service updates it with status.

OverwriteCopyNew โ†’ then the service sets โ†’ In ProgressCompletedError
ValueMeaning
OverwriteTrigger: copy the field values to all tasks under the campaign.
CopyNewTrigger: copy only to tasks that haven't been copied to before.
In ProgressStatus: the service is running and has started processing.
CompletedStatus: copying finished successfully.
ErrorStatus: a pre-requisite wasn't met, or a system/verification issue stopped the run.

"Already copied?" is tracked per task via WrikeXPI-State: blank = not copied before; Completed = copied before. CopyNew uses this to skip tasks that already have values.

โšก Autoflip โ€” auto-triggering CopyToChild

Autoflip is a companion automation that triggers CopyToChild automatically, so a task missing its campaign-level data gets backfilled without anyone flipping CopyToChild* by hand.

Trigger: a task's status change (TaskStatus changed) on a supported custom item type. When it fires, Autoflip continues only while every check passes:

Custom Item Type IdCustom Item Type
IEAC7PRTPIACDTPRAdOps Request โ€“ In Campaign
IEAC7PRTPIACEHF5Billing
IEAC7PRTPIACEHGHChange Request Item
IEAC7PRTPIACEQQGGOC AutoTask
IEAC7PRTPIACEQQDFinance Media Query
IEAC7PRTPIACEQ5BGMN AdOps Task
IEAC7PRTPIAEEXOPLocal Adhoc Task โ€ 
โ€  Local Adhoc Task triggers only on the new-task-created event, not on later status changes. Because Autoflip uses CopyNew (not Overwrite), it only backfills tasks not copied before (WrikeXPI-State blank) โ€” it never overwrites existing values.

๐ŸŒ Onshore & GOC

CopyToChild works for both space types, with different triggers and scope:

Space typeTriggering fromScope
OnshoreCampaign (project)All tasks under the campaign
GOCFolderAll tasks created within the last 4 months under the folder

โœ… Pre-requisites (verification)

Before copying, these fields are validated/filled. If any required one is missing, CopyToChild* is set to Error.

Custom fieldValidation / how it's filledOnshoreGOC
Space Name*Mandatory. Form [Prefix]-[Market]-[Suffix], e.g. GRM-MYS-GMN.โœ“
Client*Filled from Clients-[Prefix]-[Market], e.g. Clients-GRM-MYS.โœ“
Debtor*Filled from Debtors-[Prefix]-[Market], e.g. Debtors-GRM-MYS.โœ“
Campaign Name*Filled from the campaign Title if not already set.โœ“
Offshore Global Hub*Mandatory.โœ“

๐Ÿ“‹ Fields copied to tasks

On success, CopyToChild* is set to Completed.

#Custom fieldOnshoreGOC
1Client*โœ“โœ“
2Debtor*โœ“
3Agency*โœ“โœ“
4Region*โœ“โœ“
5Campaign Start Date*โœ“
6Campaign End Date*โœ“
7Currency*โœ“
8Campaign Objective*โœ“
9Brand*โœ“
10Requestor's Market*โœ“
11CCUID*โœ“
12CSSID*โœ“
13Practice [GMS]โœ“
14Offshore Global Hub*โœ“
15Space Name*โœ“
16Campaign Name*โœ“

๐Ÿ’ก Good to know

Cross-tagged GOC tasks. A GOC task that is cross-tagged to a GOC Debtor folder and still sits in an Onshore Campaign may be filled by CopyToChild from either side โ€” whichever is triggered first. That's why such tasks sometimes get more fields filled (e.g. Campaign Name) and sometimes fewer.
Reference: knowledge/services/copy-to-child.md ยท all documented services