# system.kanoa.cmms.addProcedure(procedureInfo, userId)

Creates a new maintenance procedure and assigns it to a procedure category. Call this function when defining a new repeatable maintenance or inspection workflow (e.g. "Weekly Conveyor Belt Inspection") that technicians will later execute step by step.
All procedureInfo keys are required unless otherwise stated.

---
### Parameters
**procedureInfo** `Dictionary`<br />
<table class='dictionaryKeyTable'>
	<tbody>
 	<tr><td> - enabled</td><td>Boolean</td><td>Not required. Will be set to True</td></tr>	
 	<tr><td> - procedureCategoryId</td><td>Integer</td><td></td></tr>	
 	<tr><td> - procedureDescription</td><td>String</td><td>Not required</td></tr>	
 	<tr><td> - procedureName</td><td>String</td><td>Name of procedure</td></tr>	
	</tbody>
</table>

**userId** `Integer`:Id of the user executing the function<br />

---
### Returns
**procedureId** `Integer`<br />
**message** `String` None if success<br />

---
### Example
```python
userId = system.kanoa.security.getIDPUserId({'userName': 'SYSTEM'})
procedureInfo = {
                    'enabled': True, 
                    'procedureCategoryId': None, 
                    'procedureName': 'CNC Lube', 
                    'procedureDescription': 'CNC Coolant and Lubrication Service'
                }
procedureId, msg = system.kanoa.cmms.addProcedure(procedureInfo, userId)

print procedureId, msg 
```
