> For the complete documentation index, see [llms.txt](https://community-test.logicnets.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://community-test.logicnets.com/release-9/platform-documentation/system-administration/package-installation/post-installation-jobs.md).

# Post-Installation Jobs

## Overview

Post-installation jobs -- also called post-install jobs -- are process-oriented logicnets that the system runs after you install a published package. Examples of typical post-install jobs include modeled [user management](/release-9/platform-documentation/process-node-parts/usermanagement.md) functions like creating user groups and setting roles, and setting initial data using [database parts](/release-9/platform-documentation/data-and-data-tables.md). You can also use post-installation jobs to perform data conversion.

## Identifying Post-Installation Jobs

You must house post-installation jobs within a direct subfolder of the logicnets folder in the application. This folder is called *postinstalljobs*, and the system does not create this folder automatically. You add it using the New Folder tool in the Project Explorer toolbar. The system runs logicnets located here after you install the associated published package.

![](https://2802811211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdFhfexCjZ5JMhwGzzywq%2Fuploads%2Fgit-blob-ea969e6208a9a2aba47b47a93c79a804b71ae9e2%2F1a69e449-77a6-4b6e-801f-d0174526d38e.jpg?alt=media)

## Creating Post-Installation Jobs

A post-installation job is a logicnet containing only processing and pathway nodes. It should not contain form or form-part nodes, because post-installation jobs run without any user interaction.

1. Open the project in which you want to create your post-installation job.
2. Navigate to the logicnets folder in the tree view and create a subfolder called ***postinstalljobs***.
3. In the this folder, create a logicnet for each job. Note: You can add multiple post-installation job logicnets to this folder, but each logicnet should be a separate, invokable job. The logicnet can reach out to logicnets outside of the *postinstall* subfolder, but the invoked logicnets themselves must be in the *postinstalljobs* subfolder.
4. Model the postinstalljob logicnet to perform the processing you want it to do. Remember to use only process nodes and system-facing node types.
5. When you have finished creating your logicnet publish the project. You can only install and trigger post-installation jobs from published projects.

## Running Post-Installation Jobs

When you install a package using the Package Installer the system searches for any post-installation jobs contained in the package and runs them accordingly. When you upgrade a package installation the system searches for all post-installation jobs in all installed packages and runs them in the order in which the packages were installed.

There are both simple and advanced ways to start the post-install process, as detailed here:

### Simple Start: All Users

Install your published package using the [Package Installer](/release-9/platform-documentation/system-administration/package-installation/package-installer.md), which provides an installation user interface and is available in all LogicNets installations. Once your package is installed, the system accesses the logicnets you created in the postinstalljobs folder and runs them.

### Advanced Start: Developers and Other Technical Users

If you install your packages using the command line or have created an installer for your your packages, you can also use the following methods for starting post-installation jobs:

* **run\_postinstalljobs.bat**: Run this from the cmd line. The system calls the post-installation jobs directly without first installing the packages. It runs all post-install jobs.
* **install\_package.bat**: Run this from the cmd line. The system first installs all packages and then calls the post-install jobs directly. The primary difference between using this command and the Package Installer is that this command installs/reinstalls all packages rather than selected ones.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://community-test.logicnets.com/release-9/platform-documentation/system-administration/package-installation/post-installation-jobs.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
