OtherGoogle Weather Integration
Other

Google Weather Integration

Google Weather API client for retrieving current conditions, forecasts, air quality, pollen data, and sun/moon information for any location. Supports both coordinate-based and place-based lookups.

Google Weather

Category: Other
Provider Key: googleWeather

Google Weather API client for retrieving current conditions, forecasts, air quality, pollen data, and sun/moon information for any location. Supports both coordinate-based and place-based lookups.


Configuration

To use Google Weather in your project, add it to your project integrations and provide the following configuration:

ParameterTypeRequiredDescription
apiKeystringYesGoogle Cloud API key with Weather API enabled
baseUrlstringNoBase URL override
timeoutnumberNoRequest timeout in milliseconds
languageCodestringNoDefault BCP-47 language code for responses
unitsSystemstringNoDefault unit system

Example Configuration

{
  "provider": "googleWeather",
  "configuration": [
    { "name": "apiKey", "value": "your-apiKey" },
    { "name": "baseUrl", "value": "your-baseUrl" },
    { "name": "timeout", "value": 0 },
    { "name": "languageCode", "value": "your-languageCode" },
    { "name": "unitsSystem", "value": "your-unitsSystem" }
  ]
}

Available Methods

Quick reference:

  • CurrentConditions: getCurrentConditions
  • Forecast: getHourlyForecast, getDailyForecast
  • AirQuality: getCurrentAirQuality, getHourlyAirQuality, getAirQualityHistory
  • Pollen: getPollenForecast
  • Astronomy: getSunEvents
  • Alerts: getSevereWeatherAlerts
  • Maps: getWeatherMapTileUrl
  • Reports: getFullWeatherReport, getWeatherByAddress, getEnvironmentalReport

CurrentConditions

getCurrentConditions

Get Current Conditions

Retrieves the current weather conditions for a given geographic location. Returns temperature, humidity, wind speed, UV index, visibility, and more.

Parameters:

ParameterTypeRequiredDescription
latitudenumberYesLatitude of the location (-90 to 90)
longitudenumberYesLongitude of the location (-180 to 180)
languageCodestringNoBCP-47 language code override
unitsSystemstringNoUnit system override

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getCurrentConditionsAction",
  "provider": "googleWeather",
  "action": "getCurrentConditions",
  "parameters": [
    { "parameterName": "latitude", "parameterValue": "0" },
    { "parameterName": "longitude", "parameterValue": "0" },
    { "parameterName": "languageCode", "parameterValue": "'your-languageCode'" },
    { "parameterName": "unitsSystem", "parameterValue": "'your-unitsSystem'" }
  ],
  "contextPropertyName": "getCurrentConditionsResult"
}

MScript example:

await _googleWeather.getCurrentConditions({
  latitude: /* number */,
  longitude: /* number */,
  languageCode: /* string */,
  unitsSystem: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleWeather");
const result = await client.getCurrentConditions({
  latitude: /* number */,
  longitude: /* number */,
  languageCode: /* string */,
  unitsSystem: /* string */,
});

Forecast

getHourlyForecast

Get Hourly Forecast

Retrieves an hourly weather forecast for up to 240 hours (10 days) ahead. Returns temperature, precipitation probability, wind, and sky conditions per hour.

Parameters:

ParameterTypeRequiredDescription
latitudenumberYesLatitude of the location
longitudenumberYesLongitude of the location
hoursnumberNoNumber of hours to forecast (1–240)
languageCodestringNoBCP-47 language code override
unitsSystemstringNoUnit system override

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getHourlyForecastAction",
  "provider": "googleWeather",
  "action": "getHourlyForecast",
  "parameters": [
    { "parameterName": "latitude", "parameterValue": "0" },
    { "parameterName": "longitude", "parameterValue": "0" },
    { "parameterName": "hours", "parameterValue": "0" },
    { "parameterName": "languageCode", "parameterValue": "'your-languageCode'" },
    { "parameterName": "unitsSystem", "parameterValue": "'your-unitsSystem'" }
  ],
  "contextPropertyName": "getHourlyForecastResult"
}

MScript example:

await _googleWeather.getHourlyForecast({
  latitude: /* number */,
  longitude: /* number */,
  hours: /* number */,
  languageCode: /* string */,
  unitsSystem: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleWeather");
const result = await client.getHourlyForecast({
  latitude: /* number */,
  longitude: /* number */,
  hours: /* number */,
  languageCode: /* string */,
  unitsSystem: /* string */,
});

getDailyForecast

Get Daily Forecast

Retrieves a daily weather forecast for up to 10 days. Returns high/low temperatures, precipitation totals, and a daily summary.

Parameters:

ParameterTypeRequiredDescription
latitudenumberYesLatitude of the location
longitudenumberYesLongitude of the location
daysnumberNoNumber of days to forecast (1–10)
languageCodestringNoBCP-47 language code override
unitsSystemstringNoUnit system override

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getDailyForecastAction",
  "provider": "googleWeather",
  "action": "getDailyForecast",
  "parameters": [
    { "parameterName": "latitude", "parameterValue": "0" },
    { "parameterName": "longitude", "parameterValue": "0" },
    { "parameterName": "days", "parameterValue": "0" },
    { "parameterName": "languageCode", "parameterValue": "'your-languageCode'" },
    { "parameterName": "unitsSystem", "parameterValue": "'your-unitsSystem'" }
  ],
  "contextPropertyName": "getDailyForecastResult"
}

MScript example:

await _googleWeather.getDailyForecast({
  latitude: /* number */,
  longitude: /* number */,
  days: /* number */,
  languageCode: /* string */,
  unitsSystem: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleWeather");
const result = await client.getDailyForecast({
  latitude: /* number */,
  longitude: /* number */,
  days: /* number */,
  languageCode: /* string */,
  unitsSystem: /* string */,
});

AirQuality

getCurrentAirQuality

Get Current Air Quality

Retrieves current air quality index (AQI) and pollutant details for a location. Supports multiple index standards (US EPA, EAQI, CAQI, UBA, etc.).

Parameters:

ParameterTypeRequiredDescription
latitudenumberYesLatitude of the location
longitudenumberYesLongitude of the location
includePollutantsbooleanNoInclude individual pollutant concentrations
includeHealthRecommendationsbooleanNoInclude health recommendations
extraComputationsstring[]NoAdditional computed fields to include
languageCodestringNoBCP-47 language code override

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getCurrentAirQualityAction",
  "provider": "googleWeather",
  "action": "getCurrentAirQuality",
  "parameters": [
    { "parameterName": "latitude", "parameterValue": "0" },
    { "parameterName": "longitude", "parameterValue": "0" },
    { "parameterName": "includePollutants", "parameterValue": "true" },
    { "parameterName": "includeHealthRecommendations", "parameterValue": "true" },
    { "parameterName": "extraComputations", "parameterValue": "[]" },
    { "parameterName": "languageCode", "parameterValue": "'your-languageCode'" }
  ],
  "contextPropertyName": "getCurrentAirQualityResult"
}

MScript example:

await _googleWeather.getCurrentAirQuality({
  latitude: /* number */,
  longitude: /* number */,
  includePollutants: /* boolean */,
  includeHealthRecommendations: /* boolean */,
  extraComputations: /* string[] */,
  languageCode: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleWeather");
const result = await client.getCurrentAirQuality({
  latitude: /* number */,
  longitude: /* number */,
  includePollutants: /* boolean */,
  includeHealthRecommendations: /* boolean */,
  extraComputations: /* string[] */,
  languageCode: /* string */,
});

getHourlyAirQuality

Get Hourly Air Quality Forecast

Retrieves hourly air quality history or forecast data for a location. Returns AQI values and pollutant breakdown per hour.

Parameters:

ParameterTypeRequiredDescription
latitudenumberYesLatitude of the location
longitudenumberYesLongitude of the location
hoursnumberNoNumber of forecast hours (1–96)
includePollutantsbooleanNoInclude pollutant concentrations
languageCodestringNoBCP-47 language code override

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getHourlyAirQualityAction",
  "provider": "googleWeather",
  "action": "getHourlyAirQuality",
  "parameters": [
    { "parameterName": "latitude", "parameterValue": "0" },
    { "parameterName": "longitude", "parameterValue": "0" },
    { "parameterName": "hours", "parameterValue": "0" },
    { "parameterName": "includePollutants", "parameterValue": "true" },
    { "parameterName": "languageCode", "parameterValue": "'your-languageCode'" }
  ],
  "contextPropertyName": "getHourlyAirQualityResult"
}

MScript example:

await _googleWeather.getHourlyAirQuality({
  latitude: /* number */,
  longitude: /* number */,
  hours: /* number */,
  includePollutants: /* boolean */,
  languageCode: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleWeather");
const result = await client.getHourlyAirQuality({
  latitude: /* number */,
  longitude: /* number */,
  hours: /* number */,
  includePollutants: /* boolean */,
  languageCode: /* string */,
});

getAirQualityHistory

Get Air Quality History

Retrieves historical air quality data for the past 30 days for a location. Useful for trend analysis and health impact assessments.

Parameters:

ParameterTypeRequiredDescription
latitudenumberYesLatitude of the location
longitudenumberYesLongitude of the location
startTimestringYesISO 8601 start datetime (e.g., "2024-01-01T00:00:00Z")
endTimestringYesISO 8601 end datetime
includePollutantsbooleanNoInclude pollutant concentrations
languageCodestringNoBCP-47 language code override

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getAirQualityHistoryAction",
  "provider": "googleWeather",
  "action": "getAirQualityHistory",
  "parameters": [
    { "parameterName": "latitude", "parameterValue": "0" },
    { "parameterName": "longitude", "parameterValue": "0" },
    { "parameterName": "startTime", "parameterValue": "'your-startTime'" },
    { "parameterName": "endTime", "parameterValue": "'your-endTime'" },
    { "parameterName": "includePollutants", "parameterValue": "true" },
    { "parameterName": "languageCode", "parameterValue": "'your-languageCode'" }
  ],
  "contextPropertyName": "getAirQualityHistoryResult"
}

MScript example:

await _googleWeather.getAirQualityHistory({
  latitude: /* number */,
  longitude: /* number */,
  startTime: /* string */,
  endTime: /* string */,
  includePollutants: /* boolean */,
  languageCode: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleWeather");
const result = await client.getAirQualityHistory({
  latitude: /* number */,
  longitude: /* number */,
  startTime: /* string */,
  endTime: /* string */,
  includePollutants: /* boolean */,
  languageCode: /* string */,
});

Pollen

getPollenForecast

Get Pollen Forecast

Retrieves daily pollen forecast data for a location including grass, tree, and weed levels. Returns index values, risk categories, and plant-level breakdown.

Parameters:

ParameterTypeRequiredDescription
latitudenumberYesLatitude of the location
longitudenumberYesLongitude of the location
daysnumberNoNumber of forecast days (1–5)
includePlantInfobooleanNoInclude per-plant pollen details
languageCodestringNoBCP-47 language code override

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getPollenForecastAction",
  "provider": "googleWeather",
  "action": "getPollenForecast",
  "parameters": [
    { "parameterName": "latitude", "parameterValue": "0" },
    { "parameterName": "longitude", "parameterValue": "0" },
    { "parameterName": "days", "parameterValue": "0" },
    { "parameterName": "includePlantInfo", "parameterValue": "true" },
    { "parameterName": "languageCode", "parameterValue": "'your-languageCode'" }
  ],
  "contextPropertyName": "getPollenForecastResult"
}

MScript example:

await _googleWeather.getPollenForecast({
  latitude: /* number */,
  longitude: /* number */,
  days: /* number */,
  includePlantInfo: /* boolean */,
  languageCode: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleWeather");
const result = await client.getPollenForecast({
  latitude: /* number */,
  longitude: /* number */,
  days: /* number */,
  includePlantInfo: /* boolean */,
  languageCode: /* string */,
});

Astronomy

getSunEvents

Get Sun Events

Retrieves sunrise, sunset, solar noon, and daylight duration for a location and date. Also includes twilight times (civil, nautical, astronomical).

Parameters:

ParameterTypeRequiredDescription
latitudenumberYesLatitude of the location
longitudenumberYesLongitude of the location
datestringNoISO date string (YYYY-MM-DD); defaults to today
languageCodestringNoBCP-47 language code override
unitsSystemstringNoUnit system override

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getSunEventsAction",
  "provider": "googleWeather",
  "action": "getSunEvents",
  "parameters": [
    { "parameterName": "latitude", "parameterValue": "0" },
    { "parameterName": "longitude", "parameterValue": "0" },
    { "parameterName": "date", "parameterValue": "'your-date'" },
    { "parameterName": "languageCode", "parameterValue": "'your-languageCode'" },
    { "parameterName": "unitsSystem", "parameterValue": "'your-unitsSystem'" }
  ],
  "contextPropertyName": "getSunEventsResult"
}

MScript example:

await _googleWeather.getSunEvents({
  latitude: /* number */,
  longitude: /* number */,
  date: /* string */,
  languageCode: /* string */,
  unitsSystem: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleWeather");
const result = await client.getSunEvents({
  latitude: /* number */,
  longitude: /* number */,
  date: /* string */,
  languageCode: /* string */,
  unitsSystem: /* string */,
});

Alerts

getSevereWeatherAlerts

Get Severe Weather Alerts

Retrieves any active severe weather alerts for a given location. Returns alert type, severity, urgency, headline, and affected area description.

Parameters:

ParameterTypeRequiredDescription
latitudenumberYesLatitude of the location
longitudenumberYesLongitude of the location
languageCodestringNoBCP-47 language code override
unitsSystemstringNoUnit system override

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getSevereWeatherAlertsAction",
  "provider": "googleWeather",
  "action": "getSevereWeatherAlerts",
  "parameters": [
    { "parameterName": "latitude", "parameterValue": "0" },
    { "parameterName": "longitude", "parameterValue": "0" },
    { "parameterName": "languageCode", "parameterValue": "'your-languageCode'" },
    { "parameterName": "unitsSystem", "parameterValue": "'your-unitsSystem'" }
  ],
  "contextPropertyName": "getSevereWeatherAlertsResult"
}

MScript example:

await _googleWeather.getSevereWeatherAlerts({
  latitude: /* number */,
  longitude: /* number */,
  languageCode: /* string */,
  unitsSystem: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleWeather");
const result = await client.getSevereWeatherAlerts({
  latitude: /* number */,
  longitude: /* number */,
  languageCode: /* string */,
  unitsSystem: /* string */,
});

Maps

getWeatherMapTileUrl

Get Weather Map Tile URL

Generates a weather map tile URL for visualization overlays (e.g., radar, temperature). Returns a tile URL that can be embedded into mapping applications.

Parameters:

ParameterTypeRequiredDescription
mapTypestringYesType of weather map layer (e.g., "RADAR", "TEMPERATURE", "WIND_SPEED")
zoomnumberYesMap zoom level (0–22)
xnumberYesTile X coordinate
ynumberYesTile Y coordinate
sessionTokenstringNoOptionally pass a pre-existing session token

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getWeatherMapTileUrlAction",
  "provider": "googleWeather",
  "action": "getWeatherMapTileUrl",
  "parameters": [
    { "parameterName": "mapType", "parameterValue": "'your-mapType'" },
    { "parameterName": "zoom", "parameterValue": "0" },
    { "parameterName": "x", "parameterValue": "0" },
    { "parameterName": "y", "parameterValue": "0" },
    { "parameterName": "sessionToken", "parameterValue": "'your-sessionToken'" }
  ],
  "contextPropertyName": "getWeatherMapTileUrlResult"
}

MScript example:

await _googleWeather.getWeatherMapTileUrl({
  mapType: /* string */,
  zoom: /* number */,
  x: /* number */,
  y: /* number */,
  sessionToken: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleWeather");
const result = await client.getWeatherMapTileUrl({
  mapType: /* string */,
  zoom: /* number */,
  x: /* number */,
  y: /* number */,
  sessionToken: /* string */,
});

Reports

getFullWeatherReport

Get Full Weather Report

Retrieves a comprehensive weather report combining current conditions and a 5-day daily forecast for a single location in one call.

Parameters:

ParameterTypeRequiredDescription
latitudenumberYesLatitude of the location
longitudenumberYesLongitude of the location
forecastDaysnumberNoNumber of forecast days (1–10)
forecastHoursnumberNoNumber of forecast hours (1–240)
languageCodestringNoBCP-47 language code override
unitsSystemstringNoUnit system override

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getFullWeatherReportAction",
  "provider": "googleWeather",
  "action": "getFullWeatherReport",
  "parameters": [
    { "parameterName": "latitude", "parameterValue": "0" },
    { "parameterName": "longitude", "parameterValue": "0" },
    { "parameterName": "forecastDays", "parameterValue": "0" },
    { "parameterName": "forecastHours", "parameterValue": "0" },
    { "parameterName": "languageCode", "parameterValue": "'your-languageCode'" },
    { "parameterName": "unitsSystem", "parameterValue": "'your-unitsSystem'" }
  ],
  "contextPropertyName": "getFullWeatherReportResult"
}

MScript example:

await _googleWeather.getFullWeatherReport({
  latitude: /* number */,
  longitude: /* number */,
  forecastDays: /* number */,
  forecastHours: /* number */,
  languageCode: /* string */,
  unitsSystem: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleWeather");
const result = await client.getFullWeatherReport({
  latitude: /* number */,
  longitude: /* number */,
  forecastDays: /* number */,
  forecastHours: /* number */,
  languageCode: /* string */,
  unitsSystem: /* string */,
});

getWeatherByAddress

Get Weather by Address

Looks up weather data for a named place or address using the Geocoding API, then retrieves current conditions for the resolved coordinates.

Parameters:

ParameterTypeRequiredDescription
addressstringYesFree-form address or place name (e.g., "Tokyo, Japan")
languageCodestringNoBCP-47 language code override
unitsSystemstringNoUnit system override

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getWeatherByAddressAction",
  "provider": "googleWeather",
  "action": "getWeatherByAddress",
  "parameters": [
    { "parameterName": "address", "parameterValue": "'your-address'" },
    { "parameterName": "languageCode", "parameterValue": "'your-languageCode'" },
    { "parameterName": "unitsSystem", "parameterValue": "'your-unitsSystem'" }
  ],
  "contextPropertyName": "getWeatherByAddressResult"
}

MScript example:

await _googleWeather.getWeatherByAddress({
  address: /* string */,
  languageCode: /* string */,
  unitsSystem: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleWeather");
const result = await client.getWeatherByAddress({
  address: /* string */,
  languageCode: /* string */,
  unitsSystem: /* string */,
});

getEnvironmentalReport

Get Environmental Report

Retrieves a combined environmental quality snapshot including air quality and pollen forecast for a location. Useful for health-sensitive applications.

Parameters:

ParameterTypeRequiredDescription
latitudenumberYesLatitude of the location
longitudenumberYesLongitude of the location
pollenDaysnumberNoNumber of days for pollen forecast
languageCodestringNoBCP-47 language code override

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getEnvironmentalReportAction",
  "provider": "googleWeather",
  "action": "getEnvironmentalReport",
  "parameters": [
    { "parameterName": "latitude", "parameterValue": "0" },
    { "parameterName": "longitude", "parameterValue": "0" },
    { "parameterName": "pollenDays", "parameterValue": "0" },
    { "parameterName": "languageCode", "parameterValue": "'your-languageCode'" }
  ],
  "contextPropertyName": "getEnvironmentalReportResult"
}

MScript example:

await _googleWeather.getEnvironmentalReport({
  latitude: /* number */,
  longitude: /* number */,
  pollenDays: /* number */,
  languageCode: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleWeather");
const result = await client.getEnvironmentalReport({
  latitude: /* number */,
  longitude: /* number */,
  pollenDays: /* number */,
  languageCode: /* string */,
});