diff --git a/scribus/plugins/scriptplugin/cmdobj.cpp b/scribus/plugins/scriptplugin/cmdobj.cpp
index 61c14baa9..465992a59 100644
--- a/scribus/plugins/scriptplugin/cmdobj.cpp
+++ b/scribus/plugins/scriptplugin/cmdobj.cpp
@@ -827,6 +827,24 @@ PyObject *scribus_getcharstylenames(PyObject* /* self */)
 	return charStyleList;
 }
 
+PyObject *scribus_setobjectname(PyObject * /* self */, PyObject *args)
+{
+	char* name = const_cast<char*>("");
+	char* newName = const_cast<char*>("");
+	if (!PyArg_ParseTuple(args, "es|es", "utf-8", &newName, "utf-8", &name))
+		return nullptr;
+	if (!checkHaveDocument())
+		return nullptr;
+
+	PageItem* item = GetUniqueItem(QString::fromUtf8(name));
+	if (item == nullptr)
+		return nullptr;
+
+	item->setItemName(newName);
+
+	return PyUnicode_FromString(item->itemName().toUtf8());
+}
+
 PyObject *scribus_duplicateobject(PyObject * /* self */, PyObject *args)
 {
 	char* name = const_cast<char*>("");
@@ -896,5 +914,5 @@ PV */
 void cmdobjdocwarnings()
 {
 	QStringList s;
-	s << scribus_newrect__doc__ <<scribus_newellipse__doc__ << scribus_newimage__doc__ << scribus_newtext__doc__ << scribus_newtable__doc__ << scribus_newline__doc__ <<scribus_polyline__doc__ << scribus_polygon__doc__ << scribus_bezierline__doc__ <<scribus_pathtext__doc__ <<scribus_deleteobj__doc__ <<scribus_textflow__doc__ <<scribus_objectexists__doc__ <<scribus_getstyle__doc__ <<scribus_setstyle__doc__ <<scribus_getstylenames__doc__ <<scribus_getcharstylenames__doc__ <<scribus_duplicateobject__doc__ <<scribus_copyobject__doc__ <<scribus_pasteobject__doc__;
+	s << scribus_newrect__doc__ <<scribus_newellipse__doc__ << scribus_newimage__doc__ << scribus_newtext__doc__ << scribus_newtable__doc__ << scribus_newline__doc__ <<scribus_polyline__doc__ << scribus_polygon__doc__ << scribus_bezierline__doc__ <<scribus_pathtext__doc__ <<scribus_deleteobj__doc__ <<scribus_textflow__doc__ <<scribus_objectexists__doc__ <<scribus_getstyle__doc__ <<scribus_setstyle__doc__ <<scribus_getstylenames__doc__ <<scribus_getcharstylenames__doc__ <<scribus_setobjectname__doc__ <<scribus_duplicateobject__doc__ <<scribus_copyobject__doc__ <<scribus_pasteobject__doc__;
 }
diff --git a/scribus/plugins/scriptplugin/cmdobj.h b/scribus/plugins/scriptplugin/cmdobj.h
index 68fad185c..2458f5323 100644
--- a/scribus/plugins/scriptplugin/cmdobj.h
+++ b/scribus/plugins/scriptplugin/cmdobj.h
@@ -301,6 +301,17 @@ Return a list of the names of all character styles in the current document.\n\
 "));
 PyObject *scribus_getcharstylenames(PyObject * /*self*/);
 
+/*! docstring */
+PyDoc_STRVAR(scribus_setobjectname__doc__,
+QT_TR_NOOP("setItemName(\"newName\"[, \"name\"]) -> string\n\
+\n\
+Sets a new name to the item and returns the name applied.\n\
+"));
+/**
+ Ale Rimoldi, 2019-11-22
+ Set the name of an item
+*/
+PyObject *scribus_setobjectname(PyObject * /* self */, PyObject *args);
 
 /*! docstring */
 PyDoc_STRVAR(scribus_duplicateobject__doc__,
