def start_workflow(self, workflow_name, delayed=False, **kwargs):
        """Run the workflow specified on the object.

        :param workflow_name: name of workflow to run
        :type workflow_name: str

        :param delayed: should the workflow run asynchronously?
        :type delayed: bool

        :return: UUID of WorkflowEngine (or AsyncResult).
        """
        from .tasks import start

        if delayed:
            self.save()
            db.session.commit()
            return start.delay(workflow_name, object_id=self.id, **kwargs)
        else:
            return start(workflow_name, data=[self], **kwargs)