I would love to see a feature within Marketing Hub workflows where you can regulate the frequency at which records could progress through a workflow. I envision a setting that could be applied to specific step in the workflow where you would set quantity and frequency, essentially metering the flow of traffic through a workflow. Example: Only let one record through every 15 seconds (or whatever frequency you choose). This would allow the first record to move through subsequent steps of a workflow independently before any others advanced. This is an important feature for workflows where the initial record updates properties that could influence how subsequent records travel through that workflow. Currently, if a group of records is triggered at the same time (like at midnight when the date changes), all of those records move through the workflow at the same time or at least at frequency where they don't have a chance to influence one another. Real Life Example: We have contracts that span 3-5 years with our customers. We have an email that needs to go out 90 days prior to contract maturity just to remind them their contract is coming to a close. However, one customer might have 3 or 4 contracts coming to maturity on the same day. We want all of those contracts to be listed in one email rather than having the customer receive multiple identical emails all at once, each referencing a different contract. The simplest way we've found to do that, is to have each contract enroll in a workflow 120 days prior to maturity. SIDE NOTE: Contract is a custom object for us, but you can think about them like deals. Since CONTRACT and CONTACT look so similar, I'll refer to contract/deal to represent the contract and contact/person to represent the associated contact who owns said contract/deal. We also have a custom property set up on the Contact/person record called "Number of contracts maturing 90-120 days from now:" This way when it comes time for the email to go out, we can program that email to pull in the correct number of contract/deal information. Back to the workflow....Let's pretend one contact/person has THREE contracts coming to maturity soon. When the first contract/deal passes through this workflow, we have it check the "Number of contracts maturing 90-120 days from now:" field for the associated contact/person. If that field is currently unknown (aka 0), that contract/deal record will travel down the first path where the first step is to change the "Number of contracts maturing 90-120 days from now:" field to 1. (see the green line in my first image). From there, the workflow copies some contract/deal properties onto the "Maturing Contract #1" spots on the contact/person record (see green fields in my second image). This is the data that the email will pull in. Ideally, the next contract/deal to pass through the workflow would check the "Number of contracts maturing 90-120 days from now:" property. If it's a 1, that record will travel down the next branch over and set that property to 2 (see the blue line in my first image), and then it will copy the appilcable contract/deal properties into the "Maturing Contract #2" fields on the contact record (see blue fields in the second image). And so on for the next contract...(see purple line/fields in my images) The Current Problem (without a metering functionality): The problem we're currently running into is that when a whole group of contract/deals are triggered at the same time (like at midnight when the date changes over), all of those contract/deals move through the workflow at the same time, virtually simultaneously. So if three contract/deals belong to the same person like in my original example, those three contracts all hit the if/then step (step 3 at the top of my first image) at the same time and all three get sent down the green path at the same time. This causes them all to write information to the "Maturing Contract #1" property on the contact record. Even if the first contract copies its property values into the "Maturing Contract #1" fields on the contact/person record, those fields are immediately over-written by Contract 2, and again by Contract 3. Then when the email sends, only Contract 3 information is present in the email. Contract 1 doesn't have a chance to bump the "Number of contracts maturing 90-120 days from now:" property to 1 before Contract 2 goes through the if/then step. They go through it together, and Contract 2 ALSO sets "Number of contracts maturing 90-120 days from now:" property to 1. This could be remedied by metering progress at a specific step (or at the time of enrollment) so one record at a time advanced through the workflow.
...read more