Skip to content

Macro settings

The settings panel has two tabs. General holds every setting; Preview renders the embed with the values currently in the form, so you can check a size or an alignment before committing to it.

Select Save to store the configuration and close the panel, or Cancel to close it without saving. If a value fails validation, the panel returns you to the General tab and marks the field rather than saving.

Settings

SettingPurposeAccepted valuesDefault
Remote content URLThe address to embed.An http:// or https:// address. A missing scheme is filled in as https. Required.none
WidthWidth of the frame.A whole or decimal number, meaning pixels, or a number with a unit: px, %, vh, vw, em, rem. Also auto. Empty means the default.100%
HeightHeight of the frame.The same as width.400px
Margin leftHorizontal offset of the frame.The same units as width, and negative values are allowed. auto is not accepted. Empty means zero.0px
Margin topVertical offset of the frame.The same as margin left.0px
Horizontal alignmentPlacement of the frame within the content column.Default, Left, Center, or Right.Default
Hide scrollbarsRequests that the embedded document’s scrollbars be suppressed.On or off.Off

How addresses are normalised

The address you type is not stored verbatim; it is parsed and normalised before it reaches the frame.

  • example.com/report becomes https://example.com/report.
  • //example.com/report becomes https://example.com/report.
  • http://example.com/report is kept as it is. An http target you enter deliberately stays on http.
  • ftp://, file://, data:, and javascript: are rejected. The first two cannot be framed usefully; the last two are ways to run script, and the app will not put either in a frame.

An address that cannot be parsed at all, or that has no host, is rejected as malformed.

How sizes are interpreted

A bare number means pixels: 600 and 600px are the same. This matters because every configuration saved by the older Connect version of the app stored bare numbers, and they must keep rendering identically.

A value with a unit is passed through as written, so 100%, 75vh, and 40rem all work. Anything the app cannot parse is ignored in favour of the default, rather than producing a broken frame.

Margins follow a slightly different rule than width and height, and deliberately so:

  • Negative margins are accepted, because they are valid CSS and the older version supported them.
  • auto is rejected on a margin. The renderer would turn it into zero, so accepting it in the form would quietly do something other than what you asked.

Hide scrollbars

This setting is best-effort and, in practice, usually has no visible result. Scrollbars belong to the embedded document, and that document is served from another origin. The browser does not let the containing page reach into it to remove them.

The setting is kept because configurations saved with the older version carry it, and because it does apply in the narrow case of a same-origin target. Do not plan a layout around it working.

Where settings are stored

All seven values are stored by Confluence as macro configuration, inside your own page. There is no separate app storage, and nothing is sent to us. The stored keys are url, width, height, marginLeft, marginTop, alignment, and hideScrollbars.

Every one of them is written on every save, including the empty ones. On a macro carried over from the Connect version this matters: see Compatibility and migration.

Editing tips

  • Preview before saving. The Preview tab loads the target only while it is open, so a half-typed address is never fetched.
  • Give the frame a height that suits the target. Embedded documents scroll inside the frame; they do not make the Confluence page taller.
  • Use a percentage width for a frame that should track the column, and a pixel width for one that must match the target’s own fixed layout.
  • If a target renders at an awkward size, check whether it offers an embed-specific or print-specific URL. Many dashboards and document viewers do.