Heat oil in a Dutch oven over medium heat. Add the onion and cook until softened. Add the couscous and toast until slightly darkened in color (3 to 5 minutes), stirring constantly. Add the broth and bay leaf and bring to a boil. Reduce the heat to low and bring to a simmer. Cover and cook until the liquid is absorbed and the couscous is tender, about 15 – 17 minutes.
Discard the bay leaf. Add the dates, walnuts, scallions, parsley, and zest. Stir to combine. Season with lemon juice, salt, and pepper to taste.