I think you could add in something like:
SELECT user_id, CURRENT_TIMESTAMP AS granted_at
FROM gamification_scores
WHERE date >= CURRENT_DATE - INTERVAL '1 MONTH'
AND user_id > 0
AND (:backfill OR user_id IN (:user_ids))
GROUP BY 1
HAVING SUM(score) > 1000