> For the complete documentation index, see [llms.txt](https://docs.tryterra.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tryterra.co/faq/help-topics/webhook/storage-destinations-s3-sqs-supabase-sql-gcs/gcs-upsert-permissions.md).

# Why are my GCS files missing fields seen in webhooks?

Differences between your [cloud storage files](https://docs.tryterra.co/health-and-fitness-api/integration-setup/setting-up-data-destinations/cloud-storage-s3-gcp) and the webhook payloads usually trace back to a bucket permissions issue.

Terra performs **upserts** when writing files, which requires delete/overwrite permission on the storage objects. If the service account can't overwrite, an earlier record stays in place and later (populated) updates never land.

**Grant the Terra service account object delete access** so updated records can overwrite the earlier ones.
