https://linen.dev logo
Google Calendar invalid schema
# 🖥│support-forum
p
Hi! I am getting the following error using google-adk, composio-google-adk[0.10.4] and google calendar toolkit version 20260110_00: google.genai.errors.ClientError: 400 INVALID_ARGUMENT. {'error': {'code': 400, 'message': 'Unable to submit request because
GOOGLECALENDAR_GET_CURRENT_DATE_TIME
functionDeclaration
parameters.timezone
schema specified other fields alongside any_of. When using any_of, it must be the only field set. Learn more: https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling', 'status': 'INVALID_ARGUMENT'}} I have tried downgrading the google calendar toolkit but that just makes composio return an empty list for the toolkit. Any ideas what is wrong?
I tested again and managed to get a list of tools using the 20251217_00 version of google calendar toolkit. It seems the schema is invalid in 20260110_00 for the timezone parameter, as per the error message. This is the declaration of the 20251217_00 version:
Copy code
FunctionDeclaration(
  description="""Gets the current date and time, allowing for a specific timezone offset.
Args:
    timezone: Timezone specification. Accepts either: (1) IANA timezone identifier (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London') - RECOMMENDED, or (2) Numeric UTC offset in hours (e.g., -5, 5.5). Use positive values for east of UTC, negative for west. Examples: 'America/New_York', 'Asia/Tokyo', 'Europe/Paris', or numeric: -5, 9, 5.5. Default 0 is UTC. Please provide a value of type string.
Returns:
    A dictionary containing response from the action""",
  name='GOOGLECALENDAR_GET_CURRENT_DATE_TIME',
  parameters=Schema(
    properties={
      'timezone': Schema(
        type=<Type.STRING: 'STRING'>
      )
    },
    required=[
      'timezone',
    ],
    type=<Type.OBJECT: 'OBJECT'>
  ),
  response=Schema()
And the declaration of the 20260110_00 version:
Copy code
FunctionDeclaration(
  description="""Gets the current date and time, allowing for a specific timezone offset.
Args:
    timezone: Timezone specification. Accepts: (1) IANA timezone identifier (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London') - RECOMMENDED, (2) Common timezone abbreviations (e.g., 'PST', 'EST', 'CST', 'GMT', 'UTC') - will be auto-converted to IANA, or (3) Numeric UTC offset in hours (e.g., -5, 5.5). Use positive values for east of UTC, negative for west. Default 0 is UTC.
Returns:
    A dictionary containing response from the action""",
  name='GOOGLECALENDAR_GET_CURRENT_DATE_TIME',
  parameters=Schema(
    properties={
      'timezone': Schema(
        any_of=[
          Schema(
            type=<Type.STRING: 'STRING'>
          ),
          Schema(
            type=<Type.NUMBER: 'NUMBER'>
          ),
        ],
        type=<Type.OBJECT: 'OBJECT'>
      )
    },
    required=[
      'timezone',
    ],
    type=<Type.OBJECT: 'OBJECT'>
  ),
  response=Schema()
)
Looks like type should not be set when any_of is set?
u
Hey @Pontus, thanks for flagging this! We were able to reproduce the issue and have escalated it. I'll keep you updated on the fix.
p
Hey! Any news on this? 🙂
u
Hey @Pontus, really sorry for the delay, team is currently working on a fix and I'll update you as soon as it's fixed! Thanks for understanding!
2 Views