JS8Call Advanced Tips Part 2: Macros, Push vs Pull Commands, and Automatic Frequency Switching for Persistent Operation

In this second installment of MJ’s advanced JS8Call series, the focus shifts to two features that make JS8 far more efficient during longer operating sessions: macros and frequency switching schedules. MJ also clears up a common point of confusion in the manual—when brackets or callsign selection is required—and demonstrates a practical, mouse-driven workflow that speeds up repetitive tasks.

JS8Call Advanced Tips (Part 2): Macros + Frequency Switching

If you operate JS8Call in a persistent mode (leaving the rig on for hours so others can message you, request reports, or practice), these tools can make your station easier to find, easier to work, and easier to manage.

What Are JS8Call Macros (and Why Use Them)?

A macro is a saved command or message you can send with a click instead of typing it every time. MJ’s “why” is simple:

  • Some tasks are repetitive (daily SNR checks, common requests)
  • Some are important but used occasionally (time-delta nudges, specific pull requests)
  • Using the mouse instead of switching constantly between mouse and keyboard is often faster and less error-prone

The big advantage

Macros let you run actions quickly even when the station you want isn’t currently visible in your call activity list—no need to add the callsign first.

Where to Create and Manage Macros

MJ builds and edits macros inside the Saved Messages area:

  • Add a macro by typing the command/message and clicking Add (or pressing Enter)
  • Create visual spacing by inserting blank lines (helpful for organizing macro groups)
  • Reorder items using drag and drop
  • Edit an existing macro by selecting it, then double-clicking to modify the line
  • Delete macros one at a time (multi-select delete isn’t supported)

A small UI note he mentions: text entry may appear in lowercase in the editor, but JS8 transmission formatting typically renders as expected on-air.

Critical Setup: Auto Reply Must Be Enabled in Two Places

A major “failure point” MJ sees: operators enable auto reply in one place, but miss the other—causing inconsistent macro/pull behavior.

To make macros and automated responses work reliably, ensure Auto Reply is enabled:

  1. In the main UI (near speed controls): Enable Auto Reply
  2. In settings: Settings → Station Behavior / Network / Auto Reply → Turn on Auto Reply at startup

    If either one is off, some commands may work “sometimes” and fail at other times.

    Push vs Pull: How the Command Styles Work

    MJ frames macros using a simple model:

    Pull = you request information from another station

    Often indicated by a question mark (?) in the command, such as requests for:

    • Hearing?
    • SNR?
    • Grid?
    • Station info/status?

    This is useful when you’re trying to determine who can relay to whom or verify signal/report details quickly.

    Push = you transmit information to others

    JS8Call already includes several “push-style” buttons (heartbeat, CQ, status, info, etc.). These typically send static content based on what you’ve configured in settings.

    Why Macros Matter: Going Beyond Static Buttons

    The built-in buttons are convenient, but MJ highlights a limitation: many of them send fixed info (like just your grid or a pre-set status line).

    Macros let you add dynamic context without changing your stored baseline message.

    Examples MJ demonstrates:

    • Enhancing a heartbeat so it includes something like “MJ Raleigh North Carolina” (not just the grid)
    • Sending a status update that includes a location + activity (ex: mobile operation at a park, POTA reference, “home until 10pm,” etc.)
    • Quickly sending time-delta feedback to help others correct decode issues without typing a custom explanation

    The goal is to make your station more useful and more discoverable to others—especially in regions where someone is looking to contact a specific area.

    When Macros Save the Most Time

    MJ calls out the most practical use case:

    When the station you want is NOT listed in your call activity list

    Instead of:

    • Right-click → Add new station/group → type callsign → OK → then run a command

    You can simply click your macro (example: “CALLSIGN SNR?”) and send immediately.

    That becomes a big deal with “daily” stations you contact frequently.

    Advanced Feature: Automatic Frequency Switching Schedules

    For persistent operators, MJ recommends using frequency switching so your station can follow band conditions without manual intervention.

    His real-world example (Raleigh, NC pattern):

    • 40 meters is good in the morning (roughly until ~9:30–10:00)
    • Switch to 20 meters midday

    How it works (high level)

    • Enable frequency switching (checkbox in the frequency schedule area)
    • Insert schedule entries with:
      •  Frequency/band
      • Optional description
      • Time to switch

         

    The best part: it warns you first

    Before switching, JS8Call can warn you (example: “switching in 20 seconds”), letting you cancel if you’re in the middle of something and want to stay put.

    This enables “leave it on” operation while still benefiting from band openings and closings.

    Demo Highlights: Practical Macro Workflow

    In the demo, MJ shows:

    • Turning on auto reply correctly
    • Editing/deleting/adding macros
    • Reordering macros for usability
    • Using macros to:
      • Ping stations not currently visible
      • Send richer heartbeat/status messages
      • Send quick SNR/time-delta assistance

         

    He also encourages operators to practice by leaving inbox messages, which is a good way to verify your settings and see how well your station presence comes across to others.

    Key Takeaways

    • Enable Auto Reply in two places (UI + settings) to avoid inconsistent behavior
    • Macros provide a faster, mouse-driven workflow for common tasks
    • Use macros to go beyond static buttons with dynamic context (location, availability, operating plan)
    • Push vs Pull matters: pull requests info; push shares info
    • Frequency switching schedules are ideal for persistent stations that want to track band conditions automatically