> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flowforma.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FlowContext and FormContext

> Understand when to use FormContext inside a running FlowForma form versus FlowContext in the Flow Designer to find steps and questions correctly.

Something that is used a lot in FlowForma are functions for finding Steps and Questions, and these functions are called differently depending on whether you're in a form, or using the Flow Designer.

As you might have guessed, the FormContext is used when you are inside of a form and want to reference a step or question and FlowContext if you're using the Flow Designer.

To clarify this further,

If you are executing a rule in a form, ie on question updated...the rule will need to call the functions using the FormContext

If you are adding the rule to a question in the Flow Designer when building the process, you need to call the functions using the FlowContext.

## Examples

### Forms

FlowForma.**FormContext**.[GetQuestionByPickerValue](/developers/useful-flowforma-functions/getquestionbypickervalue)()

FlowForma.**FormContext**.[GetStepByStepCode](/developers/useful-flowforma-functions/getstepbystepcode)()

### Flows

FlowForma.**FlowContext**.GetQuestionByPickerValue()

FlowForma.**FlowContext**.GetStepByStepCode()

<Info>
  It is important to use the correct context because for example a step or question may be hidden on the form and using the Flow Context here may return a hidden step or question, whereas in the Flow Designer all the steps/questions are visible so here you would use the FlowContext.
</Info>

You can learn more about the functions here.
