Live training: next batches coming soon. Join the waitlist:Waitlists open:Developer Training →Developer →Copilot Studio Training →Copilot Studio →

Power Apps Hyperlink Text: Make Text and Names Clickable With Launch

A team I worked with tracks software and the people who know each tool in a SharePoint list. They wanted the names in the Experts field to act like links: click a name, and a new email to that person opens.

In this tutorial, we’ll build PowerApps hyperlink text two ways: first the quick patterns for any label or sentence (Launch, HTML text and the Link control), then the full form build where every expert’s name is clickable. Here’s what we’re building:

Clicking an expert name in the Power Apps edit form opens a new email message

Three Ways to Make Hyperlink Text in Power Apps

Power Apps has no “hyperlink” setting on a text label. You make text clickable by giving a control an action, and the action is almost always the Launch function, which opens a web page, an app or a mailto: address. My Power Apps Launch function guide covers every Launch option in depth.

PatternBest forHow the click works
Text label + OnSelect = Launch(url)A single link that should look like textPower Fx runs Launch, so you can add parameters and a target
HTML text control with <a href>A link inside a sentenceThe browser follows the link; OnSelect is ignored for it
Modern Link control (Text + Url)Modern-control appsOpens the Url; unsafe schemes such as javascript: are blocked

For a label, set the text color, an underline and a hover color so people can see it’s a link, then put Launch in OnSelect:

// Label: Text = "Open the Power Apps tutorials"
Color      = RGBA(0, 120, 212, 1)
HoverColor = RGBA(0, 69, 120, 1)
Underline  = true
OnSelect   = Launch("https://www.spguides.com/power-apps/")

Also set TabIndex to 0 or more so keyboard users can reach the link (Microsoft’s accessibility guidance for labels used as links).

For a link in the middle of a sentence, insert an HTML text control and put an anchor tag in its HtmlText property. If you’d rather show a styled button, see how to create a hyperlink button in Power Apps.

"Read the <a href='https://www.spguides.com/power-apps/'>Power Apps tutorials</a> before you build the form."

Before You Start

You need a Power Apps license that includes SharePoint connections (Microsoft 365 plans do) and edit rights on the list. Our running sample is a SharePoint list called Software Details:

ColumnTypeNotes
Software NameTitle (single line of text)Adobe Photoshop, Microsoft Office, Visual Studio, Slack
CostNumberLicense cost in USD
Company NameSingle line of textAdobe, Microsoft, Salesforce
ExpertsMultiple lines of textNames separated by a comma and a space
PlatformChoiceWindows, Mac, Linux
Software Details SharePoint list with the Experts column holding comma separated names

The app’s home screen shows the list in a gallery, and each row’s DETAILS button opens an edit form for that item. If you haven’t built that part yet, follow show a Power Apps form based on the gallery selection first.

Power Apps gallery DETAILS button opening the software item in an edit form

Step 1: Add the Add Expert Button

The edit form shows the Experts field and an Add Expert button below it. The button adds the signed-in user’s name to the field and saves it back to SharePoint.

Software Dashboard edit form with the Experts field and the Add Expert button
  1. Select the Add Expert button.
  2. Pick OnSelect in the property dropdown on the left of the formula bar (fx).
  3. Paste the formula below.
Set(
    UpdatedText,
    If(
        IsBlank(DataCardValue4.Text),
        User().FullName,                       // first expert
        User().FullName in DataCardValue4.Text,
        DataCardValue4.Text,                   // already listed: keep the text
        DataCardValue4.Text & ", " & User().FullName
    )
);
Patch(
    'Software Details',
    LookUp('Software Details', ID = Gallery1.Selected.ID),
    {Experts: UpdatedText}
);
Set(varShowPopup, false)

DataCardValue4 is the Experts text box inside the form, and Gallery1 is the home-screen gallery. User().FullName returns the signed-in person’s display name (see getting current user details in Power Apps), and the Patch function writes the new text to the list.

Important: the original version of this formula used IsMatch(DataCardValue4.Text, User().FullName) to skip duplicates. IsMatch checks the whole string by default, so it only caught a duplicate when your name was the only one in the field. The in operator checks whether the name appears anywhere in the text.

Checkpoint: Click Add Expert in Preview (or hold Alt and click it in the editor). Your name appears at the end of the Experts field, and a second click doesn’t add it again.

Step 2: Add a Custom Card to the Edit Form

The clickable names need their own space inside the form, so we add a blank card.

  1. Select the edit form and open Edit fields in the Properties pane.
  2. Select More actions (…) and choose Add a custom card.
Edit fields pane in Power Apps with the Add a custom card option selected

Drag the new card so it sits under the Experts field and above the Add Expert button.

New blank custom data card placed between the Experts field and the Add Expert button

Step 3: Insert a Blank Gallery Inside the Card

Select the custom card, then Insert > Blank vertical gallery (a blank horizontal gallery also works if you want the names in one row). Power Apps often drops the gallery on the screen instead of in the card; if that happens, cut it (Ctrl+X), select the card and paste it (Ctrl+V).

Insert menu with Blank vertical gallery and the gallery placed inside the custom data card

Step 4: Add a Button and Split the Names

Select the gallery and insert a Button. Because it sits in the gallery template, Power Apps repeats it for every row.

Button inserted into the blank gallery template and repeated for each gallery row

Now set the gallery’s Items property so each name becomes a row. Split returns a one-column table whose column is called Value (more examples in the Power Apps Split function tutorial):

Split(DataCardValue4.Text, ",")
Gallery Items property set to Split of the Experts field text by comma

Step 5: Show Each Name on Its Button

Select the button inside the gallery and set its Text property to ThisItem.Value.

Gallery button Text property set to ThisItem.Value showing each expert name

Checkpoint: The gallery shows one button per name in the Experts field. With two experts on the Microsoft Office item, you see two buttons.

Step 6: Open an Email When a Name Is Clicked

Select the gallery button, choose OnSelect and enter:

Launch("mailto:" & Trim(ThisItem.Value))

Split on a comma leaves a leading space on every name after the first, so Trim removes it before the address is built. A mailto: link opens the device’s default mail app, not a browser tab. For subject and body parameters, see how to launch an email in Power Apps.

Save with Ctrl+S, then publish the app.

Test the App

  1. Play the app and select DETAILS on any software item.
  2. Click Add Expert. A new name button appears in the gallery.
  3. Click a name button. A new email message opens with that name in the To line.

Back in SharePoint, refresh the list. The Experts column on that item now includes the name you added from the app.

Software Details list in SharePoint showing the updated Experts value for the item

Note: a display name only works as a mailto: recipient when your mail app can resolve it against your directory. The next section makes it bulletproof.

Make It Dynamic: Store Email Addresses Instead of Names

Swap User().FullName for User().Email in the Add Expert formula (all three places), and each button’s mailto: gets a real address. Keep the button Text as Trim(ThisItem.Value) or show the address as-is.

Tip: TrimEnds(Split(DataCardValue4.Text, ",")) in the gallery Items trims every row at once, so you don’t need Trim in each formula. More text clean-up ideas are in the Power Apps Trim guide.

Open the Link in a New Tab or the Same Tab

Launch opens a new tab by default in a browser. Pass the parameters as a record to choose a target:

Launch("https://www.spguides.com/power-apps/", {}, LaunchTarget.New)      // new tab (default)
Launch("https://www.spguides.com/power-apps/", {}, LaunchTarget.Replace)  // same tab, the app closes
Launch("https://www.spguides.com/power-apps/", {}, "SPGuidesTab")         // named tab, reused

When I tested these in a published app, Replace sent the player tab to the page, and a named target clicked twice reused the same single tab. In an app embedded in SharePoint or Power BI, use only New; Microsoft says other targets aren’t supported there.

Troubleshooting

  • The label does nothing in the editor: Launch runs only in behavior properties such as OnSelect. Test with Preview or Alt+click.
  • The HTML text link ignores my OnSelect: that’s by design. Use a label with Launch when you need Power Fx to run.
  • Duplicate names in Experts: replace IsMatch with the in check from Step 1.
  • The gallery sits outside the form: cut it and paste it while the custom card is selected.
  • You need clickable URLs from a list column: use a label in the gallery with Launch(ThisItem.Link), as in adding a hyperlink in a Power Apps gallery.

Where to Take It Next

Next, turn the name buttons into a contact card with a profile picture, or send the email with a flow instead of mailto:. Both build on ideas from the Power Apps tutorials hub.

If you’re adding more clickable actions to your forms, these guides pick up where this one stops:

Frequently Asked Questions

How do I make text a hyperlink in Power Apps?

Add a text label, set Underline to true and a link color, then set OnSelect to Launch(“https://your-url”). For a link inside a sentence, use an HTML text control with an <a href> tag, or use the modern Link control’s Text and Url properties.

Can a Power Apps text input be a hyperlink?

Not directly. A text input is for typing, so clicking it puts the cursor in the box. Show the value in a label or a gallery button and call Launch from OnSelect, as this form does with the Experts names.

How do I open a Power Apps link in a new tab?

Launch opens a new tab by default in a browser. To be explicit, use Launch(url, {}, LaunchTarget.New); use LaunchTarget.Replace for the same tab. The targets are listed in the Launch and Param functions reference.

Why doesn’t OnSelect run when I click a link in an HTML text control?

Microsoft notes that OnSelect is ignored for hyperlinks inside the HtmlText content; the browser follows the link instead. See the HTML text control reference.

How do I launch mailto from Power Apps?

Use Launch(“mailto:” & address) in OnSelect, for example Launch(“mailto:” & User().Email). It opens the default mail app with the address in the To line.