background
Apps can be either 3rd party (via the marketplace) or custom-created by administrators at the enterprise or organization level. For more broad information, see the github documentation:
GitHub Apps are tools that extend GitHub's functionality. GitHub Apps can do things on GitHub like open issues, comment on pull requests, and manage projects. They can also do things outside of GitHub based on events that happen on GitHub. For example, a GitHub App can post on Slack when an issue is opened on GitHub.
https://docs.github.com/en/apps/overview
automation / infrastructure-as-code
At time of writing, the terraform provider for github does not support creating/managing apps via terraform. This means an “infrastructure-as-code” (“IAC”) approach is not yet possible. See:
https://github.com/integrations/terraform-provider-github/issues/509