Google / Gemini
The mappings below reflect observed export structures verified against community-verified export data and Google Takeout documentation. Google does not natively support PAM. These mappings are best-effort compatibility guidance. Provider export formats may change without notice. Importers MUST be versioned.
How to export
Section titled “How to export”- Go to takeout.google.com
- Deselect all, then select My Activity → Gemini Apps
- Click “Multiple formats” and change the format from HTML to JSON
- Request the export and download the resulting archive
- The relevant file is at
Takeout/My Activity/Gemini Apps/MyActivity.json
Export files
Section titled “Export files”| File | Description |
|---|---|
Takeout/My Activity/Gemini Apps/MyActivity.json | Single JSON array of activity events |
Export structure
Section titled “Export structure”The Takeout format is an activity log, not a conversation archive. Each entry records a single interaction with a
timestamp and conversation URL. To reconstruct full conversations, an importer must group entries by conversation ID (
extracted from the titleUrl field) and sort by time.
Field mappings
Section titled “Field mappings”Activity event mapping
Section titled “Activity event mapping”Each array element is a single prompt-response exchange:
| Provider field | PAM field | Transform |
|---|---|---|
titleUrl | provider.conversation_id | extract conversation ID from URL path (/app/c/<id>) |
| — | title | extract from first user message per conversation, or null |
time | created_at | direct (already ISO 8601) |
| — | provider.name | hardcode "gemini" |
Message mapping — variant A (details array)
Section titled “Message mapping — variant A (details array)”Some exports use a details array of named key-value pairs:
{ "header": "Gemini", "title": "Used Gemini Apps", "titleUrl": "https://gemini.google.com/app/c/<conversation_id>", "time": "2024-02-17T22:05:10.123Z", "products": ["Gemini Apps"], "details": [ { "name": "Request", "value": "User prompt here" }, { "name": "Response", "value": "Gemini response here" } ]}| Provider field | PAM field | Transform |
|---|---|---|
details[].value | content.text | direct |
details[].name | role | "Request"→"user", "Response"→"assistant" |
Message mapping — variant B (userInteractions array)
Section titled “Message mapping — variant B (userInteractions array)”Other exports use a userInteractions array with serialized JSON strings:
{ "header": "Gemini", "title": "Used Gemini Apps", "titleUrl": "https://gemini.google.com/app/c/<conversation_id>", "time": "2024-01-26T12:45:12.686Z", "products": ["Gemini Apps"], "userInteractions": [ { "userInteraction": { "endpoint": 2, "request": "[{...}]", "response": "[{...}]" } } ]}| Provider field | PAM field | Transform |
|---|---|---|
userInteractions[].userInteraction.request | content.text | parse JSON string, extract text |
userInteractions[].userInteraction.response | content.text | parse JSON string, extract text |
| — | role | request→"user", response→"assistant" |
SDK Converters
Section titled “SDK Converters”PAM import support for Gemini is provided by official SDK Converters maintained by the PAM project. See the Importing Guide for general import instructions and the Provider Overview for the full compatibility matrix.