# URL in message box from BPM

**URL:** <https://www.epiusers.help/t/url-in-message-box-from-bpm/65910>\
**Category:** Epicor ERP 10\
**Tags:** e10, bpm\
**Created:** [March 30, 2020, 3:44pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910 "2020-03-30T15:44:58Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![scline](https://www.epiusers.help/letter_avatar_proxy/v4/letter/s/8c91f0/32.png) [@scline](https://www.epiusers.help/u/scline)\
**Post date:** [March 30, 2020, 3:44pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/1 "2020-03-30T15:44:58Z")

</div>

Hello everyone. I’m trying to put a URL into a message box (generated from a BPM). I’ve tried just typing the URL and I’ve tried it as an HTML tag within the body of the message template. Both ways _look_ ok, but the link isn’t clickable on the popup. Does anyone have any ideas on what I’m missing?  
Thanks.

 ![image](https://epiusers.help/uploads/default/original/3X/8/3/83017cfd088988bd6a596cd12d8f2ab31d3eb661.png)

---

<div class="post-metadata">

**Author:** ![josecgomez](https://www.epiusers.help/user_avatar/www.epiusers.help/josecgomez/32/55731_2.png) [@josecgomez](https://www.epiusers.help/u/josecgomez)\
**Post date:** [March 30, 2020, 3:47pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/2 "2020-03-30T15:47:46Z")

</div>

Does Ctrl Click Work?

---

<div class="post-metadata">

**Author:** ![scline](https://www.epiusers.help/letter_avatar_proxy/v4/letter/s/8c91f0/32.png) [@scline](https://www.epiusers.help/u/scline)\
**Post date:** [March 30, 2020, 3:50pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/3 "2020-03-30T15:50:29Z")

</div>

Nope

---

<div class="post-metadata">

**Author:** ![ckrusen](https://www.epiusers.help/user_avatar/www.epiusers.help/ckrusen/32/50584_2.png) [@ckrusen](https://www.epiusers.help/u/ckrusen)\
**Post date:** [March 30, 2020, 4:53pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/4 "2020-03-30T16:53:40Z")

</div>

How about the BPM updates a main menu item that references a URL, then use ProcessCaller.LaunchForm to launch it.

---

<div class="post-metadata">

**Author:** ![scline](https://www.epiusers.help/letter_avatar_proxy/v4/letter/s/8c91f0/32.png) [@scline](https://www.epiusers.help/u/scline)\
**Post date:** [March 30, 2020, 7:28pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/5 "2020-03-30T19:28:40Z")

</div>

Thanks for the reply. I know how to use ProcessCaller.LaunchForm in a customization, but I can’t seem to figure out how to use it in a custom code block of a BPM. Do you have any tips?

---

<div class="post-metadata">

**Author:** ![ckrusen](https://www.epiusers.help/user_avatar/www.epiusers.help/ckrusen/32/50584_2.png) [@ckrusen](https://www.epiusers.help/u/ckrusen)\
**Post date:** [March 30, 2020, 7:33pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/6 "2020-03-30T19:33:28Z")

</div>

At first I tried launching it from a Cust Code widget, but got stymied when I couldn’t figure out what reference or assembly was needed.

I Switched to trying it as code in a customization of a BPM Form but ended up getting:

![image](https://epiusers.help/uploads/default/original/3X/4/b/4b625de0a172ab34e2d1f12401c95b01918bf719.png)

🤔

Maybe the LaunchForm() isn’t the way to go…

---

<div class="post-metadata">

**Author:** ![ckrusen](https://www.epiusers.help/user_avatar/www.epiusers.help/ckrusen/32/50584_2.png) [@ckrusen](https://www.epiusers.help/u/ckrusen)\
**Post date:** [March 30, 2020, 7:44pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/7 "2020-03-30T19:44:11Z")

</div>

I spoke too soon! I had the Menu set as a URL Link. I changed it to External process:  
 ![image](https://epiusers.help/uploads/default/original/3X/b/8/b85aa661bc1af5c2cd888e3f11eb1bc5740297eb.png)

Now when the code in the BPM form runs, it launches the browser and opens the page specified in the menu item.

Now you’ll have to see if updating the Menu table via code (changing `Menu.Program` to point to your desired URL), will work, or if its that annoying “menus are only loaded during startup”, and changes don’t take effect until the next tim you launch the client.

---

<div class="post-metadata">

**Author:** ![scline](https://www.epiusers.help/letter_avatar_proxy/v4/letter/s/8c91f0/32.png) [@scline](https://www.epiusers.help/u/scline)\
**Post date:** [March 30, 2020, 7:57pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/8 "2020-03-30T19:57:12Z")

</div>

> [@ckrusen](#):
>
> At first I tried launching it from a Cust Code widget, but got stymied when I couldn’t figure out what reference or assembly was needed.

Yes, that’s exactly where I’m stuck. So you didn’t end up using an “Execute Custom Code” widget in the BPM? I’m trying to get my scenario working that way in a Method Directive BPM. I see you’re referencing a BPM form customization. I’m not familiar with those. I will have to do some research on that.  
Thanks!

---

<div class="post-metadata">

**Author:** ![ckrusen](https://www.epiusers.help/user_avatar/www.epiusers.help/ckrusen/32/50584_2.png) [@ckrusen](https://www.epiusers.help/u/ckrusen)\
**Post date:** [March 30, 2020, 7:59pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/9 "2020-03-30T19:59:56Z")

</div>

I only went with the BPM form, as I found sample code (on here) on launching a menu item

---

<div class="post-metadata">

**Author:** ![scline](https://www.epiusers.help/letter_avatar_proxy/v4/letter/s/8c91f0/32.png) [@scline](https://www.epiusers.help/u/scline)\
**Post date:** [March 31, 2020, 3:25pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/10 "2020-03-31T15:25:34Z")

</div>

Ok, I know a little bit about BPM forms now and I like them! LOL.  
I created a menu item in the regular client to open the URL and was trying to have the customization on the BPM form open that menu item. Are we not able to call a menu from MES to the regular client like that? I’m getting this error.  
 ![image](https://epiusers.help/uploads/default/original/3X/1/d/1d6b7f43eea68074c3e60e2bf510775c9cf72c9d.png)

---

<div class="post-metadata">

**Author:** ![ckrusen](https://www.epiusers.help/user_avatar/www.epiusers.help/ckrusen/32/50584_2.png) [@ckrusen](https://www.epiusers.help/u/ckrusen)\
**Post date:** [March 31, 2020, 4:00pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/11 "2020-03-31T16:00:09Z")

</div>

I’m guessing that you’d need to add the menu item to the MES menu to. We don’t use MES, so I’m not sure if it can be added as a process menu.

---

<div class="post-metadata">

**Author:** ![danbedwards](https://www.epiusers.help/letter_avatar_proxy/v4/letter/d/9f8e36/32.png) [@danbedwards](https://www.epiusers.help/u/danbedwards)\
**Post date:** [March 31, 2020, 4:31pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/12 "2020-03-31T16:31:20Z")

</div>

You could just pass back an indicator and message to the UI using the callContext and then use the UI side to do something like this. Clicking yes would start their default browser and open the site. Just another option.

 ![image](https://epiusers.help/uploads/default/original/3X/b/a/ba1f207ac979344a32e7d3e77b3a94b8d0150103.png)

---

<div class="post-metadata">

**Author:** ![ckrusen](https://www.epiusers.help/user_avatar/www.epiusers.help/ckrusen/32/50584_2.png) [@ckrusen](https://www.epiusers.help/u/ckrusen)\
**Post date:** [March 31, 2020, 5:57pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/13 "2020-03-31T17:57:55Z")

</div>

And would that be a customization in the BPMForm?

And if so, what would be the code to do that?

---

<div class="post-metadata">

**Author:** ![danbedwards](https://www.epiusers.help/letter_avatar_proxy/v4/letter/d/9f8e36/32.png) [@danbedwards](https://www.epiusers.help/u/danbedwards)\
**Post date:** [March 31, 2020, 6:14pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/14 "2020-03-31T18:14:30Z")

</div>

You could do it in the BPM Form Customization or just return it to the User Interface that was calling the BPM. Let’s say the BPM passed back a CheckBox that indicated to display the message and then a Character field that becomes returnURL below. Basic example without BpmData hooks.

```cs
DialogResult dialogResult = MessageBox.Show(string.Format("More information can be found at {0}. Would you like to open this site?",returnURL), "Question", MessageBoxButtons.YesNo);
		if(dialogResult == DialogResult.Yes)
		{
			System.Diagnostics.Process.Start(returnURL);
		}
```

---

<div class="post-metadata">

**Author:** ![hkeric.wci](https://www.epiusers.help/user_avatar/www.epiusers.help/hkeric.wci/32/52019_2.png) [@hkeric.wci](https://www.epiusers.help/u/hkeric.wci)\
**Post date:** [March 31, 2020, 6:47pm UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/15 "2020-03-31T18:47:25Z")

</div>

Here is if you want to get fancy 🙂 you can take out sections you dont want and even further customize it and use full html in the text such as `<h1>` etc.

> **[UltraMessageBoxInfo Class Members - Infragistics Windows Forms™ Help](https://www.infragistics.com/help/winforms/infragistics.win~infragistics.win.ultramessagebox.ultramessageboxinfo_members)**
>
> owing tables list the members exposed by UltraMessageBoxInfo. \<!-- Public Constructors NameDescription UltraMessageBoxInfo ConstructorOverloaded. ...

![image](https://www.epiusers.help/uploads/default/original/3X/b/e/be4f49e9a4c865a12cc2bd52cc44b3b48d224566.png)

```cs
Infragistics.Win.UltraMessageBox.UltraMessageBoxManager.Show(
	new Infragistics.Win.UltraMessageBox.UltraMessageBoxInfo {
		Caption = "Title Here",
		TextFormatted = "<a href=\"https://www.google.com/\">Click Here</a> to open up the google!",
		Style = Infragistics.Win.UltraMessageBox.MessageBoxStyle.Standard,
		HeaderFormatted = "<i>Do you want to continue?</i>",
		FooterFormatted = "Link to <a href=\"http://www.e10help.com\"> E10Help</a>.",
		Icon = MessageBoxIcon.Error,
		Buttons = MessageBoxButtons.YesNo,
		MinimumWidth = 400
	}
);

```

**UltraMessageBox** is as the name implies (ultra!) lol  
 ![image](https://www.epiusers.help/uploads/default/original/3X/9/8/9897be6c694e600edf5874990fbbb491f913433d.png)

![image](https://www.epiusers.help/uploads/default/original/3X/f/9/f92832617f34376f6bbf5c03efea02156ce33eed.png)

![image](https://www.epiusers.help/uploads/default/original/3X/c/c/cc659ed71e294aa92172db8f4a5867e6bf20777c.png)

---

<div class="post-metadata">

**Author:** ![scline](https://www.epiusers.help/letter_avatar_proxy/v4/letter/s/8c91f0/32.png) [@scline](https://www.epiusers.help/u/scline)\
**Post date:** [April 1, 2020, 1:41am UTC](https://www.epiusers.help/t/url-in-message-box-from-bpm/65910/16 "2020-04-01T01:41:09Z")

</div>

Thanks for everyone’s replies! I learned a lot from this post! Ultimately, it was another post that cleared it up for me. I ended up using a customization on the MES ShiftSelect form. Thanks to @utaylor for the answer in this other post! 🙂

> [@Load default custom App.ClockIn.ShiftSelect](https://www.epiusers.help/t/load-default-custom-app-clockin-shiftselect/46917/2):
>
> You need to name the shift customization the same as the MES customization. For example, if your MES customization is called MES\_123, then the customization name for the shift needs to be MES\_123.
