private void addExternalProgram() {
		InputDialog dialog = new InputDialog("New External Program", "Enter Name");
		dialog.setHelpLocation(new HelpLocation("ReferencesPlugin", "Add_External_Program_Name"));
		getTool().showDialog(dialog, ExternalReferencesProvider.this);
		if (dialog.isCanceled()) {
			return;
		}
		String newExternalName = dialog.getValue().trim();
		if (newExternalName.isEmpty()) {
			Msg.showError(this, dialog.getComponent(), "Invalid Input",
				"External program name cannot be empty");
			return;
		}
		AddExternalNameCmd cmd = new AddExternalNameCmd(newExternalName, SourceType.USER_DEFINED);
		getTool().execute(cmd, program);
	}
ComponentProvider that displays a table of External Programs.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/references/ExternalReferencesProvider.java