Hi badbee and welcome to VBAX

Here's some code that shows the basic method - as you can see, by referring to the placeholder object on the slidemaster, you can get its properties and use them to set up the new textbox.
Sub AddCustomTextbox()
Dim objTextBox As Shape
Dim objMasterTextBox As Shape
Dim shp As Shape
'get a reference to the body text placeholder on the slide master
    For Each shp In ActivePresentation.SlideMaster.Shapes.Placeholders
        If shp.PlaceholderFormat.Type = ppPlaceholderBody Then
            Set objMasterTextBox = shp
            Exit For
        End If
    Next
If objMasterTextBox Is Nothing Then
        MsgBox "No body textbox found on slidemaster"
    Else
        'add textbox with size
        Set objTextBox = ActiveWindow.Selection.SlideRange.Shapes.AddTextbox( _
            msoTextOrientationHorizontal, 50, 50, 400, 24)
        With objTextBox.TextFrame
            .AutoSize = ppAutoSizeShapeToFitText
            .TextRange.Text = "[Enter Text]"
            .TextRange.ParagraphFormat.Bullet.Visible = msoFalse
        End With
        'match format with that of objMasterTextBox
        'use the first paragraph, in case there is a mixture in the placeholder
        With objTextBox.TextFrame.TextRange.Font
            .Name = objMasterTextBox.TextFrame.TextRange.Paragraphs(1).Font.Name
            .Size = objMasterTextBox.TextFrame.TextRange.Paragraphs(1).Font.Size
            .Bold = objMasterTextBox.TextFrame.TextRange.Paragraphs(1).Font.Bold
            .Italic = objMasterTextBox.TextFrame.TextRange.Paragraphs(1).Font.Italic
        End With
        'set more properties as required...
End If
    objTextBox.TextFrame.TextRange.Characters.Select
End Sub
There are a lot of approaches to building this into custom functionality. If you frequently want to add pre-defined shapes (dynamic or otherwise), it might be better to create a class module and use the code it's Initialize event - then each time you want a new shape, just create an instance of that class.