---
title: Develop and maintain nodes
description: The following table describes the tasks involved in developing and maintaining custom nodes:
component: pingam
version: 8.1
page_id: pingam:auth-nodes:develop-maintain-nodes
canonical_url: https://docs.pingidentity.com/pingam/8.1/auth-nodes/develop-maintain-nodes.html
keywords: ["Extensibility", "Nodes &amp; Trees"]
---

# Develop and maintain nodes

The following table describes the tasks involved in developing and maintaining custom nodes:

| Task                                                                                                                                                                                                                 | Resources                                                              |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| Create a Java class that implements the `Node` interfaceThis class is your custom authentication node. It should define all aspects of your node, such as configuration data, version, outcomes, and business logic. | [Node class](core-class.html)                                          |
| Create versioned nodesCreate new versions of a node and define the upgrade logic to transform the node's configuration from one version to another.                                                                  | [Create versioned nodes](create-versioned-nodes.html)                  |
| Store values in shared tree stateUse the tree state to store values for use by downstream nodes.                                                                                                                     | [Store values in shared tree state](store-values-shared-state.html)    |
| Access an identity's profileRead or write data to and from an identity's profile. The identity must be verified before it can be accessed.                                                                           | [Access an identity's profile](access-identity-profile.html)           |
| Include callbacksUse existing callbacks to interact with the authenticating user.                                                                                                                                    | [Include callbacks](include-callbacks.html)                            |
| Handle multiple visits to a nodeAllow the authentication flow to return to the same node if needed.                                                                                                                  | [Handle multiple visits to the same node](handle-multiple-visits.html) |
| Create a plugin class that implements the `AmPlugin` interfaceThe plugin class provides details about your node to AM.                                                                                               | [Plugin class](plugin-class.html)                                      |
