# AgentPMT Marketplace Product (Agent Format)

Name: Google Meet
Product ID: 69928fa8aa85db8efed13eba
Vendor: Apoth3osis
Agent description: Create and manage Google Meet meeting spaces. View conference history including participants and join/leave times. Access meeting recordings (stored in Google Drive) and transcripts (stored as Google Docs) with speaker-attributed entries.
Price: 500 credits

External Agent API:
- Docs: https://www.agentpmt.com/external-agent-api
- Purchase credits: POST https://www.agentpmt.com/api/external/credits/purchase
- Create session: POST /api/external/auth/session
- Balance: POST https://www.agentpmt.com/api/external/credits/balance
- Invoke this tool: POST https://www.agentpmt.com/api/external/tools/69928fa8aa85db8efed13eba/invoke
- Workflows: GET https://www.agentpmt.com/api/external/workflows
- Workflow fetch: POST https://www.agentpmt.com/api/external/workflows/{workflowId}/fetch
- Workflow start: POST https://www.agentpmt.com/api/external/workflows/{workflowId}/start
- Workflow end: POST https://www.agentpmt.com/api/external/workflows/{workflowId}/end
- Workflow active: POST https://www.agentpmt.com/api/external/workflows/active
- Jobs list: POST https://www.agentpmt.com/api/external/jobs/list
- Job reserve: POST https://www.agentpmt.com/api/external/jobs/{jobId}/reserve
- Job complete: POST https://www.agentpmt.com/api/external/jobs/{jobId}/complete
- Job status: POST https://www.agentpmt.com/api/external/jobs/{jobId}/status
- Job workflow create: POST https://www.agentpmt.com/api/external/jobs/{jobId}/workflow/create
- Job workflow update: PUT https://www.agentpmt.com/api/external/jobs/{jobId}/workflow/{workflowId}
- Job workflow publish (private): POST https://www.agentpmt.com/api/external/jobs/{jobId}/workflow/{workflowId}/publish

Categories: Automation, Meeting & Calendar Scheduling, Team Collaboration & Workspaces, Task & Workflow Automation, Document Processing & OCR, Voice & Phone Systems, Video & Streaming

```json
{
  "actions": {
    "create_space": {
      "description": "Create a new Google Meet meeting space.",
      "properties": {
        "config": {
          "type": "object",
          "description": "Space configuration",
          "required": false,
          "properties": {
            "access_type": {
              "type": "string",
              "description": "OPEN (anyone joins), TRUSTED (org auto-join), RESTRICTED (invitees only)",
              "enum": [
                "OPEN",
                "TRUSTED",
                "RESTRICTED"
              ],
              "required": false
            },
            "entry_point_access": {
              "type": "string",
              "description": "Who can use entry points to join: ALL or CREATOR_APP_ONLY",
              "enum": [
                "ALL",
                "CREATOR_APP_ONLY"
              ],
              "required": false
            }
          }
        }
      }
    },
    "get_space": {
      "description": "Get details of an existing meeting space.",
      "properties": {
        "space_name": {
          "type": "string",
          "description": "Space resource name (e.g. spaces/abc123) or meeting code (e.g. abc-mnop-xyz)",
          "required": true
        }
      }
    },
    "update_space": {
      "description": "Update configuration of an existing meeting space.",
      "properties": {
        "space_name": {
          "type": "string",
          "description": "Space resource name or meeting code",
          "required": true
        },
        "config": {
          "type": "object",
          "description": "Updated space configuration",
          "required": false,
          "properties": {
            "access_type": {
              "type": "string",
              "description": "OPEN, TRUSTED, or RESTRICTED",
              "enum": [
                "OPEN",
                "TRUSTED",
                "RESTRICTED"
              ],
              "required": false
            },
            "entry_point_access": {
              "type": "string",
              "description": "ALL or CREATOR_APP_ONLY",
              "enum": [
                "ALL",
                "CREATOR_APP_ONLY"
              ],
              "required": false
            }
          }
        }
      }
    },
    "end_conference": {
      "description": "End the currently active conference in a space.",
      "properties": {
        "space_name": {
          "type": "string",
          "description": "Space resource name or meeting code",
          "required": true
        }
      }
    },
    "list_conference_records": {
      "description": "List conference records. Only returns conferences where the authenticated user is the organizer.",
      "properties": {
        "filter": {
          "type": "string",
          "description": "Filter expression (e.g. space.name=\"spaces/abc123\")",
          "required": false
        },
        "page_size": {
          "type": "integer",
          "description": "Max results per page (1-250, default 25)",
          "minimum": 1,
          "maximum": 250,
          "default": 25,
          "required": false
        },
        "page_token": {
          "type": "string",
          "description": "Pagination token from previous response",
          "required": false
        }
      }
    },
    "get_conference_record": {
      "description": "Get details of a specific conference record.",
      "properties": {
        "conference_record_name": {
          "type": "string",
          "description": "Conference record resource name (e.g. conferenceRecords/abc123)",
          "required": true
        }
      }
    },
    "list_participants": {
      "description": "List participants in a conference.",
      "properties": {
        "conference_record_name": {
          "type": "string",
          "description": "Conference record resource name",
          "required": true
        },
        "filter": {
          "type": "string",
          "description": "Filter by earliest_start_time or latest_end_time",
          "required": false
        },
        "page_size": {
          "type": "integer",
          "description": "Max results per page (1-250, default 25)",
          "minimum": 1,
          "maximum": 250,
          "default": 25,
          "required": false
        },
        "page_token": {
          "type": "string",
          "description": "Pagination token",
          "required": false
        }
      }
    },
    "get_participant": {
      "description": "Get details of a specific participant.",
      "properties": {
        "participant_name": {
          "type": "string",
          "description": "Participant resource name (e.g. conferenceRecords/abc/participants/xyz)",
          "required": true
        }
      }
    },
    "list_participant_sessions": {
      "description": "List individual join/leave sessions for a participant.",
      "properties": {
        "participant_name": {
          "type": "string",
          "description": "Participant resource name",
          "required": true
        },
        "page_size": {
          "type": "integer",
          "description": "Max results per page (1-250, default 25)",
          "minimum": 1,
          "maximum": 250,
          "default": 25,
          "required": false
        },
        "page_token": {
          "type": "string",
          "description": "Pagination token",
          "required": false
        }
      }
    },
    "list_recordings": {
      "description": "List recordings for a conference.",
      "properties": {
        "conference_record_name": {
          "type": "string",
          "description": "Conference record resource name",
          "required": true
        },
        "page_size": {
          "type": "integer",
          "description": "Max results per page (1-250, default 25)",
          "minimum": 1,
          "maximum": 250,
          "default": 25,
          "required": false
        },
        "page_token": {
          "type": "string",
          "description": "Pagination token",
          "required": false
        }
      }
    },
    "get_recording": {
      "description": "Get details of a specific recording.",
      "properties": {
        "recording_name": {
          "type": "string",
          "description": "Recording resource name (e.g. conferenceRecords/abc/recordings/xyz)",
          "required": true
        }
      }
    },
    "list_transcripts": {
      "description": "List transcripts for a conference.",
      "properties": {
        "conference_record_name": {
          "type": "string",
          "description": "Conference record resource name",
          "required": true
        },
        "page_size": {
          "type": "integer",
          "description": "Max results per page (1-250, default 25)",
          "minimum": 1,
          "maximum": 250,
          "default": 25,
          "required": false
        },
        "page_token": {
          "type": "string",
          "description": "Pagination token",
          "required": false
        }
      }
    },
    "get_transcript": {
      "description": "Get details of a specific transcript.",
      "properties": {
        "transcript_name": {
          "type": "string",
          "description": "Transcript resource name (e.g. conferenceRecords/abc/transcripts/xyz)",
          "required": true
        }
      }
    },
    "list_transcript_entries": {
      "description": "List individual spoken entries within a transcript with speaker, text, language, and timestamps.",
      "properties": {
        "transcript_name": {
          "type": "string",
          "description": "Transcript resource name",
          "required": true
        },
        "page_size": {
          "type": "integer",
          "description": "Max results per page (1-250, default 25)",
          "minimum": 1,
          "maximum": 250,
          "default": 25,
          "required": false
        },
        "page_token": {
          "type": "string",
          "description": "Pagination token",
          "required": false
        }
      }
    }
  },
  "properties": {
    "action": {
      "type": "string",
      "description": "Action to perform",
      "required": true,
      "enum": [
        "get_instructions",
        "create_space",
        "get_space",
        "update_space",
        "end_conference",
        "list_conference_records",
        "get_conference_record",
        "list_participants",
        "get_participant",
        "list_participant_sessions",
        "list_recordings",
        "get_recording",
        "list_transcripts",
        "get_transcript",
        "list_transcript_entries"
      ]
    },
    "space_name": {
      "type": "string",
      "description": "Space name (e.g. 'spaces/abc123') or meeting code (e.g. 'abc-mnop-xyz')",
      "required": false
    },
    "config": {
      "type": "object",
      "description": "Space configuration",
      "required": false,
      "properties": {
        "access_type": {
          "type": "string",
          "description": "OPEN=anyone joins, TRUSTED=org auto-join, RESTRICTED=invitees only",
          "required": false,
          "enum": [
            "OPEN",
            "TRUSTED",
            "RESTRICTED"
          ]
        },
        "entry_point_access": {
          "type": "string",
          "required": false,
          "enum": [
            "ALL",
            "CREATOR_APP_ONLY"
          ]
        }
      }
    },
    "conference_record_name": {
      "type": "string",
      "description": "Conference record resource name (e.g. 'conferenceRecords/abc123')",
      "required": false
    },
    "participant_name": {
      "type": "string",
      "description": "Participant resource name (e.g. 'conferenceRecords/abc/participants/xyz')",
      "required": false
    },
    "transcript_name": {
      "type": "string",
      "description": "Transcript resource name (e.g. 'conferenceRecords/abc/transcripts/xyz')",
      "required": false
    },
    "recording_name": {
      "type": "string",
      "description": "Recording resource name (e.g. 'conferenceRecords/abc/recordings/xyz')",
      "required": false
    },
    "filter": {
      "type": "string",
      "description": "Filter string for list operations",
      "required": false
    },
    "page_size": {
      "type": "integer",
      "description": "Max results per page",
      "required": false,
      "default": 25,
      "minimum": 1,
      "maximum": 250
    },
    "page_token": {
      "type": "string",
      "description": "Pagination token",
      "required": false
    }
  }
}
```

Runtime credential requirements (inject under parameters._credentials):
- google_oauth (oauth_token, required)
  help: Connect your Google account.
