Edit Hightouch AI decisioning messages without the data team

By General Input

Give marketers a studio to review, edit, and expand the messages your Hightouch AI decisioning sends, with a full audit trail.

Integrations

  • Hightouch
  • Slack Bot

Type

App

Categories

  • Marketing
  • Operations

Build me an internal app that lets our marketing team read and write the messages inside our Hightouch Decision Engine flows. Today that copy lives in Hightouch, which only our data team has logins for, so every wording change becomes a request ticket. The app is for marketers, so the language and layout should be about messages and campaigns, not about data models or syncs.

The home page is a list of Decision Engine flows, loaded with List Decision Engine Flows. Each flow row shows the flow name, its status, how many messages it contains (count them with List Decision Engine Messages), and its recent run history: show whatever status and last-run detail the flow record carries from Get Decision Engine Flow, plus every run this app has triggered itself, with who triggered it and when, read from the app's own stored history. Sort so the flows that were changed or run most recently sit at the top, and let me filter the list by name.

Clicking a flow opens the flow detail page. Load the flow with Get Decision Engine Flow and its messages with List Decision Engine Messages, and pull full detail for an individual message with Get Decision Engine Message when a card is expanded. Render every message as a card showing its name, the channel it goes out on, the message copy in full, and its configuration, with the fields laid out so a marketer can actually read them. Group or badge the cards by channel so email, push, and SMS messages are easy to tell apart, and mark clearly which messages are active and which are sitting in draft.

A marketer can edit a card inline: click into the copy fields, change the wording, and save. Saving calls Update Decision Engine Message with only the fields that actually changed. There is also a New message variant button on the flow that opens the same card form empty, or prefilled from an existing message so it can be tweaked, and saving that calls Create Decision Engine Message inside the flow. Validate before saving and show a clear inline error if Hightouch rejects the write, never a silent failure.

At the top of the flow page put a Push decisioning live button that calls Trigger Decision Engine Flow Run for that flow, behind a confirmation dialog that says plainly what it does. Record the run in the app with who pressed it and when, and show it in that flow's run history on both the flow page and the home list.

Every message card gets a Draft variants button that kicks off a background agent. When I press it I type a short brief, for example a new promotion we are running, a tone shift, or a segment I want to speak to differently. The agent reads the message I pressed it on with Get Decision Engine Message, then reads its sibling messages in the same flow with List Decision Engine Messages so it can learn the voice we actually use, and writes three variants that match that voice while following my brief. It creates each one in the flow with Create Decision Engine Message, named so it is obvious which message it came from and what the brief was.

The agent is strictly additive. It must never call Update Decision Engine Message, never modify or overwrite an existing message, and never activate anything it creates. Everything it writes lands as a draft variant for a human to review, and a person activates it. Show agent progress in the app while it runs, and when it finishes, surface the three new variants on the flow page tagged as agent drafts with the brief that produced them, so a marketer can read, edit, or discard them in place.

Keep a visible edit log inside the app, because this is customer-facing text and both marketing and data will want the audit trail. Every save, every new variant, every agent drafting run, and every flow run trigger gets an entry with who did it, exactly when, which flow and message it touched, and for edits the full previous copy alongside the new copy. Show the history on each message card and give the flow page a change log tab covering all of its messages. Retaining the previous copy is a requirement, not a nicety, and let me restore an earlier version, which itself writes a new log entry rather than erasing anything.

Whenever a message is edited or the agent drafts new variants, post a short note to a Slack channel with Send a Message so the data team knows the decisioning content changed without watching the tool. Keep it to a few lines: the flow name, the message name, who made the change, a one-line summary of what changed, and how many variants were created. Let an admin configure which channel receives these and whether pushing a flow live is announced there too.

Store the app's own data for the change log, the run history it records, the agent briefs, and the Slack channel setting. Connect Hightouch with a workspace API key and Slack with a bot that can post to the chosen channel.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them