Skip to main content
Question

Create a sales mind map with hyperlinks between overall project map and nested sub-maps

  • June 1, 2026
  • 1 reply
  • 8 views

Forum|alt.badge.img

I’d like to create a mind map tool where I can build a connected mind map for project pursuit. Here’s a simple example: 

 

 

Project X - End User Y

End User Y will build a facility in [City, State] and will use the following firms 

  • Engineering Firm A
  • OEM B
    • Building a filling machine 
    • Using Products 1, 2, and 3 
    • Main point of contact : Person F [First, last name]
  • OEM C 
  • General Contractor D 
  • etc 

Within each firm listed above, I’d like to drill down to the project specifics to map the Project X. However, for each involved firm, I’d separately map that firm. For example: 

OEM B

  • Location 
  • Typical equipment types manufactured 
  • Key contacts
  • Strategy
  • etc 

I’d like some way to hyperlink the Project X map to separate maps I build, allowing me to click around to different maps as questions are asked to easily link things together. It would be great if I could even do this at the individual contact level. For example, if the Main point of contact Person F [first, last name] was working on several projects, I could click and see which projects they were working on. 

 

Does anyone have advise on how I can build such a map? 


Thank you, ​​​​​​​

 

 

 

Comments

Forum|alt.badge.img+2
  • Lucid product team
  • June 1, 2026

Hi rmheffne,

Good news, yes, this is possible! Mind map nodes can be created through the example `MindmapGenerator` documented here, and are emitted as shapes in Lucid's Standard Import JSON format, and shapes support a clickable hyperlink via the optional `actions` array. The example generator just doesn't populate it yet, so you'll add a couple of lines.

How links work on a shape

Any shape in Standard Import JSON can carry an `actions` list. For an external link, use a `url` action:

{
"id": "a1",
"type": "terminator",
"boundingBox": {"x": 0, "y": 0, "w": 180, "h": 60},
"text": "Leaf A1",
"actions": [
{"type": "url", "url": "https://example.com/resource", "newWindow": true}
]
}

- `url`: the link target (required).
- `newWindow`: `true` opens in a new tab; omit or set `false` to open in the same tab.

Changes to the mind map generator

Two small edits:

1. Let your tree nodes carry an optional `url`:

tree = {
"id": "root",
"label": "Mindmap topic",
"children": [
{"id": "a", "label": "Branch A", "url": "https://example.com/branch-a"},
{"id": "b", "label": "Branch B"}, # no link is fine
],
}

2. Emit it when building each shape (in `_emit`, where the shape dict is appended):

shape = {
"id": node["id"],
"type": self.ROOT_SHAPE if is_root else self.NODE_SHAPE,
"boundingBox": {"x": x, "y": y, "w": width, "h": height},
"text": node["label"],
"style": { ... }, # unchanged
}

url = node.get("url")
if url:
shape["actions"] = [{"type": "url", "url": url, "newWindow": True}]

shapes.append(shape)

That's it, every node with a `url` becomes clickable in the imported document.

A couple of things to know

  • This adds one click-through link to the whole node shape, which is the standard way Lucid shapes carry a link.
  • Only shapes support `actions`. The connecting lines between nodes don't, so links go on the nodes themselves.

Hope that helps - let us know if you run into anything!