Macro to change other macro's actions?

New-ish to Keyboard Maestro, and getting WAY more out of it than with my Streamdeck.

Is there a way to set up one macro to change info in another macro?

Here's more detail: One use for KM is to schedule callback dates for my job. I have SEVERAL different reasons to set a callback date, but only a few dates I schedule to on any given day. So, I have different macros set up for those specific dates (actually, number of days from today) that I set at the beginning of my workday, and whenever I set up my actual callback schedule macro, I have KM execute the other macro to determine how many days out to schedule.

I'd really like a way to run a macro that lets me boom, boom, boom, and change all those date macros at once.

I'm not great with Apple Scripts, and am learning my way around Variables and clipboards, so if this is better done with variables, I'm open to hearing it.


Hi and welcome, can you share your macro to see your approach

Let me understand your workflow.

Decide to make a callback schedule for the day

  • Open a prompt to schedule times for callbacks scheduled for today
    1. retrieve callbacks scheduled for today (individually or as one list?)
    2. schedule (set) times to prompt throughout the day

Decide to call back

  • Open a prompt to set future date for a callback

    1. enter an ID of some sort (client ID, name, company, etc)
    2. enter a date
    3. enter a note
  • Messages popup at callback times for scheduled callbacks

    1. displays;
      • Date/Time of callback
      • Contact Name (via a file lookup if ID# or other identifier is used)
      • Note as entered
    2. waits for “Open Relevant Reference Files” button to be clicked, then
    3. waits for “Autodial” button to be clicked

When you say;
“I'd really like a way to… change all those date macros at once.”
are you referring to setting the callbacks for the day?

“I have SEVERAL different reasons to set a callback date, but only a few dates I schedule to on any given day. So, I have different macros set up for those specific dates.”

You have different macros based on the different reasons or the different dates?

Thanks, VDOCutter. Good questions, and let me clarify.

I basically have three callback times I use. One is about 180 days, one is about 90, and one is about 30. I say "about" because if 1) it falls on e a weekend, or 2) it falls on a day that I already have enough callbacks scheduled, I adjust it.

I usually decide 1st thing in the morning those callback schedules. For instance, I'll set them to 181/65/28 or something like that.

The other "bucket" is the callback type. This can be a myriad of reasons, and I have a pretty good system for scheduling those with KM.

The way they work together is like this:

I may choose "order follow up" or "answer questions" or "close deal" or "check in" or whatever, but it'll be limited to those three days I've selected. I decide those days based on a macro I've set up called "6mo" and "3mo" and "1mo."

Right now, I have each of those day macros in a folder and I manually go in each morning and change the number of days. Ideally, I'd like to be able to launch a macro that automatically changes the number of days in the day macro.

One more explanation...I do it this way so that if I have to change 181 days to 182 days, I don't have to do it in each macro, but only in one central place. This was reason number ONE for leaving the Streamdeck...I'd have to change than in each macro individually. This is much easier, and I'm trying to make it even easier lol.

Sorry for the book!

Of course!

Here's an example of my workflow:

Screen Shot 2021-07-26 at 2.54.55 PM

And here's the macro I execute. It's super simple. THIS (and a few others like it) is the macro I want to be able to change:

Screen Shot 2021-07-26 at 2.55.05 PM


“Books” are fine - great! The more detail the better

First, may I propose the recalls to just automatically look back 30-34 days, 90-94 days, or 180 -187 days. This would require “signing off” on a callback (via a check in a box) when the call is complete so it is removed from the list (otherwise calls already made within that 4-day window would keep reappearing), but it would avoid dealing with weekends (and most holidays). This would also allow you to decide how many you want to do that day if many show up.

This might sound scary, but I would have a macro that creates and updates files of lists by date (i.e.: “CB21-8-25”, “CB21-10-22”) that would contain an ID of each caller to be called on that day - I’ll work on an example…

You can create a macro that sets the 3 values for the day,
Then use the variables in other macros:


Set 3 Variables.kmmacros (4.4 KB)


And here's the macro I execute. It's super simple. THIS (and a few others like it) is the macro I want to be able to change:

Screen Shot 2021-07-26 at 2.55.05 PM

You'd replace the 196 with %Variable%Long%

1 Like

This can create files titled by date into a folder titled "Callbacks"

Just run it and follow the prompt

Creating records for callbacks v1.1.kmmacros (12.3 KB)

I hope to get to phase 2; (Automatically prompting the callbacks) tomorrow

And now part 2

I know this is probably extreme overkill for what you asked for, but being new to KM I thought you would appreciate seeing what some of your options are and how to execute some more complicated macros in KM. Tear into it and make changes and see how things are affected. Maybe you could incorporate one or two actions into what you need. Clearly this is not intended to replace what you have already set up - especially as is, but with some tweeking, and some more input as to what you need, it possibly could.

FYI; {what kind of a nut would do all this (I heard you ask under your breath)? I am doing this for my appreciation of KM and to learn more about it - I only started using it about 14 months ago, with very little programing skills. I came from QuicKeys where I built and used (professionally in my editing career) dozens of sequences, some with well over 100 steps (“actions” in KM lingo) - yet I can’t even build an automator program from scratch.

And I found myself with a lot of free time this week, and as you can see, I really get into this. I’m just a guy with nothing to do so don’t freak out about the amount of work you think i did - building the working guts actually wasn’t that much - however, building the demo part, okay, THAT was challenging

IMPORTANT: Keep in mind all this is not intended to represent how the program is to present to “the user” (you) when it is in use or how it will operate - it’s only intended to demonstrate how to manage the callback data - even the prompts and the example lists created are only intended to set up the data management demonstration.

Also keep in mind the intent of building the two macros this way, among other advantages, is to remove the extra step of having to adjust the dates individually to account for dates falling on Saturday or Sunday - lists that present on Saturday or Sunday will automatically be attached to Monday’s list

That said, (…tmi?… talk about “Books”!) this is what would work for the retrieving what was input in the other macro (part 1), or the DAY scheduling phase… {just run it and follow the prompt}

I hope your experience here doesn’t scare you off - most of the other folks here seem pretty swell.

1 Like

...forgot the macro

Creating records... PT2 - TIME scheduling v1.kmmacros (54.7 KB)

Also, after this is first run, check out the files created in the "Callbacks folder" on the desktop - they were built to appear to the macro to have been built over the last 180 days, for retrieval today.

...and a revised Part 1;

Creating records for callbacks PT1 - DAY scheduling v2.kmmacros (17.2 KB)