if you make the bed a physical door it will say Open Skyrim or whatever cell it leads to, instead of Sleep Bed (which would be an immersion breaker depending on what you're trying to achieve)
for a more immersive effect, if your intent is to transport the player into a new area after they sleep in the bed (actual sleep with the selectable hours etc), try this:
place your actual door (the one that is connected to your custom world) somewhere either clipped into a wall or off in the void space. i suggest creating a brand new door object like slucky says above, but do not use any kind of fancy mesh, just use a plain Black Plane or xmarker (this door will never be seen by anyone)
connect this door to your world as usual and place the teleport markers where they need to be (the return marker would be placed near the bed furniture). finalize your navmeshes so the doors actually work.
attach this script to the bed reference (this will only work if the bed is the only one in the interior, otherwise any bed in the cell will teleport them)
ObjectReference Property DoorMarker autoEvent OnCellAttach() RegisterForSleep()EndEventEvent OnCellDetach() UnregisterForSleep()EndEventEvent OnSleepStart(float afSleepStartTime, float afDesiredSleepEndTime) DoorRef.Activate(Game.GetPlayer()EndEvent
For a script that works on a specific bed ONLY
ObjectReference Property DoorRef AutoEvent OnActivate(ObjectReference akActionRef) if (akActionRef == Game.GetPlayer()) DoorRef.Activate(akActionRef) EndIfEndEvent
point your DoorRef property to your door object in the render window
you can also throw in a Utility.Wait(#.#) in there just before the DoorRef.Activate to delay the door being activated. replace the #.# with a float value (like 1.0 for 1 second)