You can do practically anything to text or other objects. If you can think of it, I'm pretty sure that Emacs can accomplish that for you. Any transform, file action, font changes, etc etc.
Example, this auto-saves a given file. In this case, whenever I archive an org-mode subtree, the archive file is auto-saved:
435 │ ;; The `save-some-buffers` function can run silently, and it also accepts a
436 │ ;; function argument to predicate whether a buffer is saved or not.
437 │ ;; This predicate simply says "save the buffer's file if it's the notes archive
438 │ ;; file"
439 │ (defun redacted/save-notes-archive-file ()
440 │ (interactive)
441 │ (save-some-buffers 'no-confirm (lambda ()
442 │ (equal buffer-file-name
443 │ (expand-file-name redacted/notes-archive-file)))))
444 │
445 │ ;; Finally, the newly-defined function can advise the archive function. So,
446 │ ;; after a subtree in org is archived, the archive file will be automatically saved.
447 │ (advice-add 'org-archive-subtree :after #'redacted/save-notes-archive-file)