external activity api: cache activities by name

When updating, activities were using 'url' as a hash key, but they don't have that attribute.