Invoke v0.3.0+
Calls another Inngest function, waits for its completion, and returns its output.
Arguments
- Name
 step_id- Type
 - str
 - Required
 - required
 - Description
 Step ID. Should be unique within the function.
- Name
 function- Type
 - Function
 - Required
 - required
 - Description
 Invoked function.
- Name
 data- Type
 - object
 - Required
 - optional
 - Description
 JSON-serializable data that will be passed to the invoked function as
event.data.
- Name
 user- Type
 - object
 - Required
 - optional
 - Description
 JSON-serializable data that will be passed to the invoked function as
event.user.
Examples
@inngest_client.create_function(
    fn_id="fn-1",
    trigger=inngest.TriggerEvent(event="app/fn-1"),
)
async def fn_1(
    ctx: inngest.Context,
    step: inngest.Step,
) -> None:
    return "Hello!"
@inngest_client.create_function(
    fn_id="fn-2",
    trigger=inngest.TriggerEvent(event="app/fn-2"),
)
async def fn_2(
    ctx: inngest.Context,
    step: inngest.Step,
) -> None:
    output = await step.invoke(
        "invoke",
        function=fn_1,
    )
    # Prints "Hello!"
    print(output)
💡 step.invoke works within a single app or across apps, since the app ID is built into the function object.