Push a template into HubSpot, Marketo, Pardot or Marketing Cloud
Pushing writes the template into your tool as a real, selectable asset, so a marketer can build a send from it without opening MarqIQ. What lands differs by tool, and so does whether you can try it first. Read Build an email template if you have not built one yet, and A template failed to push if the push comes back with an error.
Before you start
Connect the target tool under Integrations. A template can be built and exported with nothing connected, but a push has nowhere to go.
| Tool | What MarqIQ asks for | Where you get it |
|---|---|---|
| HubSpot | Access token | Create a private app at app.hubspot.com/l/private-apps — in HubSpot that is Settings › Integrations › Private Apps › Create a private app. Name it MarqIQ, so its writes show under that name in a record's history. |
| Marketo Engage | Client ID, Client Secret, Munchkin ID | The first two are at Admin › Integration › LaunchPoint › your MarqIQ service › View Details. It has to be a Custom Service bound to an API-only user, which Adobe documents at experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/custom-services. The Munchkin ID is at Admin › Integration › Munchkin, shown as Munchkin Account ID — for example 123-ABC-456. There is no deep link to your admin screens: they live on your own instance's sign-in host, which MarqIQ never learns. |
| Pardot (MCAE) | Access token, refresh token, Business Unit ID | A Salesforce Connected App issues both tokens. Salesforce documents how to create one at help.salesforce.com/s/articleView?id=sf.connected_app_create.htm. The Business Unit ID is at Pardot Settings › Account › Business Unit ID. Paste the refresh token as well, or the session expires and scheduled work stops. |
| Salesforce Marketing Cloud | Client ID, Client Secret, Subdomain | Create an installed package at Setup › Platform Tools › Apps › Installed Packages. The subdomain is the prefix of your authentication host — the mcXXXXXX in mcXXXXXX.auth.marketingcloudapis.com. |
Paste each value on that tool's own page under Integrations.
Permissions required
HubSpot: the private app token needs the content scope for template and page writes, content or marketing-email to create a marketing email, and files to upload an image. Marketo Engage: the API-only user's role needs Read-Write Assets, which is what covers templates, draft emails, draft pages, folders and uploaded images. Marketing Cloud: the installed package needs the Email Content read and write scope. MarqIQ quotes your tool's own words when a permission is missing.
Plan required
Pushing a template needs the same plan as building it: Pro or above, or the free trial. If your plan has ended or your workspace is read-only, Push answers with a message that says so, and nothing is written to your tool. Creating a draft email or landing page in your tool from that template is the part that is on Enterprise and Partner, or on a 7-day feature trial.
Take care
A Pardot push is published the moment it succeeds. Pardot's API v5 has no draft state for a template, so your first attempt is live in the account. Check the template in Preview before you push it there.
What each tool receives
MarqIQ builds in neutral blocks and writes them out in whichever markup the target tool expects. The design is identical in all four tools. The file that lands in each one is different.
| Tool | What is created | Where to find it | Try it first? |
|---|---|---|---|
| HubSpot | A coded template file, with each block as a named editable module region | Design Manager, under marqiq/ | Yes — Validate |
| Marketo Engage | An email or landing-page template with mktoText and mktoImg editable regions, approved in the same step | Design Studio, in the folder where your other templates live | No dry run exists |
| Pardot (MCAE) | An email template, published immediately | Your Pardot account's email templates | No dry run exists |
| Salesforce Marketing Cloud | An HTML email asset whose slot regions stay editable | Content Builder | No dry run exists |
Landing pages: HubSpot and Marketo Engage accept them. Pardot and Marketing Cloud refuse them — use Export HTML instead.
Note
Drag and drop happens in MarqIQ. What is written into your tool is a template with named editable regions, because HubSpot does not permit drag-and-drop areas inside email templates. The marketer still edits every region in your tool's own editor.
Push the template
Open the template from Template Studio.
Read the warnings banner above the canvas.
An email with no Footer (compliance) block is refused at the push, not at the send. Fix that here rather than finding out in the error.
Click Validate if your target tool is HubSpot.
This writes the same markup to a scratch file under marqiq/_validate/, so HubSpot can accept or reject it without touching the template you use. The scratch file is marked unavailable for new content and removed straight afterwards, so nothing is left to pick by mistake. A pass reads HubSpot accepted the markup. Push for real when you are ready.
Only HubSpot has this. Marketo Engage, Pardot and Marketing Cloud have no equivalent, so there is no Validate button on those templates.
Click Push to <your tool>.
The button is named after the target tool — Push to HubSpot, Push to Marketo Engage. Unsaved edits are saved first.
Read the confirmation banner above the canvas.
It names what happened and where the asset landed. HubSpot returns the Design Manager path. Marketo Engage returns the template id and says whether it was approved. Pardot and Marketing Cloud return the asset id.
Open your tool.
Check the asset is selectable.
In HubSpot, start a new marketing email and look for the template by name. In Marketo Engage, create an email and look in Design Studio. In Pardot, look for it among your email templates. In Marketing Cloud, open Content Builder.
What MarqIQ checks after a HubSpot push
A file in the Design Manager is not enough. HubSpot must also register it as a template that is available for new content, or it shows in the Design Manager and never appears when you create an email. MarqIQ reads the registration back after the push and corrects it when HubSpot has it wrong.
- When the registration is right, the banner says the template is live and selectable.
- When HubSpot has not confirmed it, the banner says the file was written but is not confirmed as selectable yet, and quotes HubSpot's reason.
What MarqIQ does after a Marketo Engage push
Marketo Engage only offers approved templates when a marketer creates an email or a page, so an unapproved template is unusable. MarqIQ approves it in the same step and tells you whether the approval went through.
Note
MarqIQ works out which Design Studio folder to use rather than asking you. It uses the folder of the template this one was cloned from, and failing that the folder where most of your templates of that type already live. With neither available it says so and asks you to create one template of that type in Design Studio once, so it has a folder to use from then on. MarqIQ never creates a Design Studio folder of its own.
Push again after an edit
Saving new blocks or settings on a template whose status is In tool resets that status to Draft, because the copy in your tool is now behind. In tool always means the two match.
Make the edit.
Click Save.
Click Push to <your tool> again.
HubSpot writes to the same path, derived from the template name, so the file is replaced rather than duplicated.
Check the status chip in Template Studio reads In tool.
Note
Every tool updates in place. A HubSpot template keeps the file it was first pushed to, even if you rename it in MarqIQ, so the emails built on it follow the new version. A Marketo Engage template has its content replaced and is approved again; if another template in that folder already uses the name, MarqIQ adds a short suffix of its own instead of failing. A Pardot template or Marketing Cloud asset that MarqIQ made before is updated too, and made again if you deleted it in your tool.
Take care
Marketing Cloud refuses a name that another asset in Content Builder already uses. Rename the template in MarqIQ, or the other asset in your tool, then push again.
Note
Emails already sent from the old version do not change. Re-pushing updates the template, not the sends that were built from it.
When there is no push
Two combinations are refused outright, and MarqIQ says so rather than failing quietly.
- A Pardot landing page. Pardot's API v5 documents no landing-page creation, so the answer names Export HTML and tells you to paste the file into the Pardot landing page builder.
- A Marketing Cloud landing page. CloudPages has no generally-available creation API, so the same route applies — export and paste.
In both cases click Export HTML in the builder header. The downloaded file is the same markup the push would have sent, because preview, export and push all run through one renderer.
Turn a template into a draft email or page
A pushed template is not an email. Creating the email or page from it is a separate step, and it works for HubSpot and Marketo Engage only. The two tools take different routes, so follow the one that matches yours.
Plan required
This section is on Enterprise and Partner, or on a 7-day feature trial. Without one, the buttons below answer with an upgrade message naming the plan.
HubSpot
From the builder: once the template is pushed, click Create email in HubSpot (or Create landing page in HubSpot) beside the push button. The draft is built on the pushed template and carries the Subject line, From name, From email and Reply-to from the settings bar. The banner says what was carried and links to the draft. If HubSpot does not accept the sender, usually because the from address is not one the portal may send from, the draft is still created and the banner tells you to set the sender in HubSpot. If you have edited the design since the push, push again first.
From any template already in HubSpot, including the portal's own drag-and-drop ones:
Go back to Template Studio.
Find the Create in HubSpot card.
Its buttons are disabled until HubSpot is connected.
Click New email from a template or New landing page from a template.
Choose the template under Template.
The list holds every template already in HubSpot that is available for new content — the ones MarqIQ pushed and the portal's own, drag-and-drop ones included.
Type a Name.
Type a Subject line for an email, or a URL slug for a landing page.
Both are optional. The subject line defaults to the name.
Click Create draft email or Create draft landing page.
Click Open in HubSpot to finish it in HubSpot's own editor.
Marketo Engage
Find the Create in Marketo Engage card in Template Studio.
Click New email from a template or New landing page from a template.
Choose the template under Template.
Choose a Destination — folder or program.
Click + New folder or program to create one without leaving MarqIQ. A program also picks a channel from your instance's own list. The last destination you used is remembered for next time.
Type a Name.
Click Continue — write the content.
Nothing is created in Marketo Engage yet. MarqIQ opens the builder so you write the full content here first.
Click Create email in Marketo or Create landing page in Marketo in the builder header.
Click Publish with this content.
For an email, Subject line, From name, From email and Reply-to come from the settings bar in the builder header. They are written to the email and verified.
If it did not work
The push is refused and the message is about an unsubscribe link
Why: An email you built in MarqIQ has no Footer (compliance) block. The renderer raises the warning and all four push routes treat it as blocking.
Fix: Add a Footer (compliance) block, fill in Footer text, save, and push again. Leave Postal address blank to use the address held in your tool. Landing pages carry no such requirement.
HubSpot refuses a coded email template and mentions Professional or Enterprise
Why: Custom coded email templates are a Marketing Hub Professional and Enterprise capability. This is a subscription limit on HubSpot's side, not a permissions problem — MarqIQ says so explicitly so nobody spends the afternoon on scopes that were already right.
Fix: The refusal lists four things that do work on the current HubSpot subscription: create emails from templates already in the portal, push the same design as a landing-page template, export the HTML for another sending tool, or upgrade the portal. Landing-page templates are not tier-gated.
HubSpot answers 403 and mentions a scope
Why: The private app token is missing a permission the write needs. A HubSpot 403 is not always about scopes, so read the quoted text before changing anything.
Fix: Open your MarqIQ private app at app.hubspot.com/l/private-apps and add the scope the message names. Template and page writes need content, creating a marketing email needs content or marketing-email, and image upload needs files. Then reconnect HubSpot under Integrations and push again.
HubSpot answers 401, or the banner says the token was rejected
Why: The stored credential no longer works.
Fix: Copy a fresh token from your private app at app.hubspot.com/l/private-apps, then reconnect HubSpot under Integrations. The template is untouched — push again afterwards.
The template is in HubSpot's Design Manager but cannot be picked when creating an email
Why: The file was written but not registered as available for new content. A file can exist and still be unselectable.
Fix: MarqIQ reads this back after every push and corrects the registration itself. If the banner still says HubSpot has not confirmed it, it quotes HubSpot's reason — fix that, then push again.
Marketo Engage fails and the banner ends with a list of steps
Why: Every Marketo Engage call is recorded, so a failure returns the step trail rather than a bare error. The last step named is where it stopped.
Fix: Read the trail. Error 709 means Marketo Engage blocked the step with a business rule: for a design imported from Marketo Engage, approve the source template there first; for a name already taken in the destination folder, rename the email or page and publish again. Error 611 means Marketo Engage refused a folder operation at that point in the tree. Create the folder by hand in Design Studio once, and MarqIQ will find it next time.
The Marketo Engage template was created but the banner says it was not approved
Why: The create call worked and the approve call did not. Marketo Engage offers approved templates only, so the template exists and cannot be used.
Fix: Open Design Studio, find the template by the id in the banner, and approve it there. Then create your email from it as normal.
MarqIQ says it cannot work out where in Design Studio to save the template
Why: Marketo Engage reported no folder for the template this one was cloned from, and listed no other templates of that type to place it beside.
Fix: Create any template of that type in Design Studio once, anywhere sensible. Every push from then on uses that folder.
A push for a landing page is refused for Pardot or Marketing Cloud
Why: Neither tool offers an API that creates a landing page. Pardot v5 documents none, and CloudPages has no generally-available creation API.
Fix: Click Export HTML and paste the file into the Pardot landing page builder or into CloudPages. The exported file is identical to what a push would have sent.
The push button is missing entirely
Why: The target tool is not connected, so there is nowhere to push. The create form says as much when you pick a tool that is not connected.
Fix: Connect the tool under Integrations, then reopen the template. Until then you can still build and use Export HTML.
Nothing happens and the banner reads that the push endpoint could not be reached
Why: The request did not complete — a network drop or a request that ran too long.
Fix: Check your tool for the asset before pushing again, so you do not create a duplicate. Then push once more.
Next steps
Related articles
Was this article helpful?