Here are some examples of interactive: 
(defun foo1 ()              ; foo1 takes no arguments,
    (interactive)           ;   just moves forward two words.
    (forward-word 2))
     ⇒ foo1
(defun foo2 (n) ;foo2takes one argument, (interactive "^p") ; which is the numeric prefix. ; undershift-select-mode, ; will activate or extend region. (forward-word (* 2 n))) ⇒ foo2
(defun foo3 (n)             ; foo3 takes one argument,
    (interactive "nCount:") ;   which is read with the Minibuffer.
    (forward-word (* 2 n)))
     ⇒ foo3
(defun three-b (b1 b2 b3) "Select three existing buffers. Put them into three windows, selecting the last one."
    (interactive "bBuffer1:\nbBuffer2:\nbBuffer3:")
    (delete-other-windows)
    (split-window (selected-window) 8)
    (switch-to-buffer b1)
    (other-window 1)
    (split-window (selected-window) 8)
    (switch-to-buffer b2)
    (other-window 1)
    (switch-to-buffer b3))
     ⇒ three-b
(three-b "*scratch*" "declarations.texi" "*mail*")
     ⇒ nil
    Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc. 
Licensed under the GNU GPL license.
    https://www.gnu.org/software/emacs/manual/html_node/elisp/Interactive-Examples.html