8. A system comprising one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising: building an event model by identifying, from user data of one or more applications associated with a user, events related to the user; receiving a voice input from the user that includes a command to perform a specific action, the action having a plurality of parameters, and each parameter specifying information necessary to perform the action; determining whether the voice input includes sufficient information to perform the action; in response to determining that the voice input does not include sufficient information to perform the action, identifying one or more missing parameters from the voice input required to perform the action; identifying, using the event model, one or more current or future events related to the user that are relevant to the action, wherein each current or future event either is (i) currently occurring relative to a time when the voice input was received or (ii) will occur in the future relative to the time when the voice input was received; customizing the action based on the one or more current or future events, comprising assigning values to one or more of the identified missing parameters of the action based on data associated with the one or more current or future events; and performing the customized action in response to the voice input.
9. The system of claim 8 , the event model further comprising: comprises structured collection of data and relationships associated with current or future events, wherein the data is indicative of people, places, and times associated with the events.