func (c *client) Start(startTemplate swf.StartWorkflowExecutionInput, id string, input interface{}) (*swf.StartWorkflowExecutionOutput, error) { var serializedInput *string if input != nil { ser, err := c.f.Serializer.Serialize(input) if err != nil { return nil, errors.Trace(err) } serializedInput = S(ser) } startTemplate.Domain = S(c.f.Domain) startTemplate.WorkflowID = S(id) startTemplate.Input = serializedInput return c.c.StartWorkflowExecution(&startTemplate) }