conv.utils property provides helper methods for extracting and validating information from the most recent user input during a conversation. These helpers are LLM-powered and return typed objects you can store in conv.state or use in your logic.
These utilities are opt-in and may not be enabled in your workspace. Contact your admin to request access.
extract_address
Extract a structured postal address from the latest user turn. Optionally validate against a list of known addresses.
addresses: Optional list ofAddressobjects to match against. Street name must be specified for each address.country: Optional country code to filter on (default"US").
- An
Addressinstance with available fields populated. Some fields may beNoneif not provided.
ExtractionErrorif parsing fails.
extract_city
Extract a valid city name (and optionally state/country) from the latest user turn.
city_spellings: Optional list of spelled-out city names to match.states: Optional list of states to filter on.country: Optional country code to filter on (default"US").
- An
Addressinstance where thecityfield is populated; other fields may beNone.
ExtractionErrorif parsing fails.
Address type
Both utilities return the same Address type:
prompt_llm
Perform a standalone LLM request with a given prompt. Useful for summarizing conversations or extracting specific information.
prompt(str): The system-level prompt containing instructions for the model.show_history(bool, optional): Whether to include conversation history in the request. DefaultFalse.return_json(bool, optional): Whether to return the response as a parsed JSON dict. DefaultFalse.model(str, optional): The LLM to use. Default"gpt-4o". Available options:"gpt-4o"– GPT-4o (default, balanced performance)"gpt-4o-mini"– GPT-4o Mini (faster, lower cost)"gpt-4.1","gpt-4.1-mini","gpt-4.1-nano"– GPT-4.1 series"claude-sonnet-4"– Claude Sonnet 4"claude-3.5-haiku"– Claude 3.5 Haiku (fast)
strordict: The LLM response, parsed as JSON ifreturn_json=True.
NotImplementedErrorif the feature is not enabled for your account.ChatCompletionErrorif the request fails.
validate_entity
Validate an entity value against a configuration schema.
value(str): The value to validate.entity_config(EntityConfig): Configuration for the entity type. Available configs:conv.utils.EmailConfig()conv.utils.PhoneNumberConfig()conv.utils.DateConfig()conv.utils.TimeConfig()conv.utils.NumericConfig()conv.utils.CurrencyConfig()conv.utils.NameConfig()conv.utils.AlphanumericConfig()conv.utils.EnumConfig()conv.utils.FreeTextConfig()
EntityValidationResponsewithis_valid,normalized_value, and validation details.
geocode_address
Geocode a full address string using configured mapping services.
full_address(str): The complete address string to geocode.provider(str, optional): Geocoding provider ("google_maps"or"mapbox"). Default"google_maps".
- An
Addressinstance with coordinates inother_fieldsif available.
This feature requires legal approval and is currently restricted to specific projects.
extract_and_geocode_address
Extract a full address from the latest user input and geocode it in a single operation.
country(str, optional): Country code to bias extraction/geocoding. Default"US".postcodes(list[str], optional): Candidate postcodes to bias extraction.biases(list[str], optional): Nearby or full addresses to bias extraction.provider(str, optional): Geocoding provider. Default"google_maps".
- A fully geocoded
Addresswith coordinates inother_fieldsif provided.
This feature requires legal approval and is currently restricted to specific projects.
Notes
- Latency: Each method may take a few seconds to complete due to LLM processing.
- Validation: Providing allowed values (addresses, city spellings, or states) can improve accuracy.
- Scope: Operates on the most recent user input, including alternate transcript hypotheses.
See also
convobject — full list of conversation methods and attributes.

