Create Scenario Documentation

Have you ever had that day where you’ve got this big scenario…

And you need to create some documentation for it before handing off to others?

Well, that day happens nearly every day. Usually, I leave such work to another system called MAke Auto-Documentation (MAAD). However, we’re testing some project management methodology changes and wanted to approach documentation differently.

So when the project manager handed me a Google Document and implied I needed to fill it in by hand, I thought to myself, “Nope.” Because much of this information is contained in Make and could be automated, I filled in the missing bits.

So, first off, we’re using Google Docs, and let’s reformat the documentation template to use template markers. Automation Documentation Template.docx (9.6 KB)

Next, let’s start building out the Make scenario by gathering and inputting information one bit at a time, like the core Make Scenario details.

We can then link it to the Google Document Template module.

Once that’s confirmed to work, we can continue filling in the rest of the details as best we can. Yet, there’s a tricky part: long-form descriptions.

And for that, thank goodness AI chatbots exist; I profess that OpenAI is my choice for generative AI needs. So with prompt magic, MAKE Scenario Analysis.md.txt (2.3 KB).

- Purpose: Clearly explain the primary goal of automation, focusing on the problem it solves and the intended benefits.
- Automation Steps: Outline the step-by-step automation workflow, including any conditions, loops, or decision points. For example:
    - Step 1: Initial Action/Trigger (e.g., a user action or data entry triggers the workflow)
    - Step 2: Next Action (e.g., data processing or approval flow)
    - Step 3: Final Outcome (e.g., a confirmation message or report generation)
- Inputs: Specify what initiates the automation process, such as specific data, user actions, or API calls. For example, "Data entry in a CRM triggers a notification."
- Outputs: Describe the outcome or data generated by the automation. For example, "The automation generates a status update in Jira or sends an email notification."
- Dependencies: Identify any dependencies, such as other automation workflows, external systems, or integrations that this automation process relies on.
- Error Handling: Outline how errors or exceptions are managed. Include retry logic, fallback mechanisms, and any alerting strategies. For example, "In case of a failed API call, implement automatic retries with exponential backoff. If retry attempts are unsuccessful, send an alert to the admin."

And JSON response formats by Open AI module and prompt…

# RESPONSE

Output as a JSON structure.


# EXAMPLE OUTPUT

{
    "Purpose": "TBD…",
    "Automation Steps": "TBD…",
    "Inputs": "TBD…",
    "Outputs": "TBD…",
    "Dependencies": "TBD…",
    "Error Handling": "TBD…",
}

Suddenly, we have no more field data creation or mapping to do, and we can notify the Slack automation engineering channel about the new documentation through our completed scenario, DEV:SCENARIO:CREATE:Documentation.json (75.7 KB).

Here’s the scenario that ran on itself; DEV_SCENARIO_CREATE_Documentation Documentation.pdf (80.8 KB).

And now, the explainer video.


In the video, I mentioned prettyPrint2, a Make Enterprise Custom Function, and I’ve since replaced such with {{join}}() to be compatible with your Make organization below Enterprise.


FWIW: An example of MAAD output in Atlassian Confluence so we can easily search for Make Scenario components throughout our Make organization.

13 Likes

Hello @Michaela; Loom video in above.

1 Like

While getting back to work, I noticed that JSON output isn’t consistent being strings or arrays. Therefore, for the Google Template module, I’ve added a simple check for array or string to output the result.

{{if(0 != length(keys(11.result.Inputs)); join(11.result.Inputs; newline); 11.result.Inputs)}}

And sometimes, the JSON result remains a complex array, so I put prettyPrint2 back into my scenario for Automation Workflow.

2 Likes

Hello @ImMichaelCannon. This looks great and I am really keen to give it a try, but the .json blueprint doesn’t seem to import into by Make environment. I get a flash of an error and then nothing. Would lit be possible to re-export the blueprint? Thank you

Id also like the blueprints, i take it back. after trying this out for myself but these are all super simple with only 1 router per scenario. when you add more then 1 router make is less linear and AI cant follow it. even with just 2 routers it suddenly skips large sections regardless of templating. the issue being that the AI cant undestand the end of the automations becuase of their complexity. Not super surprising but frustating when the only issue is the fact that they are non linear. no amount of custom titles or notes will help ai undestasnd if then then that, or maybe that.

i would like to see it work on that behemoth in the OP tho.

Routes in a router occur in a sequential fashion. If you can get the AI to understand that, then you should be fine (in theory)

I got a version working yesterday on open AI but it was not complete it kept requiring me to ask it to process all of them a few times. Then I had to work on formatting. I think it’ll work but you’ll need to prompt via api do a multi user/assistant prompt, which is great I think I can sell an auto documentation service for make this way !

I’ve realized that I use Scenario Inputs and only at Pro plan or above does importing those blueprints work. Do let me know whether you still have trouble.

I had created a prior scenario documentation version that followed router flow and other branching. The trouble is that scenario operations are extremely inefficient when not careful.

As such, writing prompt instructions that guide how GenAI should interpret the scenario blueprint and follow it with a related reflection prompt should get good enough results.

Because of the above, I realized that most of the time, the documentation needs to cover things at a high level and then have the dynamic and static variables plus resources used to be brought out for search purposes. The nitty gritty details were never required in 2 years from starting this project, including at an enterprise level.

Hence, the drastic simplification is shared in this thread.

2 Likes

Thank you, that would explain it. I’ll import into a different environment

For more complex scenarios, you can use AI to simplify and recreate workflow charts

1 Like

Can you make a video tutorial please ?